Testing, abstraction, theorem proving: better together!

  • Authors:
  • Greta Yorsh;Thomas Ball;Mooly Sagiv

  • Affiliations:
  • Tel Aviv University, Israel;Microsoft Research, Redmond;Tel Aviv University, Israel

  • Venue:
  • Proceedings of the 2006 international symposium on Software testing and analysis
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present a method for static program analysis that leverages tests and concrete program executions. State abstractions generalize the set of program states obtained from concrete executions. A theorem prover then checks that the generalized set of concrete states covers all potential executions and satisfies additional safety properties. Our method finds the same potential errors as the mostprecise abstract interpreter for a given abstraction and is potentially more efficient. Additionally, it provides a new way to tune the performance of the analysis by alternating between concrete execution and theorem proving. We have implemented our technique in a prototype for checking properties of C# programs.