arrow
Return

Inferring Loop Invariants by Mutation, Dynamic Analysis, and Static Checking

delete2015-10-01
delete22
delete
OA
AI
J
Juan Pablo Galeotti *
C
Carlo A. Furia
E
Eva May
G
Gordon Fraser
A
Andreas Zeller
DOI:10.1109/TSE.2015.2431688delete
deleteOriginal
deleteShare
deleteSave
View PDF
Abstract

Abstract

En 中文
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 classes (occasionally modified to avoid using Java features not fully supported by the static checker), our DYNAMATE prototype automatically discharged 97 percent of all proof obligations, resulting in automatic complete correctness proofs of 25 out of the 28 methods-outperforming several state-of-the-art tools for fully automatic verification.
Keywords:
Loop invariants
inference
automatic verification
functional properties
dynamic analysis
AI Summary

AI Summary

Key information extracted from the uploaded paper, including a brief overview, abstract, background, key highlights, visual analysis, and future outlook.

Journal

IEEE Transactions on Software Engineering cover
IEEE Transactions on Software Engineering
IF:
5.6
Papers:
2.8K
Citations:
1.1W

Organization

S
Saarland University
Scholars:
8.7K
Papers: 6.8K
Citations: 1.3W
E
ETH Zurich
Scholars:
3.0W
Papers: 2.4W
Citations: 8.4W
S
swiss federal institutes of technology domain
Scholars:
9.0W
Papers: 8.0W
Citations: 163
G
Google Incorporated
Scholars:
3.5K
Papers: 1.8K
Citations: 8
researcher View more organizations