Chapter

Computer Aided Verification

Volume 9207 of the series Lecture Notes in Computer Science pp 87-105

Date:

Deciding Local Theory Extensions via E-matching

  • Kshitij BansalAffiliated withNYU
  • , Andrew ReynoldsAffiliated withEPFL
  • , Tim KingAffiliated withVerimag
  • , Clark BarrettAffiliated withNYU
  • , Thomas WiesAffiliated withNYU Email author 

* Final gross prices may vary according to local VAT.

Get Access

Abstract

Satisfiability Modulo Theories (SMT) solvers incorporate decision procedures for theories of data types that commonly occur in software. This makes them important tools for automating verification problems. A limitation frequently encountered is that verification problems are often not fully expressible in the theories supported natively by the solvers. Many solvers allow the specification of application-specific theories as quantified axioms, but their handling is incomplete outside of narrow special cases.

In this work, we show how SMT solvers can be used to obtain complete decision procedures for local theory extensions, an important class of theories that are decidable using finite instantiation of axioms. We present an algorithm that uses E-matching to generate instances incrementally during the search, significantly reducing the number of generated instances compared to eager instantiation strategies. We have used two SMT solvers to implement this algorithm and conducted an extensive experimental evaluation on benchmarks derived from verification conditions for heap-manipulating programs. We believe that our results are of interest to both the users of SMT solvers as well as their developers.
https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-21668-3_6/MediaObjects/340509_1_En_6_Figa_HTML.gif