DocumentCode
1579821
Title
Combining Predicate and Numeric Abstraction for Software Model Checking
Author
Gurfinkel, Arie ; Chaki, Sagar
Author_Institution
Software Eng. Inst., Carnegie Mellon Univ., Pittsburgh, PA
fYear
2008
Firstpage
1
Lastpage
9
Abstract
Predicate (PA) and numeric (NA) abstractions are the two principal techniques for software analysis. In this paper, we develop an approach to couple the two techniques tightly into a unified framework via a single abstract domain called NumPredDom. In particular, we develop and evaluate four data structures that implement NumPredDom but differ in their expressivity and internal representation and algorithms. All our data structures combine BDDs (for efficient prepositional reasoning) with data structures for representing numerical constraints. Our technique is distinguished by its support for complex transfer functions that allow two way interaction between predicate and numeric information during state transformation. We have implemented a general framework for reachability analysis of C programs on top of our four data structures. Our experiments on non-trivial examples show that our proposed combination of PA and NA is more powerful and more efficient than either technique alone.
Keywords
C language; data structures; program diagnostics; program verification; reachability analysis; C programs; NumPredDom; data structures; numeric abstraction; predicate abstraction; prepositional reasoning; reachability analysis; software analysis; software model checking; Arithmetic; Artificial intelligence; Automatic control; Boolean functions; Data structures; Reachability analysis; Software engineering; Switches; Transfer functions; Transformers;
fLanguage
English
Publisher
ieee
Conference_Titel
Formal Methods in Computer-Aided Design, 2008. FMCAD '08
Conference_Location
Portland, OR
Print_ISBN
978-1-4244-2735-2
Electronic_ISBN
978-1-4244-2736-9
Type
conf
DOI
10.1109/FMCAD.2008.ECP.21
Filename
4689180
Link To Document