Skip to main content
Erschienen in: International Journal on Software Tools for Technology Transfer 5/2017

19.08.2015 | TACAS 2013

Synthesis of circular compositional program proofs via abduction

verfasst von: Isil Dillig, Thomas Dillig, Boyang Li, Ken McMillan, Mooly Sagiv

Erschienen in: International Journal on Software Tools for Technology Transfer | Ausgabe 5/2017

Einloggen

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

This paper presents a new technique for synthesizing circular compositional proofs of program correctness. Our technique uses abductive inference to decompose the proof into small lemmas (i.e., compositionality) and proves that each lemma is not the first one to fail (i.e., circularity). Our approach represents lemmas as small program fragments annotated with pre and post-conditions and uses different tools to discharge each different lemma. This approach allows us to combine the strengths of different verifiers and addresses scalability concerns, as each lemma concerns the correctness of small syntactic fragments of the program. We have implemented our proposed technique for generating circular compositional proofs and used four different program analysis tools to discharge the proof subgoals. We evaluate our approach on a collection of synthetic and real-world benchmarks and show that our technique can successfully verify applications that cannot be verified by any individual technique.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

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!

Literatur
1.
Zurück zum Zitat Cobleigh, J., Giannakopoulou, D., Păsăreanu, C.: Learning assumptions for compositional verification. TACAS, pp. 331–346 (2003) Cobleigh, J., Giannakopoulou, D., Păsăreanu, C.: Learning assumptions for compositional verification. TACAS, pp. 331–346 (2003)
2.
Zurück zum Zitat Gupta, A., Mcmillan, K.L., Fu, Z.: Automated assumption generation for compositional verification. Form. Methods Syst Des (2008) Gupta, A., Mcmillan, K.L., Fu, Z.: Automated assumption generation for compositional verification. Form. Methods Syst Des (2008)
3.
Zurück zum Zitat Calcagno, C., Distefano, D., O’Hearn, P., Yang, H.: Compositional shape analysis by means of bi-abduction. POPL 44(1), 289–300 (2009) Calcagno, C., Distefano, D., O’Hearn, P., Yang, H.: Compositional shape analysis by means of bi-abduction. POPL 44(1), 289–300 (2009)
4.
Zurück zum Zitat Peirce, C.: Collected papers of Charles sanders peirce. Belknap Press, Cambridge (1932) Peirce, C.: Collected papers of Charles sanders peirce. Belknap Press, Cambridge (1932)
5.
Zurück zum Zitat Dillig, I., Dillig, T., McMillan, K., Aiken, A.: Minimum satisfying assignments for SMT, CAV (2012) Dillig, I., Dillig, T., McMillan, K., Aiken, A.: Minimum satisfying assignments for SMT, CAV (2012)
6.
Zurück zum Zitat Dillig, I., Dillig, T., Aiken, A.: SAIL: Static analysis intermediate language. Stanford University Technical Report Dillig, I., Dillig, T., Aiken, A.: SAIL: Static analysis intermediate language. Stanford University Technical Report
7.
Zurück zum Zitat Dillig, I., Dillig, T., Aiken, A.: Cuts from proofs: a complete and practical technique for solving linear inequalities over integers. In: CAV. (2009) Dillig, I., Dillig, T., Aiken, A.: Cuts from proofs: a complete and practical technique for solving linear inequalities over integers. In: CAV. (2009)
8.
Zurück zum Zitat Henzinger, T., Jhala, R., Majumdar, R., Sutre, G.: Software verification with BLAST. In: International conference on Model checking software, pp. 235–239 (2003) Henzinger, T., Jhala, R., Majumdar, R., Sutre, G.: Software verification with BLAST. In: International conference on Model checking software, pp. 235–239 (2003)
9.
Zurück zum Zitat Cousot, P., Halbwachs, N.: Automatic discovery of linear restraints among variables of a program. In: POPL, ACM, pp. 84–96 (1978) Cousot, P., Halbwachs, N.: Automatic discovery of linear restraints among variables of a program. In: POPL, ACM, pp. 84–96 (1978)
11.
Zurück zum Zitat Granger, P.: Static analysis of linear congruence equalities among variables of a program. In: TAPSOFT’91, Springer, pp. 169–192 (1991) Granger, P.: Static analysis of linear congruence equalities among variables of a program. In: TAPSOFT’91, Springer, pp. 169–192 (1991)
12.
Zurück zum Zitat Dillig, I., Dillig, T., Aiken, A.: Fluid updates: beyond strong vs. ESOP, weak updates. In (2010) Dillig, I., Dillig, T., Aiken, A.: Fluid updates: beyond strong vs. ESOP, weak updates. In (2010)
13.
Zurück zum Zitat Dillig, I., Dillig, T., Aiken, A.: Precise reasoning for programs using containers. POPL (2011) Dillig, I., Dillig, T., Aiken, A.: Precise reasoning for programs using containers. POPL (2011)
14.
Zurück zum Zitat Cousot, P., Cousot, R.: Systematic design of program analysis frameworks. In: POPL, ACM, pp. 269–282 (1979) Cousot, P., Cousot, R.: Systematic design of program analysis frameworks. In: POPL, ACM, pp. 269–282 (1979)
15.
Zurück zum Zitat McMillan, K.: Verification of infinite state systems by compositional model checking. Correct Hardware Design and Verification Methods, pp. 705–705 (1999) McMillan, K.: Verification of infinite state systems by compositional model checking. Correct Hardware Design and Verification Methods, pp. 705–705 (1999)
16.
Zurück zum Zitat Gulwani, S., Tiwari, A.: Combining abstract interpreters. In: ACM SIGPLAN Notices, ACM, vol. 41, pp 376–386 (2006) Gulwani, S., Tiwari, A.: Combining abstract interpreters. In: ACM SIGPLAN Notices, ACM, vol. 41, pp 376–386 (2006)
17.
Zurück zum Zitat Charlton, N., Huth, M.: Hector: Software model checking with cooperating analysis plugins. In: Computer Aided Verification, Springer, pp. 168–172 (2007) Charlton, N., Huth, M.: Hector: Software model checking with cooperating analysis plugins. In: Computer Aided Verification, Springer, pp. 168–172 (2007)
18.
Zurück zum Zitat Gulwani, S., McCloskey, B., Tiwari, A.: Lifting abstract interpreters to quantified logical domains. In: POPL, ACM, pp. 235–246 (2008) Gulwani, S., McCloskey, B., Tiwari, A.: Lifting abstract interpreters to quantified logical domains. In: POPL, ACM, pp. 235–246 (2008)
19.
Zurück zum Zitat Giacobazzi, R.: Abductive analysis of modular logic programs. In: Proceedings of the 1994 International Symposium on Logic programming, Citeseer, pp. 377–391 (1994) Giacobazzi, R.: Abductive analysis of modular logic programs. In: Proceedings of the 1994 International Symposium on Logic programming, Citeseer, pp. 377–391 (1994)
20.
Zurück zum Zitat Dillig, I., Dillig, T., Aiken, A.: Automated error diagnosis using abductive inference. In: PLDI (2012) Dillig, I., Dillig, T., Aiken, A.: Automated error diagnosis using abductive inference. In: PLDI (2012)
21.
Zurück zum Zitat Dillig, I., Dillig, T., Aiken, A.: Small formulas for large programs: on-line constraint simplification for scalable static analysis. In: Static Analysis Symposium (2010) Dillig, I., Dillig, T., Aiken, A.: Small formulas for large programs: on-line constraint simplification for scalable static analysis. In: Static Analysis Symposium (2010)
22.
Zurück zum Zitat Alrajeh, D., Ray, O., Russo, A., Uchitel, S.: Using abduction and induction for operational requirements elaboration. In: Journal of Applied Logic (2009) Alrajeh, D., Ray, O., Russo, A., Uchitel, S.: Using abduction and induction for operational requirements elaboration. In: Journal of Applied Logic (2009)
Metadaten
Titel
Synthesis of circular compositional program proofs via abduction
verfasst von
Isil Dillig
Thomas Dillig
Boyang Li
Ken McMillan
Mooly Sagiv
Publikationsdatum
19.08.2015
Verlag
Springer Berlin Heidelberg
Erschienen in
International Journal on Software Tools for Technology Transfer / Ausgabe 5/2017
Print ISSN: 1433-2779
Elektronische ISSN: 1433-2787
DOI
https://doi.org/10.1007/s10009-015-0397-7

Weitere Artikel der Ausgabe 5/2017

International Journal on Software Tools for Technology Transfer 5/2017 Zur Ausgabe