Skip to main content
Log in

Program verification, defeasible reasoning, and two views of computer science

  • General Article
  • Published:
Minds and Machines Aims and scope Submit manuscript

Abstract

In this paper I attempt to cast the current program verification debate within a more general perspective on the methodologies and goals of computer science. I show, first, how any method involved in demonstrating the correctness of a physically executing computer program, whether by testing or formal verification, involves reasoning that is defeasible in nature. Then, through a delineation of the senses in which programs can be run as tests, I show that the activities of testing and formal verification do not necessarily share the same goals and thus do not always constitute alternatives. The testing of a program is not always intended to demonstrate a program's correctness. Testing may seek to accept or reject nonprograms including algorithms, specifications, and hypotheses regarding phenomena. The relationship between these kinds of testing and formal verification is couched in a more fundamental relationship between two views of computer science, one properly containing the other.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  • BalzerR. (1985), “A 15 Year Perspective on Automatic Programming’, IEEE Transactions on Software Engineering SE-11(11), pp. 1257–1267.

    Google Scholar 

  • ChisholmR. M. (1977), Theory of Knowledge, Englewood, NJ: Prentice-Hall.

    Google Scholar 

  • CohnA. (1989), ‘The Notion of Proof in Hardware Verification’, Journal of Automated Reasoning 5(2), pp. 127–139.

    Google Scholar 

  • FetzerJ. H. (1988), ‘Program Verification: The Very Idea’, Communications of the ACM 31(9), pp. 1048–1063.

    Google Scholar 

  • Fetzer, J. H. (1991), ‘Philosophical Aspects of Program Verification’, Minds and Machines 1(2), forthcoming.

  • Fetzer, J. H. and Martin, C. R. (1990), ‘“The Very Idea”, Indeed! An Intellectual Brawl in Three Rounds (For Adults Only)’, National Biomedical Simulation Resource, Technical Report no. 1990-2.

  • GinsbergM. L., ed. (1987), Readings in Nonmonotonic Reasoning, Los Altos, CA: Morgan Kaufmann.

    Google Scholar 

  • GumbR. D. (1989), Programming Logics: An Introduction to Verification and Semantics, New York, NY: Wiley and Sons.

    Google Scholar 

  • HoareC. A. R. (1969), ‘An Axiomatic Basis for Computer Programming’, Communications of the ACM 12, pp. 576–580, 583.

    Google Scholar 

  • KowalskiR. (1979), Logic for Problem Solving, New York, NY: North Holland.

    Google Scholar 

  • KyburgH. E.Jr., LouiR. P., and CarlsonG. N., eds. (1990), Knowledge Representation and Defeasible Reasoning, Dordrecht, The Netherlands: Kluwer Academic Publishers.

    Google Scholar 

  • Letters to the Editor (1989), ‘ACM Forum’, Communications of the ACM 32(3), pp. 287–290.

    Google Scholar 

  • MyersG. J. (1979), The Art of Software Testing, New York, NY: Wiley and Sons.

    Google Scholar 

  • NapsT. L., NanceD. W., and SinghB. (1989), Introduction to Computer Science: Programming, Problem Solving, and Data Structures, Alternate Edition, St. Paul, MN: West Publishing Company.

    Google Scholar 

  • NuteD. (1988), ‘Defeasible Reasoning: A Philosophical Analysis in Prolog’, in J.Fetzer, ed., Aspects of Artificial Intelligence, Dordrecht, The Netherlands: Kluwer Academic Publishers, pp. 251–288.

    Google Scholar 

  • PollockJ. L. (1974), Knowledge and Justification, Princeton, NJ: Princeton University Press.

    Google Scholar 

  • RankinT. (1988), ‘When Is Reasoning Nonmonotonic?’, in J.Fetzer, ed., Aspects of Artificial Intelligence, Dordrecht, The Netherlands: Kluwer Academic Publishers, pp. 289–308.

    Google Scholar 

  • ReinfrankM., ed. (1989), Proceedings of the 2nd International Workshop on Non-monotonic Reasoning, New York, NY: Springer-Verlag.

    Google Scholar 

  • RothM. D. and GalisL., eds. (1970), Knowing: Essays in the Analysis of Knowledge, New York, NY: Random House.

    Google Scholar 

  • Technical Correspondence (1989), Communications of the ACM 32(3), pp. 287–290.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Colburn, T.R. Program verification, defeasible reasoning, and two views of computer science. Minds and Machines 1, 97–116 (1991). https://doi.org/10.1007/BF00360581

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF00360581

Key words

Navigation