Ask HN: What is the origin of the term "edge case"?
For reasons, I've become interested in the background to the term "edge case". I'd presumed it was old school engineering terminology that had been ported over to software.
But searching on Google Books etc. all the uses that fit the modern meaning are related to programming/software testing, and even those examples are relatively recent.
Is this correct or am I missing something?
8 comments
[ 2.3 ms ] story [ 23.3 ms ] threadsuggests it's a low-dimension version of "corner case", which I believe comes from aerospace*. (both spike in 1947-1957, which, albeit possible, seems early for a software origin)
* compare "coffin corner": https://books.google.com/ngrams/graph?content=corner+case%2C...
The ones that related to aerospace seemed to refer to leading edge and trailing edge which doesn't seem to fit the modern meaning?
EDIT: or maybe not? they seem to be literally "edge" and "corner" cases (of slabs, not in parameter space)
(...and "coffin corner" appears to have been from american football before aerospace?)
(I found this by searching for the terms "edge case" and "flight envelope" together.)
Also, the Wikipedia "corner case" article talks about how this terminology relates to the flight envelope metaphor:
> The term "corner case" comes about by physical analogy with "edge case" as an extension of the "flight envelope" metaphor to a set of testing conditions whose boundaries are determined by the 2^n combinations of extreme (minimum and maximum) values for the number n of variables being tested, i.e., the total parameter space for those variables. Where an edge case involves pushing one variable to a minimum or maximum, putting users at the "edge" of the configuration space, a corner case involves doing so with multiple variables, which would put users at a "corner" of a multidimensional configuration space.
https://en.wikipedia.org/wiki/Corner_case
You've given good examples of what I am finding myself... your Researchgate link is indeed aeronautical, but is also a software machine learning related paper from 2023. So unfortunately doesn't prove this doesn't come from the modern software usage rather than the other direction.
And when I read the second Wikipedia entry previously I'd hoped to see an attribution... So could very well be correct, just there is no reference to look up.