Skip to main content
Top

2021 | OriginalPaper | Chapter

Unbounded Procedure Summaries from Bounded Environments

Authors : Lauren Pick, Grigory Fedyukovich, Aarti Gupta

Published in: Verification, Model Checking, and Abstract Interpretation

Publisher: Springer International Publishing

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

search-config
loading …

Abstract

Modular approaches to verifying interprocedural programs involve learning summaries for individual procedures rather than verifying a monolithic program. Modern approaches based on use of Satisfiability Modulo Theory (SMT) solvers have made much progress in this direction. However, it is still challenging to handle mutual recursion and to derive adequate procedure summaries using scalable methods. We propose a novel modular verification algorithm that addresses these challenges by learning lemmas about the relationships among procedure summaries and by using bounded environments in SMT queries. We have implemented our algorithm in a tool called Clover and report on a detailed evaluation that shows that it outperforms existing automated tools on benchmark programs with mutual recursion while being competitive on standard benchmarks.

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!

Appendix
Available only for authorised users
Footnotes
1
Expressions such as \( x~\mathrm {mod}~2 = 0\) can be generated by existentially quantifying local variables and then performing quantifier elimination.
 
2
We lift the ancestor relationship from nodes to their procedures.
 
3
In the implementation, multiple checks can be done together.
 
4
We expect that our platform is less performant than the StarExec platform.
 
5
We did not compare against FreqHorn since it cannot handle nonlinear CHCs.
 
6
Unlike Spacer it does not use PDR to derive invariants, and unlike Smash it is not limited to predicate abstractions.
 
