A Failed Proof Can Yield a Useful Test

08/21/2022
by   Li Huang, et al.
0

A successful automated program proof is, in software verification, the ultimate triumph. In practice, however, the road to such success is paved with many failed proof attempts. Unlike a failed test, which provides concrete evidence of an actual bug in the program, a failed proof leaves the programmer in the dark. Can we instead learn something useful from it? The work reported here takes advantage of the rich internal information that some automatic provers collect about the program when attempting a proof. If the proof fails, the Proof2Test tool presented in this article uses the counterexample generated by the prover (specifically, the SMT solver underlying the proof environment Boogie, used in the AutoProof system to perform correctness proofs of contract-equipped Eiffel programs) to produce a failed test, which provides the programmer with immediately exploitable information to correct the program. The discussion presents the Proof2Test tool and demonstrates the application of the ideas and tool to a collection of representative examples.

READ FULL TEXT
research
08/21/2022

Improving Counterexample Quality from Failed Program Verification

In software verification, a successful automated program proof is the ul...
research
04/12/2018

Debugging Program Verification Proof Scripts (Tool Paper)

Interactive program verification is characterized by iterations of unfin...
research
08/06/2021

How the Analyzer can Help the User Help the Analyzer

The automation offered by modern program proof tools goes hand in hand w...
research
05/22/2019

Reductions for Automated Hypersafety Verification

We propose an automated verification technique for hypersafety propertie...
research
07/09/2019

Understanding Counterexamples for Relational Properties with DIbugger

Software verification is a tedious process that involves the analysis of...
research
03/13/2020

QED at Large: A Survey of Engineering of Formally Verified Software

Development of formal proofs of correctness of programs can increase act...
research
10/12/2018

Linear Program Reconstruction in Practice

We briefly report on a linear program reconstruction attack performed on...

Please sign up or login with your details

Forgot password? Click here to reset