Reasoning about programs is mostly deduction: the reasoning from the abstract model to the concrete run. Deduction is useful because it allows us to predict properties of future runs - up to the point that a program will never fail its specification. However, even such a 100% correct program may still show a problem: the specification itself may be problematic, or deduction required us to abstract away some relevant property. To handle such problems, deduction is not the right answer -especially in a world where programs reach a complexity that makes them indistinguishable from natural phenomena. Instead, we should enrich our portfolio by methods proven in natural sciences, such as observation, induction, and in particular experimentation. In my talk, I will show how systematic experimentation automatically reveals the causes of program failures - in the input, in the program state, or in the program code. © Springer-Verlag Berlin Heidelberg 2005.
CITATION STYLE
Zeller, A. (2005). When abstraction fails. In Lecture Notes in Computer Science (Vol. 3443, pp. 1–9). Springer Verlag. https://doi.org/10.1007/978-3-540-31985-6_1
Mendeley helps you to discover research relevant for your work.