A dataflow analysis to improve SAT-based bounded program verification

  • Authors:
  • Bruno Cuervo Parrino;Juan Pablo Galeotti;Diego Garbervetsky;Marcelo F. Frias

  • Affiliations:
  • Departmento de Computación, FCEyN, UBA;Departmento de Computación, FCEyN, UBA and CONICET;Departmento de Computación, FCEyN, UBA and CONICET;CONICET and Department of Software Engineering, ITBA

  • Venue:
  • SEFM'11 Proceedings of the 9th international conference on Software engineering and formal methods
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

SAT-based bounded verification of programs consists of the translation of the code and its annotations into a propositional formula. The formula is then analyzed for specification violations using a SATsolver. This technique is capable of proving the absence of errors up to a given scope. SAT is a well-known NP-complete problem, whose complexity depends on the number of propositional variables occurring in the formula. Thus, reducing the number of variables in the logical representation may have a great impact on the overall analysis. We propose a dataflow analysis which infers the set of possible values that can be assigned to each local and instance variable. Unnecessary variables at the SAT level can then be safely removed by relying on the inferred values. We implemented this approach in TACO, a SAT-based verification tool. We present an extensive empirical evaluation and discuss the benefits of the proposed approach.