Abstract—Verifiers that can prove programs correct against their full functional specification require, for programs with loops, additional annotations in the form of loop invariants—properties that hold for every iteration of a loop. We show that significant loop invariant candidates can be generated by systematically mutating postconditions; then, dynamic checking (based on automatically generated tests) weeds out invalid candidates, and static checking selects provably valid ones. We present a framework that automatically applies these techniques to support a program prover, paving the way for fully automatic verification without manually written loop invariants: Applied to 28 methods (including 39 different loops) from various java.util...
We describe an iterative algorithm for mechanically deriving loop invariants for the purpose of prov...
Static analysis of program semantics can be used to provide strong guarantees about the correctness ...
AbstractThis paper shows how to integrate two complementary techniques for manipulating program inva...
Verifiers that can prove programs correct against their full functional specification require, for p...
Framing in the presence of data abstraction is a challenging and important problem in the verificati...
The verification of programs offers great advantages for developers and users, because we can rely o...
Software verification is an important and difficult problem. Many static checking techniques for sof...
Abstract. Framing in the presence of data abstraction is a challenging and important problem in the ...
International audienceThe automation of the deductive approach to program veri- fication crucially d...
In a Cleanroom-style functional program verification, a program is viewed as a mathematical functio...
We present a framework for automating the discovery of loop invariants based upon failed proof atte...
International audienceThis paper presents a minimal model of the functioning of program verification...
Abstract. Most of the properties established during program verification are either invariants or de...
peer-reviewedMany automated techniques for invariant generation are based on the idea that the invar...
Abstract—Loop invariants play a major role in program verifi-cation. Though various techniques have ...
We describe an iterative algorithm for mechanically deriving loop invariants for the purpose of prov...
Static analysis of program semantics can be used to provide strong guarantees about the correctness ...
AbstractThis paper shows how to integrate two complementary techniques for manipulating program inva...
Verifiers that can prove programs correct against their full functional specification require, for p...
Framing in the presence of data abstraction is a challenging and important problem in the verificati...
The verification of programs offers great advantages for developers and users, because we can rely o...
Software verification is an important and difficult problem. Many static checking techniques for sof...
Abstract. Framing in the presence of data abstraction is a challenging and important problem in the ...
International audienceThe automation of the deductive approach to program veri- fication crucially d...
In a Cleanroom-style functional program verification, a program is viewed as a mathematical functio...
We present a framework for automating the discovery of loop invariants based upon failed proof atte...
International audienceThis paper presents a minimal model of the functioning of program verification...
Abstract. Most of the properties established during program verification are either invariants or de...
peer-reviewedMany automated techniques for invariant generation are based on the idea that the invar...
Abstract—Loop invariants play a major role in program verifi-cation. Though various techniques have ...
We describe an iterative algorithm for mechanically deriving loop invariants for the purpose of prov...
Static analysis of program semantics can be used to provide strong guarantees about the correctness ...
AbstractThis paper shows how to integrate two complementary techniques for manipulating program inva...