Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1007/978-3-642-34188-5_15guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

Interpolation-Based function summaries in bounded model checking

Published: 06 December 2011 Publication History

Abstract

During model checking of software against various specifications, it is often the case that the same parts of the program have to be modeled/verified multiple times. To reduce the overall verification effort, this paper proposes a new technique that extracts function summaries after the initial successful verification run, and then uses them for more efficient subsequent analysis of the other specifications. Function summaries are computed as over-approximations using Craig interpolation, a mechanism which is well-known to preserve the most relevant information, and thus tend to be a good substitute for the functions that were examined in the previous verification runs. In our summarization-based verification approach, the spurious behaviors introduced as a side effect of the over-approximation, are ruled out automatically by means of the counter-example guided refinement of the function summaries. We implemented interpolation-based summarization in our FunFrog tool, and compared it with several state-of-the-art software model checking tools. Our experiments demonstrate the feasibility of the new technique and confirm its advantages on the large programs.

References

[1]
Babic, D., Hu, A. J.: Calysto: scalable and precise extended static checking. In: Int. Conference on Software Engineering (ICSE 2008), pp. 211-220. ACM (2008)
[2]
Basler, G., Kroening, D., Weissenbacher, G.: SAT-Based Summarization for Boolean Programs. In: Bošnački, D., Edelkamp, S. (eds.) SPIN 2007. LNCS, vol. 4595, pp. 131-148. Springer, Heidelberg (2007)
[3]
Beyer, D., Henzinger, T. A., Jhala, R., Majumdar, R.: The software model checker Blast: Applications to software engineering. Int. J. STTT 9, 505-525 (2007)
[4]
Beyer, D., Keremoglu, M. E.: CPAchecker: A Tool for Configurable Software Verification. In: Gopalakrishnan, G., Qadeer, S. (eds.) CAV 2011. LNCS, vol. 6806, pp. 184-190. Springer, Heidelberg (2011)
[5]
Bruttomesso, R., Pek, E., Sharygina, N., Tsitovich, A.: The OpenSMT Solver. In: Esparza, J., Majumdar, R. (eds.) TACAS 2010. LNCS, vol. 6015, pp. 150-153. Springer, Heidelberg (2010)
[6]
Clarke, E., Kroening, D., Lerda, F.: A Tool for Checking ANSI-C Programs. In: Jensen, K., Podelski, A. (eds.) TACAS 2004. LNCS, vol. 2988, pp. 168-176. Springer, Heidelberg (2004)
[7]
Clarke, E., Kroening, D., Sharygina, N., Yorav, K.: SATABS: SAT-Based Predicate Abstraction for ANSI-C. In: Halbwachs, N., Zuck, L. D. (eds.) TACAS 2005. LNCS, vol. 3440, pp. 570-574. Springer, Heidelberg (2005)
[8]
Craig, W.: Three uses of the Herbrand-Gentzen theorem in relating model theory and proof theory. J. of Symbolic Logic, 269-285 (1957)
[9]
Engler, D., Ashcraft, K.: RacerX: effective, static detection of race conditions and deadlocks. In: Symposium on OS Principles (SOSP 2003), pp. 237-252. ACM (2003)
[10]
Godefroid, P.: Compositional dynamic test generation. In: Principles of Prog. Languages (POPL 2007), pp. 47-54. ACM (2007)
[11]
Heizmann, M., Hoenicke, J., Podelski, A.: Nested interpolants. In: Principles of Prog. Languages (POPL 2010), pp. 471-482. ACM (2010)
[12]
Henzinger, T. A., Jhala, R., Majumdar, R., McMillan, K. L.: Abstractions from proofs. In: Principles of Prog. Languages (POPL 2004), pp. 232-244. ACM (2004)
[13]
Hoare, C.: Procedures and parameters: An axiomatic approach. In: Symposium on Semantics of Algorithmic Languages, pp. 102-116 (1971)
[14]
Kroening, D., Sharygina, N., Tonetta, S., Tsitovich, A., Wintersteiger, C. M.: Loopfrog: A Static Analyzer for ANSI-C Programs. In: Automated Software Engineering (ASE 2009), pp. 668-670. IEEE (2009)
[15]
McMillan, K. L.: Interpolation and SAT-Based Model Checking. In: Hunt Jr., W. A., Somenzi, F. (eds.) CAV 2003. LNCS, vol. 2725, pp. 1-13. Springer, Heidelberg (2003)
[16]
McMillan, K. L.: Applications of Craig Interpolation in Model Checking. In: Halbwachs, N., Zuck, L. D. (eds.) TACAS 2005. LNCS, vol. 3440, pp. 1-12. Springer, Heidelberg (2005)
[17]
McMillan, K. L.: Lazy Abstraction with Interpolants. In: Ball, T., Jones, R. B. (eds.) CAV 2006. LNCS, vol. 4144, pp. 123-136. Springer, Heidelberg (2006)
[18]
McMillan, K. L.: Lazy Annotation for Program Testing and Verification. In: Touili, T., Cook, B., Jackson, P. (eds.) CAV 2010. LNCS, vol. 6174, pp. 104-118. Springer, Heidelberg (2010)
[19]
Pudlák, P.: Lower bounds for resolution and cutting plane proofs and monotone computations. Journal of Symbolic Logic 62(3), 981-998 (1997)
[20]
Qadeer, S., Rajamani, S. K., Rehof, J.: Summarizing procedures in concurrent programs. In: Principles of Prog. Languages (POPL 2004), pp. 245-255. ACM (2004)
[21]
Weissenbacher, G.: Program analysis with interpolants. PhD thesis, Oxford (2010)

