Dynamic Path Reduction for Software Model Checking

  • Authors:
  • Zijiang Yang;Bashar Al-Rawi;Karem Sakallah;Xiaowan Huang;Scott Smolka;Radu Grosu

  • Affiliations:
  • Western Michigan University, Kalamazoo, USA;University of Michigan, Ann Arbor, USA;University of Michigan, Ann Arbor, USA;Stony Brook University, Stony Brook, USA;Stony Brook University, Stony Brook, USA;Stony Brook University, Stony Brook, USA

  • Venue:
  • IFM '09 Proceedings of the 7th International Conference on Integrated Formal Methods
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present the technique of dynamic path reduction (DPR), which allows one to prune redundant paths from the state space of a program under verification. DPR is based on the symbolic analysis of concrete executions. For each explored execution path π that does not reach an abort statement, we repeatedly apply a weakest-precondition computation to accumulate the constraints associated with an infeasible sub-path derived from π by taking the alternative branch to an if-then-else statement. We then use an SMT solver to learn the minimally unsatisfiable core of these constraints. By further learning the statements in π that are critical to the sub-path’s infeasibility as well as the control-flow decisions that must be taken to execute these statements, unexplored paths containing the same unsatisfiable core can be efficiently and dynamically pruned. DPR is a very general technique which we consider here in the context of the bounded model checking of sequential programs with nondeterministic conditionals. Our preliminary experimental results show that DPR can prune a significant percentage of execution paths, a percentage that grows with the size of the instance of the problem being considered.