Skip to main content

Correct Programs without Proof? On Checker-Based Program Verification

  • Conference paper
Tool Support for System Specification, Development and Verification

Part of the book series: Advances in Computing Science ((ACS))

Abstract

In many cases, the effort of proving the correctness of large program systems seems not to be justifiable. Since heuristics and programming tricks are used and necessary to solve complex problems successfully, mathematical inductive argumentation often fails, because the algorithms to be verified get too complex and tricky. We need more modular approaches to guarantee program correctness.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  • Blum, M., Kannan, S. (1995). Designing programs that check their work. Journal of the ACM, 42 (1): 269–291.

    Article  MATH  Google Scholar 

  • Boyer, R.S., Moore, J S. (1979): A Computational Logic. Academic Press Inc.

    Google Scholar 

  • Gaul, Th., Goos, G., Heberle, A., Zimmermann, W., Goerigk, W. (1997): An Architecture for Verified Compiler Construction. In: Proceedings Joint Modular Languages Conference 1997, Linz, Austria

    Google Scholar 

  • Goerigk, W. (1996): An Exercise in Program Verification: The ACL2 Correctness Proof of a Simple Theorem Prover Executable. Techn. Report Verifix/CAU/2.4, CAU Kiel

    Google Scholar 

  • Goerigk, W., Dold, A., Gaul, Th., Goos, G., Heberle, A., von Henke, F.W., Hoffmann, U., Langmaack, H., Pfeifer, H., Rueß, H., Zimmermann, W. (1996): Compiler Correctness and Implementation Verification: The Verifix Approach. In: Proc. CC’96 Poster Session. IDA Technical Report LiTH-IDA-R-96–12, Linkøping

    Google Scholar 

  • Goerigk, W., Hoffmann, U. (1996): The Compiler Implementation Language ComLisp. Technical Report Verifix/CAU/1.7, CAU Kiel

    Google Scholar 

  • Goerigk, W., Hoffmann, U. (1998): Rigorous Compiler Implementation Correctness: How to Prove the Real Thing Correct. In: Proceedings of the International Workshop FMTrends’98, Lecture Notes in Computer Science, Springer Verlag. To Appear

    Google Scholar 

  • Goerigk, W., Müller-Olm, M. (1996): Erhaltung partieller Korrektheit bei beschränkten Maschinenressourcen. - Eine Beweisskizze -. Technical Report Verifix/CAU/2.5, CAU Kiel

    Google Scholar 

  • Goodenough, J.B., Gerhart, S.L. (1975): Toward a Theory of Test Data Selection. SIGPLAN Notices, 10 (6): 493–510

    Article  Google Scholar 

  • Heberle, A., Gaul, Th., Goerigk, W., Goos, G., Zimmermann, W. (1998): Construction of Verified Compiler Front Ends with Program-Checking. Submitted to CC’99 International Conference on Compiler Construction

    Google Scholar 

  • von Henke, F.W., Vialard, V., Dold, A., Goerigk, W. (1998): Admitting reflexive functions in PVS. Personal communication. Unpublished

    Google Scholar 

  • Hoffmann, U. (1998): Compiler Implementation Verification through Rigorous Syntactical Code Inspection. PhD thesis. Technical Faculty of the Christian-AlbrechtsUniversity, Kiel

    Google Scholar 

  • Kaufmann, M., Moore, J S. (1994): Design Goals of ACL2. Technical Report 101, Computational Logic, Inc., Austin, Texas

    Google Scholar 

  • Lange, H., Möller, R., Neumann, B. (1996): Avoiding Combinatorial Explosion in Automatic Test Generation: Reasoning about Measurements is the Key. In: Proceedings of KI’96 Conference on Artificial Intelligence, Dresden. Springer Verlag

    Google Scholar 

  • Langmaack, H. (1997): Contribution to Goodenough’s and Gerhart’s Theory of Software Testing and Verification: Relation between Strong Compiler Test and Compiler Implementation Verification. In: C. Freksa, M. Jantzen, R. Valk (eds.): Foundations of Computer Science: Potential-Theory-Cognition. Lecture Notes in Computer Science 1337, Springer Verlag

    Google Scholar 

  • Moore, J S. (1996): Piton. A Mechanically Verified Assembly-Level Language. Kluver Academic Publishers, Dordrecht, Boston, London

    Google Scholar 

  • Moore, J S., Goerigk, W. (1998): Using checkers for admitting reflexive functions in ACL2. Personal communication. Unpublished

    Google Scholar 

  • Müller-Olm, M. (1996): Three Views on Preservation of Partial Correctness. Technical Report Verifix/CAU/5.1. CAU Kiel

    Google Scholar 

  • Müller-Olm, M. (1997): Modular Compiler Verification. Lecture Notes in Computer Science 1283. Springer Verlag, Berlin, Heidelberg, New York

    Google Scholar 

  • Owre, S., Rushby, J.M., Shankar, N. (1992): PVS: A Prototype Verification System. In: Proceedings 11th International Conference on Automated Deduction CADE. Lecture Notes in Artificial Intelligence 607, pp. 748–752. Springer-Verlag

    Google Scholar 

  • Polak, W. (1981): Compiler Specification and Verification. In: G. Goos, J. Hartmanis (eds.) Lecture Notes in Computer Science 124. Springer-Verlag

    Google Scholar 

  • Wasserman, H., Blum, M. (1997). Software reliability via run-time result-checking. Journal of the ACM, 44 (6): 826–849.

    Article  MathSciNet  MATH  Google Scholar 

Download references

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1999 Springer-Verlag Wien

About this paper

Cite this paper

Goerigk, W., Gaul, T., Zimmermann, W. (1999). Correct Programs without Proof? On Checker-Based Program Verification. In: Berghammer, R., Lakhnech, Y. (eds) Tool Support for System Specification, Development and Verification. Advances in Computing Science. Springer, Vienna. https://doi.org/10.1007/978-3-7091-6355-9_8

Download citation

  • DOI: https://doi.org/10.1007/978-3-7091-6355-9_8

  • Publisher Name: Springer, Vienna

  • Print ISBN: 978-3-211-83282-0

  • Online ISBN: 978-3-7091-6355-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics