Title
TACO: Efficient SAT-Based Bounded Verification Using Symmetry Breaking and Tight Bounds
Abstract
SAT-based bounded verification of annotated code consists of translating the code together with the annotations to a propositional formula, and analyzing the formula for specification violations using a SAT-solver. If a violation is found, an execution trace exposing the failure is exhibited. Code involving linked data structures with intricate invariants is particularly hard to analyze using these techniques. In this paper, we present Translation of Annotated COde (TACO), a prototype tool which implements a novel, general, and fully automated technique for the SAT-based analysis of JML-annotated Java sequential programs dealing with complex linked data structures. We instrument code analysis with a symmetry-breaking predicate which, on one hand, reduces the size of the search space by ignoring certain classes of isomorphic models and, on the other hand, allows for the parallel, automated computation of tight bounds for Java fields. Experiments show that the translations to propositional formulas require significantly less propositional variables, leading to an improvement of the efficiency of the analysis of orders of magnitude, compared to the noninstrumented SAT--based analysis. We show that in some cases our tool can uncover bugs that cannot be detected by state-of-the-art tools based on SAT-solving, model checking, or SMT-solving.
Year
DOI
Venue
2013
10.1109/TSE.2013.15
Software Engineering, IEEE Transactions
Keywords
Field
DocType
computability,formal specification,formal verification,program diagnostics,program interpreters,JML-annotated Java sequential program,SAT-based bounded verification,SAT-solving,SMT-solving,TACO tool,automated tight bound computation,code analysis,code translation,data structure,isomorphic model,model checking,satisfiability,specification violation,symmetry-breaking predicate,translation-of-annotated code tool,Alloy,DynAlloy,KodKod,SAT-based code analysis,Static analysis
Static program analysis,Model checking,Programming language,Computer science,Theoretical computer science,Computability,Propositional variable,Propositional formula,Software verification,Bounded function,Formal verification
Journal
Volume
Issue
ISSN
39
9
0098-5589
Citations 
PageRank 
References 
24
0.75
30
Authors
4
Name
Order
Citations
PageRank
Juan P. Galeotti11669.64
Nicolas Rosner2562.32
Carlos G. Lopez Pombo31448.51
Marcelo F. Frias429535.57