Cited By

View all
  • (2024)A Transferability Study of Interpolation-Based Hardware Model Checking for Software VerificationProceedings of the ACM on Software Engineering10.1145/36607971:FSE(2028-2050)Online publication date: 12-Jul-2024
  • (2024)PBE-Based Selective Abstraction and Refinement for Efficient Property Falsification of Embedded SoftwareProceedings of the ACM on Software Engineering10.1145/36437401:FSE(293-315)Online publication date: 12-Jul-2024
  • (2022)Traits: Correctness-by-Construction for FreeFormal Techniques for Distributed Objects, Components, and Systems10.1007/978-3-031-08679-3_9(131-150)Online publication date: 13-Jun-2022
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Guide Proceedings
HVC'11: Proceedings of the 7th international Haifa Verification conference on Hardware and Software: verification and testing
December 2011
262 pages
ISBN:9783642341878
  • Editors:
  • Kerstin Eder,
  • João Lourenço,
  • Onn Shehory

Sponsors

  • Jasper Design Automation: Jasper Design Automation
  • Mentor Graphics: Mentor Graphics
  • cadence: cadence
  • IBM: IBM

Publisher

Springer-Verlag

Berlin, Heidelberg

Publication History

Published: 06 December 2011

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 22 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2024)A Transferability Study of Interpolation-Based Hardware Model Checking for Software VerificationProceedings of the ACM on Software Engineering10.1145/36607971:FSE(2028-2050)Online publication date: 12-Jul-2024
  • (2024)PBE-Based Selective Abstraction and Refinement for Efficient Property Falsification of Embedded SoftwareProceedings of the ACM on Software Engineering10.1145/36437401:FSE(293-315)Online publication date: 12-Jul-2024
  • (2022)Traits: Correctness-by-Construction for FreeFormal Techniques for Distributed Objects, Components, and Systems10.1007/978-3-031-08679-3_9(131-150)Online publication date: 13-Jun-2022
  • (2020)Domain-independent interprocedural program analysis using block-abstraction memoizationProceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3368089.3409718(50-62)Online publication date: 8-Nov-2020
  • (2019)Target-driven compositional concolic testing with function summary refinement for effective bug detectionProceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3338906.3338934(16-26)Online publication date: 12-Aug-2019
  • (2019)When Are Software Verification Results Valid for Approximate Hardware?Tests and Proofs10.1007/978-3-030-31157-5_1(3-20)Online publication date: 9-Oct-2019
  • (2018)A Survey of Symbolic Execution TechniquesACM Computing Surveys10.1145/318265751:3(1-39)Online publication date: 23-May-2018
  • (2018)Lattice-Based Refinement in Bounded Model CheckingVerified Software. Theories, Tools, and Experiments10.1007/978-3-030-03592-1_4(50-68)Online publication date: 18-Jul-2018
  • (2017)Duality-based interpolation for quantifier-free equalities and uninterpreted functionsProceedings of the 17th Conference on Formal Methods in Computer-Aided Design10.5555/3168451.3168466(39-46)Online publication date: 2-Oct-2017
  • (2017)Programs from ProofsACM Transactions on Programming Languages and Systems10.1145/301442739:2(1-56)Online publication date: 10-Mar-2017
  • Show More Cited By

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media