Abstract
The notion of program verification appears to trade upon an equivocation. Algorithms, as logical structures, are appropriate subjects for deductive verification. Programs, as causal models of those structures, are not. The success of program verification as a generally applicable and completely reliable method for guaranteeing program performance is not even a theoretical possibility.
- 1 Benacerra~ P. and Putnam, H., Eds. Philosophy of Mathematics: Selected Readings. Prentice-Hall, Englewood Cliffs, N.J. 1964.Google Scholar
- 2 Black, M. Induction. The Encyclopedia of Philosophy, vol. 4, Edwards, P., Editor-in-Chief. Macmillan, New York, 1967, pp. 169-181.Google Scholar
- 3 Blumberg, A. Logic, modern, The Encyclopedia of Philosophy, vol. 5, Edwards, P., Editor-in-Ghie~ Macmillan, New York, 1967, pp. 12-34.Google Scholar
- 4 Bochner, S. The Role of Mathematics in the Rise of Science. Princeton Univ. Press, Princeton, N.J. 1966.Google Scholar
- 5 Cerutti, E. and Davis, P. Formac meets Pappus. Am. Math. Monthly 76 (1969), 895-904.Google Scholar
- 6 Church, A. Logistic system. Dictionary of Philosophy. Runes, D., Ed. Littlefield, Adams & Co., Ames, Iowa, 1959, pp. 182-183.Google Scholar
- 7 Dancy, J. An Introduction to Contemporary Epistemology. Blackwell, Oxford, 1985.Google Scholar
- 8 DeMillo, R., Lipton, R. and Perlis, A. Social processes and proofs of theorems and programs. Commun. ACM 22, 5 (May 1979), 271-280. Google ScholarDigital Library
- 9 Detlefsen, M. and Luker, M. The four-color theorem and mathematical proof. J. Philos. 77, 12 (December 1980), 803-820.Google ScholarCross Ref
- 10 Dijkstra, E. W. A Discipline of Programming. Prentice-Hall, Englewood Cliffs, N.J., 1976. Google ScholarDigital Library
- 11 Fetzer, J. H. Scientific Knowledge. Reidel, Dordrecht, Holland, 1981.Google Scholar
- 12 Fetzer, J. H. Signs and minds: An introduction to the theory of semiotic systems. In Aspects of Artificial Intelligence, Fetzer, J., Ed. Kluwer, Dordrecht/Boston/London/Tokyo, 1988, pp. 133-161.Google Scholar
- 13 Glazer, D. Letter to the editor. Commun. ACM 22, 11 (November 1979), 621.Google Scholar
- 14 Hacking, I. Slightly more realistic personal probabilities. Philos. Sci. 34, 4 (December 1967), 311-325.Google ScholarCross Ref
- 15 Heise, D. R. Causal Analysis. Wiley, New York, 1975.Google Scholar
- 16 Hempel, C. G. On the nature of mathematical truth. In Readings in Philosophical Analysis, Feigl, H. and Sellars, W., Eds. Appleton- Century-Crofts, New York, 1949, pp. 222-237.Google Scholar
- 17 Hempel, C. G. Geometry and empirical science. In Readings in Philosophical Analysis, Feigl, H. and Sellars, W., Eds. Appleton-Century- Crofts, New York, 1949, pp. 238-249.Google Scholar
- 18 Hesse, M. Models and Analogies in Science. Univ. of Notre Dame Press, Notre Dame, Ind., 1966.Google Scholar
- 19 Hoare, C. A. R. An axiomatic basis for computer programming. Commun. ACM 12 (1969), 576-580, 583. Google ScholarDigital Library
- 20 Hoare, C. A. R. Mathematics of programming. BYTE (August 1986), 115-149.Google Scholar
- 21 Holt, R. Design goals for the Turing programming language. Technical Report GSRI-187 (Aug. 1986), Computer Systems Research Institute, Univ. of Toronto.Google Scholar
- 22 Kling, R. Defining the boundaries of computing across complex organizations. In Critical Issues in Information Systems. Boland, R. and Hirschheim, R. (Eds.). Wiley, New York, 1987. Google ScholarDigital Library
- 23 Kuhn, T. S. The Structure of Scientific Revolutions, 2d ed. Univ. of Chicago Press, Chicago, 1970.Google Scholar
- 24 Lakatos, I. Proofs and Refutations. Cambridge Univ. Press, Cambridge, U.K., 1976.Google Scholar
- 25 Lakatos, I., and Musgrave, A., Eds. Criticism and the Growth of Knowledge. Cambridge Univ. Press, Cambridge, U.K., 1970.Google Scholar
- 26 Lamport, L. Letter to the editor. Commun. ACM 22, 11 (November 1979), 624.Google ScholarDigital Library
- 27 Marcotty, M. and Ledgard, H. Programming Language Landscape: Syntax/Semantics/Implementations, 2d ed. Science Research Associates, Chicago, 1986. Google ScholarDigital Library
- 28 Maurer, W. D. Letter to the editor, Commun. ACM 22, 11 (November 1979), 625-629.Google Scholar
- 29 Michalos, A. Principles of Logic. Prentice-Hall, Englewood Cliffs, N.J., 1969.Google Scholar
- 30 Moor, J. H. The pseudorealization fallacy and the Chinese room. In Aspects of Artificial Intelligence. Fetzer, J. Ed. Kluwer, Dordrecht/ Boston/London/Tokyo, 1988, pp. 35-53.Google Scholar
- 31 Pagels, H. The Cosmic Code. Simon & Schuster, New York, 1982.Google Scholar
- 32 Popper, K. R. Conjectures and Refutations. Harper & Row, New York, 1965.Google Scholar
- 33 Popper, K. R. Objective Knowledge. Clarendon Press, Oxford, 1972.Google Scholar
- 34 Suppe, F., Ed. The Structure of Scientific Theories, 2d ed. University of Illinois Press, Urbana, Ill., 1977.Google Scholar
- 35 Teller, P. Computer proof. J. Philos. 77, 12 (December 1980), 797-803.Google ScholarCross Ref
- 36 Tymoczko, T. The four-color theorem and its philosophical significance. J. Philos. 76, 2 (February 1979), 57-83.Google ScholarCross Ref
- 37 van den Bos, J. Letter to the editor. Commun. ACM 22, 11 (November 1979), 623.Google Scholar
Index Terms
- Program verification: the very idea
Recommendations
Formal Verification for C Program
Iterative abstraction refinement has emerged in the last few years as the leading approach to software model checking. We present an approach for automatically verifying C programs against safety specifications based on finite state machine. The ...
An Interface Theory for Program Verification
Leveraging Applications of Formal Methods, Verification and Validation: Verification PrinciplesAbstractProgram verification is the problem, for a given program and a specification , of constructing a proof of correctness for the statement “program satisfies specification ” () or a proof of violation ([inline-graphic not available: see fulltext]). ...
Lazy Abstraction for Higher-Order Program Verification
PPDP '18: Proceedings of the 20th International Symposium on Principles and Practice of Declarative ProgrammingThis paper proposes a lazy abstraction algorithm for verification of functional programs. The feature of the lazy abstraction method is that the predicate abstraction and the model checking are fused, and that abstractions for unreachable configurations ...
Comments