Loop Invariants by Mutation, Dynamic Validation, and Static Checking
Authors: Juan Pablo Galeotti, Carlo A. Furia, Eva May, Gordon Fraser and Andreas Zeller
Paper Information
| Title: | Loop Invariants by Mutation, Dynamic Validation, and Static Checking |
| Authors: | Juan Pablo Galeotti, Carlo A. Furia, Eva May, Gordon Fraser and Andreas Zeller |
| Proceedings: | WING 2014 Workshop Papers |
| Editors: | Reiner Hähnle and Einar Broch Johnsen |
| Keywords: | loop invariants, dynamic techniques, static checking, automated verification |
| Abstract: | ABSTRACT. Some of the intrinsic limitations of the widely used static techniques for loop invariant inference can be offset by combining them with dynamic techniques---based on executing automatically generated tests. We show how useful loop invariant candidates can be generated by systematically mutating postconditions; then, we apply dynamic checking to weed out invalid candidates, and static checking to select provably valid ones. We present a framework that automatically applies these techniques to carry out functional correctness proofs without manually written loop invariants. Applied to 28 methods (including 39 different loops) from various java.util classes, our DynaMate prototype automatically discharged 97% 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 functional verification of programs with loops. |
| Pages: | 0 |
| Talk: | Jul 23 15:30 |
| Paper: | ![]() |
