Modular bug detection with inertial refinement

  • Authors:
  • Nishant Sinha

  • Affiliations:
  • NEC Research Labs, Princeton

  • Venue:
  • Proceedings of the 2010 Conference on Formal Methods in Computer-Aided Design
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Structural abstraction/refinement (SAR) [4] holds promise for scalable bug detection in software since the abstraction is inexpensive to compute and refinement employs pre-computed procedure summaries. The refinement step is key to the scalability of an SAR technique: efficient refinement should avoid exploring program regions irrelevant to the property being checked. However, the current refinement techniques, guided by the counterexamples obtained from constraint solvers, have little or no control over the program regions explored during refinement. This paper presents inertial refinement (IR), a new refinement strategy which overcomes this drawback, by resisting the exploration of new program regions during refinement: new program regions are incrementally analyzed only when no error witness is realizable in the current regions. The IR procedure is implemented as part of a generalized SAR method in the F-Soft verification framework for C programs. Experimental comparison with a previous state-of-the-art refinement method shows that IR explores fewer program regions to detect bugs, leading to faster bug-detection.