Skip to main content
Top

2011 | OriginalPaper | Chapter

4. Verification Using Automated Theorem Provers

Authors : Sudipta Kundu, Sorin Lerner, Rajesh K. Gupta

Published in: High-Level Verification

Publisher: Springer New York

Activate our intelligent search to find suitable subject content or patents.

search-config
loading …

Abstract

An automated theorem prover is a tool that determines, automatically or semi-automatically, the validity of formulas in a particular logic. Automated theorem provers have been put to use in many applications. They have been used to solve open problems in mathematics, such as Robbin’s problem in boolean algebra [140], which was open since the 1930s, and various open problems about quasigroups [188]. They have also been used to prove interesting properties about real-world systems, properties that would have been hard, difficult or tedious to prove by hand. For example, automated theorem provers have been used to verify microprocessors [19, 20, 164], communication protocols [20], concurrent algorithms [20], and various properties of software systems [9, 58, 100, 130, 132, 164, 168].

Dont have a licence yet? Then find out more about our products and how to get one now:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Literature
11.
go back to reference Barnett, M., yuh Evan Chang, B., Deline, R., Jacobs, B., Leino, K.R.: Boogie: A modular reusable verifier for object-oriented programs. In: Formal Methods for Components and Objects: 4th International Symposium, FMCO 2005, volume 4111 of Lecture Notes in Computer Science, pp. 364–387. Springer (2006) Barnett, M., yuh Evan Chang, B., Deline, R., Jacobs, B., Leino, K.R.: Boogie: A modular reusable verifier for object-oriented programs. In: Formal Methods for Components and Objects: 4th International Symposium, FMCO 2005, volume 4111 of Lecture Notes in Computer Science, pp. 364–387. Springer (2006)
13.
go back to reference Bertot, Y., Casteran, P.: Interactive Theorem Proving and Program Development. Springer-Verlag (2004) Bertot, Y., Casteran, P.: Interactive Theorem Proving and Program Development. Springer-Verlag (2004)
19.
go back to reference Boyer, R., Moore, J.: A Computational Logic. Academic Press (1979) Boyer, R., Moore, J.: A Computational Logic. Academic Press (1979)
20.
go back to reference Boyer, R., Moore, J.: A Computational Logic, Second Edition. Academic Press (1998) Boyer, R., Moore, J.: A Computational Logic, Second Edition. Academic Press (1998)
36.
go back to reference Constable, R., Allen, S.F., Bromley, H.M., Cleaveland, W.R., Cremer, J.F., Harper, R.W., Howe, D.J., Knoblock, T.B., Mendler, N.P., Panangaden, P., Sasaki, J.T., Smith, S.F.: Implementing Mathematics with the Nuprl Proof Development System. Prentice-Hall, NJ (1986) Constable, R., Allen, S.F., Bromley, H.M., Cleaveland, W.R., Cremer, J.F., Harper, R.W., Howe, D.J., Knoblock, T.B., Mendler, N.P., Panangaden, P., Sasaki, J.T., Smith, S.F.: Implementing Mathematics with the Nuprl Proof Development System. Prentice-Hall, NJ (1986)
39.
go back to reference Cousot, P., Cousot, R.: Abstract interpretation: A unified lattice model for static analysis of programs by construction or approximation of fixpoints. In: Proceedings of the 4th ACM Symposium on Principles of Programming Languages, pp. 238–252. Los Angeles CA (1977) Cousot, P., Cousot, R.: Abstract interpretation: A unified lattice model for static analysis of programs by construction or approximation of fixpoints. In: Proceedings of the 4th ACM Symposium on Principles of Programming Languages, pp. 238–252. Los Angeles CA (1977)
40.
go back to reference Cousot, P., Cousot, R.: Systematic design of program analysis frameworks. In: Proceedings of the 6th ACM Symposium on Principles of Programming Languages, pp. 269–282. San Antonio, Texas (1979) Cousot, P., Cousot, R.: Systematic design of program analysis frameworks. In: Proceedings of the 6th ACM Symposium on Principles of Programming Languages, pp. 269–282. San Antonio, Texas (1979)
43.
go back to reference Das, S., Dill, D.L., Park, S.: Experience with predicate abstraction. In: CAV ’99: Proceedings of the 11th International Conference on Computer Aided Verification, pp. 160–171. Springer-Verlag, London, UK (1999) Das, S., Dill, D.L., Park, S.: Experience with predicate abstraction. In: CAV ’99: Proceedings of the 11th International Conference on Computer Aided Verification, pp. 160–171. Springer-Verlag, London, UK (1999)
44.
go back to reference Detlefs, D., Nelson, G., Saxe, J.B.: Simplify: A theorem prover for program checking. Journal of the Association for Computing Machinery 52(3), 365–473 (2005)MathSciNet Detlefs, D., Nelson, G., Saxe, J.B.: Simplify: A theorem prover for program checking. Journal of the Association for Computing Machinery 52(3), 365–473 (2005)MathSciNet
58.
go back to reference Flanagan, C., Leino, K.R.M., Lillibridge, M., Nelson, G., Saxe, J.B., Stata, R.: Extended static checking for Java. In: PLDI ’02: Proceedings of the 2002 ACM SIGPLAN conference on Programming Language Design and Implementation (2002) Flanagan, C., Leino, K.R.M., Lillibridge, M., Nelson, G., Saxe, J.B., Stata, R.: Extended static checking for Java. In: PLDI ’02: Proceedings of the 2002 ACM SIGPLAN conference on Programming Language Design and Implementation (2002)
60.
go back to reference Floyd, R.W.: Assigning meanings to programs. In: J.T. Schwartz (ed.) Mathematical Aspects of Computer Science, Proceedings of Symposia in Applied Mathematics, vol. 19, pp. 19–32. American Mathematical Society, Providence, Rhode Island (1967) Floyd, R.W.: Assigning meanings to programs. In: J.T. Schwartz (ed.) Mathematical Aspects of Computer Science, Proceedings of Symposia in Applied Mathematics, vol. 19, pp. 19–32. American Mathematical Society, Providence, Rhode Island (1967)
100.
go back to reference Joshi, R., Nelson, G., Randall, K.: Denali: a goal-directed superoptimizer. In: Proceedings of the ACM SIGPLAN ’02 Conference on Programming Language Design and Implementation. Berlin, Germany (2002) Joshi, R., Nelson, G., Randall, K.: Denali: a goal-directed superoptimizer. In: Proceedings of the ACM SIGPLAN ’02 Conference on Programming Language Design and Implementation. Berlin, Germany (2002)
116.
go back to reference Kundu, S., Lerner, S., Gupta, R.: Automated Refinement Checking of Concurrent Systems. In: ICCAD ’07: Proceedings of the 2007 IEEE/ACM International Conference on Computer-Aided Design, pp. 318–325. IEEE Press, Piscataway, NJ, USA (2007) Kundu, S., Lerner, S., Gupta, R.: Automated Refinement Checking of Concurrent Systems. In: ICCAD ’07: Proceedings of the 2007 IEEE/ACM International Conference on Computer-Aided Design, pp. 318–325. IEEE Press, Piscataway, NJ, USA (2007)
117.
go back to reference Kundu, S., Lerner, S., Gupta, R.: Validating High-Level Synthesis. In: CAV ’08: Proceedings of the 20th international conference on Computer Aided Verification, pp. 459–472. Springer, Princeton, NJ, USA (2008) Kundu, S., Lerner, S., Gupta, R.: Validating High-Level Synthesis. In: CAV ’08: Proceedings of the 20th international conference on Computer Aided Verification, pp. 459–472. Springer, Princeton, NJ, USA (2008)
120.
go back to reference Kundu, S., Tatlock, Z., Lerner, S.: Proving Optimizations Correct using Parameterized Program Equivalence. In: PLDI ’09: Proceedings of the 2009 ACM SIGPLAN conference on Programming Language Design and Implementation (2009) Kundu, S., Tatlock, Z., Lerner, S.: Proving Optimizations Correct using Parameterized Program Equivalence. In: PLDI ’09: Proceedings of the 2009 ACM SIGPLAN conference on Programming Language Design and Implementation (2009)
130.
go back to reference Lerner, S., Millstein, T., Chambers, C.: Automatically proving the correctness of compiler optimizations. In: Proceedings of the ACM SIGPLAN 2003 Conference on Programming Language Design and Implementation. San Diego CA (2003) Lerner, S., Millstein, T., Chambers, C.: Automatically proving the correctness of compiler optimizations. In: Proceedings of the ACM SIGPLAN 2003 Conference on Programming Language Design and Implementation. San Diego CA (2003)
131.
go back to reference Lerner, S., Millstein, T., Chambers, C.: Automatically proving the correctness of compiler optimizations. In: PLDI ’03: Proceedings of the 2003 ACM SIGPLAN conference on Programming Language Design and Implementation (2003) Lerner, S., Millstein, T., Chambers, C.: Automatically proving the correctness of compiler optimizations. In: PLDI ’03: Proceedings of the 2003 ACM SIGPLAN conference on Programming Language Design and Implementation (2003)
132.
go back to reference Lerner, S., Millstein, T., Rice, E., Chambers, C.: Automated soundness proofs for dataflow analyses and transformations via local rules. In: Proceedings of the 32nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages. Long Beach CA (2005) Lerner, S., Millstein, T., Rice, E., Chambers, C.: Automated soundness proofs for dataflow analyses and transformations via local rules. In: Proceedings of the 32nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages. Long Beach CA (2005)
133.
go back to reference Lerner, S., Millstein, T., Rice, E., Chambers, C.: Automated soundness proofs for dataflow analyses and transformations via local rules. In: Proceedings of the 32nd ACM Symposium on Principles of Programming Languages (2005) Lerner, S., Millstein, T., Rice, E., Chambers, C.: Automated soundness proofs for dataflow analyses and transformations via local rules. In: Proceedings of the 32nd ACM Symposium on Principles of Programming Languages (2005)
140.
152.
go back to reference Moura, L.D., Bjrner, N.: Z3: An efficient smt solver. In: TACAS ’08: Proceedings of the 14th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (2008) Moura, L.D., Bjrner, N.: Z3: An efficient smt solver. In: TACAS ’08: Proceedings of the 14th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (2008)
161.
go back to reference Nelson, G., Oppen, D.C.: Simplification by cooperating decision procedures. ACM Transactions on Programming Languages and Systems 1(2), 245–257 (1979)MATHCrossRef Nelson, G., Oppen, D.C.: Simplification by cooperating decision procedures. ACM Transactions on Programming Languages and Systems 1(2), 245–257 (1979)MATHCrossRef
164.
go back to reference Owre, S., Rushby, J.M.,, Shankar, N.: PVS: A prototype verification system. In: D. Kapur (ed.) Proceedings of 11th International Conference on Automated Deduction (CADE), Lecture Notes in Artificial Intelligence, vol. 607, pp. 748–752. Springer-Verlag, Saratoga, NY (1992). DOI http://www.csl.sri.com/papers/cade92-pvs/ Owre, S., Rushby, J.M.,, Shankar, N.: PVS: A prototype verification system. In: D. Kapur (ed.) Proceedings of 11th International Conference on Automated Deduction (CADE), Lecture Notes in Artificial Intelligence, vol. 607, pp. 748–752. Springer-Verlag, Saratoga, NY (1992). DOI http://​www.​csl.​sri.​com/​papers/​cade92-pvs/​
168.
go back to reference Pfenning, F., Schurmann, C.: Sytsem description: Twelf – A meta-logical framework for deductive systems. In: H. Ganzinger (ed.) Proceedings of the 16th International Conference on Automated Deduction (CADE-16), Lecture Notes in Artificial Intelligence, vol. 1632, pp. 202–206. Springer-Verlag (1999) Pfenning, F., Schurmann, C.: Sytsem description: Twelf – A meta-logical framework for deductive systems. In: H. Ganzinger (ed.) Proceedings of the 16th International Conference on Automated Deduction (CADE-16), Lecture Notes in Artificial Intelligence, vol. 1632, pp. 202–206. Springer-Verlag (1999)
188.
go back to reference Slaney, J.K., Fujita, M., Stickel, M.E.: Automated reasoning and exhaustive search: Quasigroup existence problems. Compuers and Mathematics with Applications 29(2), 115–132 (1995)MathSciNetMATHCrossRef Slaney, J.K., Fujita, M., Stickel, M.E.: Automated reasoning and exhaustive search: Quasigroup existence problems. Compuers and Mathematics with Applications 29(2), 115–132 (1995)MathSciNetMATHCrossRef
Metadata
Title
Verification Using Automated Theorem Provers
Authors
Sudipta Kundu
Sorin Lerner
Rajesh K. Gupta
Copyright Year
2011
Publisher
Springer New York
DOI
https://doi.org/10.1007/978-1-4419-9359-5_4