abstract interpretation analytical engine anti-pattern arithmetic overflow arithmetic precision arithmetic underflow bit rot buffer overflow bug tracking system charles babbage compiler computer weekly computer program computer programming deadlock debugger debugging defensive programming elias levy ellen ullman european space agency fadec failure gnu classpath glitch grace hopper halting problem handle leak harcourt harvard mark ii house of lords hyphen infinite loop logic error malware maurice wilkes mediawiki memory leak nancy leveson national institute of standards and technology national museum of american history nuclear warfare numerical stability off-by-one error oxford english dictionary programming language programming style race condition radiation therapy recursion rounding sloc software assurance technology center software architecture software engineering software regression source code static code analysis the cathedral and the bazaar thomas edison type conversion type system uncertainty principle uninitialized variable unusual software bug workaround