Doomed program points

  • Authors:
  • Jochen Hoenicke;K. Rustan Leino;Andreas Podelski;Martin Schäf;Thomas Wies

  • Affiliations:
  • University of Freiburg, Freiburg im Breisgau, Germany;Microsoft Research, Redmond, USA;University of Freiburg, Freiburg im Breisgau, Germany;University of Freiburg, Freiburg im Breisgau, Germany;Institute of Science and Technology, Klosterneuburg, Austria

  • Venue:
  • Formal Methods in System Design
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Any programming error that can be revealed before compiling a program saves precious time for the programmer. While integrated development environments already do a good job by detecting, e.g., data-flow abnormalities, current static analysis tools suffer from false positives ("noise") or require strong user interaction.We propose to avoid this deficiency by defining a new class of errors. A program fragment is doomed if its execution will inevitably fail, regardless of which state it is started in. We use a formal verification method to identify such errors fully automatically and, most significantly, without producing noise. We report on experiments with a prototype tool.