Hacker News new | ask | show | jobs
by marginalia_nu 1558 days ago
I don't think it's entirely technological limitation. More often than not, the discovery of bugs is increased understanding of what we require from the code. We often say a code is buggy when it surprises us in some fashion, then we tacitly invent a new requirement we say it has violated.

If you have a function

  F(signed int32 n) -> (signed int32 A, signed int32 B) 
that returns two integers (A, B) so that

  A*B = n
and we discover that F(2) -> (-2, 2147483647), which is entirely correct in a language that permits integer overflow; then we call it a bug because A and B must be smaller than n (or whatever). This was not a requirement until the bug was discovered.