Summary: Scalable Error Detection using Boolean Satisfiability
Computer Science Department
Stanford, CA 94305
We describe a software error-detection tool that exploits re-
cent advances in boolean satisfiability (SAT) solvers. Our
analysis is path sensitive, precise down to the bit level, and
models pointers and heap data. Our approach is also highly
scalable, which we achieve using two techniques. First, for
each program function, several optimizations compress the
size of the boolean formulas that model the control- and
data-flow and the heap locations accessed by a function.
Second, summaries in the spirit of type signatures are com-
puted for each function, allowing inter-procedural analysis
without a dramatic increase in the size of the boolean con-
straints to be solved.