A Case for Using Data-Flow Analysis to Optimize Incremental Scope-Bounded Checking [chapter]

Danhua Shao, Divya Gopinath, Sarfraz Khurshid, Dewayne E. Perry
2010 Lecture Notes in Computer Science  
Given a program and its correctness specification, scope-bounded checking encodes control-flow and data-flow of bounded code segments into declarative formulas and uses constraint solvers to search for correctness violations. For non-trivial programs, the formulas are often complex and represent a heavy workload that can choke the solvers. To scale scope-bounded checking, our previous work introduced an incremental approach that uses the program's control-flow as a basis of partitioning the
more » ... ram and generating several sub-formulas, which represent simpler problem instances for the underlying solvers. We have developed a new approach that optimizes incremental checking using the program's data-flow, specifically variabledefinitions. We expect that splitting different definitions of the same variable into sub-programs will reduce the number of variables in the resulting formulas and the workload to the backend solvers will be effectively reduced.
doi:10.1007/978-3-642-11811-1_30 fatcat:wkjdesvfsjhyzhcepnr6k4ygqa