LoopInvGen: A Loop Invariant Generator based on Precondition Inference
Abstract
We describe the LoopInvGen tool for generating loop invariants that can provably guarantee correctness of a program with respect to a given specification. LoopInvGen is an efficient implementation of the inference technique originally proposed in our earlier work on PIE (https://doi.org/10.1145/2908080.2908099). In contrast to existing techniques, LoopInvGen is not restricted to a fixed set of features -- atomic predicates that are composed together to build complex loop invariants. Instead, we start with no initial features, and use program synthesis techniques to grow the set on demand. This not only enables a less onerous and more expressive approach, but also appears to be significantly faster than the existing tools over the SyGuS-COMP 2018 benchmarks from the INV track.
Cite
@article{arxiv.1707.02029,
title = {LoopInvGen: A Loop Invariant Generator based on Precondition Inference},
author = {Saswat Padhi and Rahul Sharma and Todd Millstein},
journal= {arXiv preprint arXiv:1707.02029},
year = {2019}
}
Comments
Tool Description ( for technical details, see our PLDI paper at https://doi.org/10.1145/2908080.2908099 ), SyGuS-COMP'19 Competition Contribution, 4 pages