Data-Driven Loop Invariant Inference with Automatic Feature Synthesis

by   Saswat Padhi, et al.

We present LoopInvGen, a tool for generating loop invariants that can provably guarantee correctness of a program with respect to a given specification. We extend the data-driven approach to inferring sufficient loop invariants from a collection of program states. In contrast to existing data-driven 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. We compare with existing static and dynamic tools for loop invariant inference, and show that LoopInvGen enables a less onerous and more expressive form of inference.



page 1

page 2

page 3


Algebra-based Synthesis of Loops and their Invariants (Invited Paper)

Provably correct software is one of the key challenges in our softwaredr...

Data-Driven Inference of Representation Invariants

A representation invariant is a property that holds of all values of abs...

Data-driven Numerical Invariant Synthesis with Automatic Generation of Attributes

We propose a data-driven algorithm for numerical invariant synthesis and...

Data-Driven Invariant Learning for Probabilistic Programs

Morgan and McIver's weakest pre-expectation framework is one of the most...

Data Invariants: On Trust in Data-Driven Systems

The reliability and proper function of data-driven applications hinge on...

SPEEDY: An Eclipse-based IDE for invariant inference

SPEEDY is an Eclipse-based IDE for exploring techniques that assist user...

Learning Nonlinear Loop Invariants with Gated Continuous Logic Networks (Extended Version)

Verifying real-world programs often requires inferring loop invariants w...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.