Could We Have Chosen a Better Loop Invariant or Method Contract?

  • Authors:
  • Christoph Gladisch

  • Affiliations:
  • Department of Computer Science, University of Koblenz-Landau, Germany

  • Venue:
  • TAP '09 Proceedings of the 3rd International Conference on Tests and Proofs
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

The method contract and loop invariant rules (contract rules ) are an important software verification technique for handling method invocations and loops. However, if a verification condition resulting from using a contract rule turns out to be falsifiable, then the user does not know if she could have chosen a stronger contract to verify the program or if the program is not verifiable due to a software bug. We approach this problem and present a novel technique that unifies verification and software bug detection.