Download PDFOpen PDF in browser

Function Summarization Modulo Theories

20 pagesPublished: October 23, 2018


SMT-based program verification can achieve high precision using bit-precise models or combinations of different theories. Often such approaches suffer from problems related to scalability due to the complexity of the underlying decision procedures. Precision is traded for performance by increasing the abstraction level of the model. As the level of abstraction increases, missing important details of the program model becomes problematic. In this paper we address this problem with an incremental verification approach that alternates precision of the program modules on demand. The idea is to model a program using the lightest possible (i.e., less expensive) theories that suffice to verify the desired property. To this end, we employ safe over-approximations for the program based on both function summaries and light-weight SMT theories. If during verification it turns out that the precision is too low, our approach lazily strengthens all affected summaries or the theory through an iterative refinement procedure. The resulting summarization framework provides a natural and light-weight approach for carrying information between different theories. An experimental evaluation with a bounded model checker for C on a wide range of benchmarks demonstrates that our approach scales well, often effortlessly solving instances where the state-of-the-art model checker CBMC runs out of time or memory.

Keyphrases: Bounded Model Checking, Craig interpolation, Function Summaries, incremental verification, Satisfiability Modulo Theories, software verification

In: Gilles Barthe, Geoff Sutcliffe and Margus Veanes (editors). LPAR-22. 22nd International Conference on Logic for Programming, Artificial Intelligence and Reasoning, vol 57, pages 56--75

BibTeX entry
  author    = {Sepideh Asadi and Martin Blicha and Grigory Fedyukovich and Antti Hyv\textbackslash{}"arinen and Karine Even-Mendoza and Natasha Sharygina and Hana Chockler},
  title     = {Function Summarization Modulo Theories},
  booktitle = {LPAR-22. 22nd International Conference on Logic for Programming, Artificial Intelligence and Reasoning},
  editor    = {Gilles Barthe and Geoff Sutcliffe and Margus Veanes},
  series    = {EPiC Series in Computing},
  volume    = {57},
  pages     = {56--75},
  year      = {2018},
  publisher = {EasyChair},
  bibsource = {EasyChair,},
  issn      = {2398-7340},
  url       = {},
  doi       = {10.29007/d3bt}}
Download PDFOpen PDF in browser