Literature
1.
go back to reference Albarghouthi, A., Dillig, I., Gurfinkel, A.: Maximal specification synthesis. ACM SIGPLAN Notices 51(1), 789–801 (2016)CrossRef Albarghouthi, A., Dillig, I., Gurfinkel, A.: Maximal specification synthesis. ACM SIGPLAN Notices 51(1), 789–801 (2016)CrossRef
2.
go back to reference Alur, R., Cerný, P., Madhusudan, P., Nam, W.: Synthesis of interface specifications for java classes. In: Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, pp. 98–109. ACM (2005) Alur, R., Cerný, P., Madhusudan, P., Nam, W.: Synthesis of interface specifications for java classes. In: Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, pp. 98–109. ACM (2005)
4.
go back to reference Ammons, G., Bodík, R., Larus, J.R.: Mining specifications. ACM Sigplan Notices 37(1), 4–16 (2002)CrossRef Ammons, G., Bodík, R., Larus, J.R.: Mining specifications. ACM Sigplan Notices 37(1), 4–16 (2002)CrossRef
5.
go back to reference Asadi, S., et al.: Function summarization modulo theories. In: LPAR. EPiC Series in Computing, vol. 57, pp. 56–75 (2018) Asadi, S., et al.: Function summarization modulo theories. In: LPAR. EPiC Series in Computing, vol. 57, pp. 56–75 (2018)
6.
go back to reference Ball, T., Rajamani, S.K.: Bebop: a path-sensitive interprocedural dataflow engine. In: Proceedings of the 2001 ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering, pp. 97–103. ACM (2001) Ball, T., Rajamani, S.K.: Bebop: a path-sensitive interprocedural dataflow engine. In: Proceedings of the 2001 ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering, pp. 97–103. ACM (2001)
9.
go back to reference Beckman, N.E., Nori, A.V.: Probabilistic, modular and scalable inference of typestate specifications. In: Proceedings of the 32nd ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 211–221. ACM (2011) Beckman, N.E., Nori, A.V.: Probabilistic, modular and scalable inference of typestate specifications. In: Proceedings of the 32nd ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 211–221. ACM (2011)
10.
go back to reference Bjørner, N., Janota, M.: Playing with quantified satisfaction. LPAR (short papers) 35, 15–27 (2015) Bjørner, N., Janota, M.: Playing with quantified satisfaction. LPAR (short papers) 35, 15–27 (2015)
11.
go back to reference Blackshear, S., Lahiri, S.K.: Almost-correct specifications: a modular semantic framework for assigning confidence to warnings. In: Proceedings of the 34th ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 209–218. ACM (2013) Blackshear, S., Lahiri, S.K.: Almost-correct specifications: a modular semantic framework for assigning confidence to warnings. In: Proceedings of the 34th ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 209–218. ACM (2013)
18.
go back to reference Cousot, P., Cousot, R.: Static determination of dynamic properties of recursive procedures. In: IFIP Conference on Formal Description of Programming Concepts, St. Andrews, NB, Canada, pp. 237–278 (1977) Cousot, P., Cousot, R.: Static determination of dynamic properties of recursive procedures. In: IFIP Conference on Formal Description of Programming Concepts, St. Andrews, NB, Canada, pp. 237–278 (1977)
19.
go back to reference Cousot, P., Cousot, R., Fähndrich, M., Logozzo, F.: Automatic inference of necessary preconditions. In: Proceedings of International Conference on Verification, Model Checking, and Abstract Interpretation, VMCAI, pp. 128–148 (2013) Cousot, P., Cousot, R., Fähndrich, M., Logozzo, F.: Automatic inference of necessary preconditions. In: Proceedings of International Conference on Verification, Model Checking, and Abstract Interpretation, VMCAI, pp. 128–148 (2013)
22.
go back to reference Dietsch, D., Heizmann, M., Hoenicke, J., Nutz, A., Podelski, A.: Ultimate TreeAutomize. HCVS/PERR. EPTCS 296, 42–47 (2019)CrossRef Dietsch, D., Heizmann, M., Hoenicke, J., Nutz, A., Podelski, A.: Ultimate TreeAutomize. HCVS/PERR. EPTCS 296, 42–47 (2019)CrossRef
23.
go back to reference Eén, N., Mishchenko, A., Brayton, R.K.: Efficient implementation of property directed reachability. In: Formal Methods in Computer-Aided Design (FMCAD), pp. 125–134. IEEE (2011) Eén, N., Mishchenko, A., Brayton, R.K.: Efficient implementation of property directed reachability. In: Formal Methods in Computer-Aided Design (FMCAD), pp. 125–134. IEEE (2011)
25.
go back to reference Fedyukovich, G., Kaufman, S.J., Bodík, R.: Sampling invariants from frequency distributions. In: Formal Methods in Computer Aided Design (FMCAD), pp. 100–107. IEEE (2017) Fedyukovich, G., Kaufman, S.J., Bodík, R.: Sampling invariants from frequency distributions. In: Formal Methods in Computer Aided Design (FMCAD), pp. 100–107. IEEE (2017)
26.
go back to reference Fedyukovich, G., Prabhu, S., Madhukar, K., Gupta, A.: Solving constrained horn clauses using syntax and data. In: Formal Methods in Computer Aided Design (FMCAD), pp. 170–178. ACM (2018) Fedyukovich, G., Prabhu, S., Madhukar, K., Gupta, A.: Solving constrained horn clauses using syntax and data. In: Formal Methods in Computer Aided Design (FMCAD), pp. 170–178. ACM (2018)
29.
go back to reference Garg, P., Löding, C., Madhusudan, P., Neider, D.: ICE: a robust framework for learning invariants. In: Proceedings of the International Conference on Computer Aided Verification (CAV), pp. 69–87 (2014) Garg, P., Löding, C., Madhusudan, P., Neider, D.: ICE: a robust framework for learning invariants. In: Proceedings of the International Conference on Computer Aided Verification (CAV), pp. 69–87 (2014)
31.
go back to reference Godefroid, P., Nori, A.V., Rajamani, S.K., Tetali, S.: Compositional may-must program analysis: unleashing the power of alternation. In: Proceedings of the 37th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 43–56. ACM (2010) Godefroid, P., Nori, A.V., Rajamani, S.K., Tetali, S.: Compositional may-must program analysis: unleashing the power of alternation. In: Proceedings of the 37th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 43–56. ACM (2010)
32.
go back to reference Grebenshchikov, S., Lopes, N.P., Popeea, C., Rybalchenko, A.: Synthesizing software verifiers from proof rules. ACM SIGPLAN Notices 47(6), 405–416 (2012)CrossRef Grebenshchikov, S., Lopes, N.P., Popeea, C., Rybalchenko, A.: Synthesizing software verifiers from proof rules. ACM SIGPLAN Notices 47(6), 405–416 (2012)CrossRef
36.
go back to reference Henzinger, T.A., Jhala, R., Majumdar, R.: Permissive interfaces. In: Proceedings of the 10th European Software Engineering Conference Held Jointly with 13th ACM SIGSOFT International Symposium on Foundations of Software Engineering, pp. 31–40. ACM (2005) Henzinger, T.A., Jhala, R., Majumdar, R.: Permissive interfaces. In: Proceedings of the 10th European Software Engineering Conference Held Jointly with 13th ACM SIGSOFT International Symposium on Foundations of Software Engineering, pp. 31–40. ACM (2005)
38.
go back to reference Hofstadter, D.R., et al.: Gödel, Escher, Bach. An eternal golden braid, vol. 20. Basic books New York (1979) Hofstadter, D.R., et al.: Gödel, Escher, Bach. An eternal golden braid, vol. 20. Basic books New York (1979)
39.
go back to reference Hojjat, H., Rümmer, P.: The ELDARICA horn solver. In: Formal Methods in Computer Aided Design (FMCAD), pp. 1–7. IEEE (2018) Hojjat, H., Rümmer, P.: The ELDARICA horn solver. In: Formal Methods in Computer Aided Design (FMCAD), pp. 1–7. IEEE (2018)
40.
go back to reference Ivancic, F., et al.: DC2: a framework for scalable, scope-bounded software verification. In: IEEE/ACM International Conference on Automated Software Engineering (ASE), pp. 133–142 (2011) Ivancic, F., et al.: DC2: a framework for scalable, scope-bounded software verification. In: IEEE/ACM International Conference on Automated Software Engineering (ASE), pp. 133–142 (2011)
41.
go back to reference Koc, C.K., Acar, T., Kaliski, B.S.: Analyzing and comparing montgomery multiplication algorithms. IEEE micro 16(3), 26–33 (1996)CrossRef Koc, C.K., Acar, T., Kaliski, B.S.: Analyzing and comparing montgomery multiplication algorithms. IEEE micro 16(3), 26–33 (1996)CrossRef
42.
go back to reference Komuravelli, A., Gurfinkel, A., Chaki, S.: Smt-based model checking for recursive programs. Formal Methods Syst. Des. 48(3), 175–205 (2016)CrossRef Komuravelli, A., Gurfinkel, A., Chaki, S.: Smt-based model checking for recursive programs. Formal Methods Syst. Des. 48(3), 175–205 (2016)CrossRef
43.
go back to reference Lahiri, S.K., McMillan, K.L., Sharma, R., Hawblitzel, C.: Differential assertion checking. In: Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering, pp. 345–355. ACM (2013) Lahiri, S.K., McMillan, K.L., Sharma, R., Hawblitzel, C.: Differential assertion checking. In: Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering, pp. 345–355. ACM (2013)
44.
go back to reference Lal, A., Qadeer, S., Lahiri, S.K.: A solver for reachability modulo theories. In: Proceedings of the International Conference on Computer Aided Verification (CAV), pp. 427–443 (2012) Lal, A., Qadeer, S., Lahiri, S.K.: A solver for reachability modulo theories. In: Proceedings of the International Conference on Computer Aided Verification (CAV), pp. 427–443 (2012)
45.
go back to reference Livshits, V.B., Nori, A.V., Rajamani, S.K., Banerjee, A.: Merlin: specification inference for explicit information flow problems. ACM Sigplan Not. 44(6), 75–86 (2009)CrossRef Livshits, V.B., Nori, A.V., Rajamani, S.K., Banerjee, A.: Merlin: specification inference for explicit information flow problems. ACM Sigplan Not. 44(6), 75–86 (2009)CrossRef
49.
go back to reference McMillan, K.L., Rybalchenko, A.: Solving constrained horn clauses using interpolation. Tech. Rep. MSR-TR-2013-6 (2013) McMillan, K.L., Rybalchenko, A.: Solving constrained horn clauses using interpolation. Tech. Rep. MSR-TR-2013-6 (2013)
51.
go back to reference Nielson, F., Nielson, H.R., Hankin, C.: Principles of Program Analysis. Springer-Verlag (1999) Nielson, F., Nielson, H.R., Hankin, C.: Principles of Program Analysis. Springer-Verlag (1999)
53.
go back to reference Pick, L., Fedyukovich, G., Gupta, A.: Automating modular verification of secure information flow. In: FMCAD. TU Wien Academic Press, pp. 158–168. IEEE (2020) Pick, L., Fedyukovich, G., Gupta, A.: Automating modular verification of secure information flow. In: FMCAD. TU Wien Academic Press, pp. 158–168. IEEE (2020)
54.
go back to reference Ramanathan, M.K., Grama, A., Jagannathan, S.: Static specification inference using predicate mining. ACM SIGPLAN Not. 42(6), 123–134 (2007)CrossRef Ramanathan, M.K., Grama, A., Jagannathan, S.: Static specification inference using predicate mining. ACM SIGPLAN Not. 42(6), 123–134 (2007)CrossRef
55.
go back to reference Reps, T.W., Horwitz, S., Sagiv, S.: Precise interprocedural dataflow analysis via graph reachability. In: Proceedings of the 22nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 49–61. ACM (1995) Reps, T.W., Horwitz, S., Sagiv, S.: Precise interprocedural dataflow analysis via graph reachability. In: Proceedings of the 22nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 49–61. ACM (1995)
57.
go back to reference Sharir, M., Pnueli, A.: Two Approaches to Interprocedural Data Flow Analysis. In: Program Flow Analysis: Theory and Applications, pp. 189–233 (1981) Sharir, M., Pnueli, A.: Two Approaches to Interprocedural Data Flow Analysis. In: Program Flow Analysis: Theory and Applications, pp. 189–233 (1981)
58.
go back to reference Shoham, S., Yahav, E., Fink, S., Pistoia, M.: Static specification mining using automata-based abstractions. In: ISSTA, pp. 174–184. ACM (2007) Shoham, S., Yahav, E., Fink, S., Pistoia, M.: Static specification mining using automata-based abstractions. In: ISSTA, pp. 174–184. ACM (2007)
61.
go back to reference Yang, J., Evans, D., Bhardwaj, D., Bhat, T., Das, M.: Perracotta: mining temporal API rules from imperfect traces. In: Proceedings of the 28th International Conference on Software Engineering, pp. 282–291. ACM (2006) Yang, J., Evans, D., Bhardwaj, D., Bhat, T., Das, M.: Perracotta: mining temporal API rules from imperfect traces. In: Proceedings of the 28th International Conference on Software Engineering, pp. 282–291. ACM (2006)
62.
go back to reference Zhu, H., Magill, S., Jagannathan, S.: A data-driven CHC solver. ACM SIGPLAN Not. 53(4), 707–721 (2018)CrossRef Zhu, H., Magill, S., Jagannathan, S.: A data-driven CHC solver. ACM SIGPLAN Not. 53(4), 707–721 (2018)CrossRef
Metadata
Title
Unbounded Procedure Summaries from Bounded Environments
Authors
Lauren Pick
Grigory Fedyukovich
Aarti Gupta
Copyright Year
2021
DOI
https://doi.org/10.1007/978-3-030-67067-2_14

Premium Partner