Formal Methods in System Design

, Volume 37, Issue 2–3, pp 171–199

Doomed program points

  • Jochen Hoenicke
  • K. Rustan M. Leino
  • Andreas Podelski
  • Martin Schäf
  • Thomas Wies
Article

DOI: 10.1007/s10703-010-0102-0

Cite this article as:
Hoenicke, J., Leino, K.R.M., Podelski, A. et al. Form Methods Syst Des (2010) 37: 171. doi:10.1007/s10703-010-0102-0

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.

Keywords

Reliability Program falsification Static checking 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Springer Science+Business Media, LLC 2010

Authors and Affiliations

  • Jochen Hoenicke
    • 1
  • K. Rustan M. Leino
    • 2
  • Andreas Podelski
    • 1
  • Martin Schäf
    • 1
  • Thomas Wies
    • 3
  1. 1.University of FreiburgFreiburg im BreisgauGermany
  2. 2.Microsoft ResearchRedmondUSA
  3. 3.Institute of Science and TechnologyKlosterneuburgAustria

Personalised recommendations