DocumentCode
2647041
Title
Decision diagrams for linear arithmetic
Author
Chaki, Sagar ; Gurfinkel, Arie ; Strichman, Ofer
fYear
2009
fDate
15-18 Nov. 2009
Firstpage
53
Lastpage
60
Abstract
Boolean manipulation and existential quantification of numeric variables from linear arithmetic (LA) formulas is at the core of many program analysis and software model checking techniques (e.g., predicate abstraction). We present a new data structure, Linear Decision Diagrams (LDDs), to represent formulas in LA and its fragments, which has certain properties that make it efficient for such tasks. LDDs can be seen as an extension of Difference Decision Diagrams (DDDs) to full LA. Beyond this extension, we make three key contributions. First, we extend sifting-based dynamic variable ordering (DVO) from BDDs to LDDs. Second, we develop, implement, and evaluate several algorithms for existential quantification. Third, we implement LDDs inside CUDD, a state-of-the-art BDD package, and evaluate them on a large benchmark consisting of 850 functions derived from the source code of 25 open source programs. Overall, our experiments indicate that LDDs are an effective data structure for program analysis tasks.
Keywords
Boolean algebra; decision diagrams; digital arithmetic; program diagnostics; Boolean manipulation; difference decision diagrams; dynamic variable ordering; linear arithmetic formula; linear decision diagrams; open source programs; program analysis technique; software model checking technique; Arithmetic; Binary decision diagrams; Boolean functions; Computer applications; Data structures; Dynamic programming; Image analysis; Instruments; Logic; Packaging;
fLanguage
English
Publisher
ieee
Conference_Titel
Formal Methods in Computer-Aided Design, 2009. FMCAD 2009
Conference_Location
Austin, TX
Print_ISBN
978-1-4244-4966-8
Electronic_ISBN
978-1-4244-4966-8
Type
conf
DOI
10.1109/FMCAD.2009.5351143
Filename
5351143
Link To Document