Ilinva: Using Abduction to Generate Loop Invariants

06/26/2019
by   Mnacho Echenim, et al.
0

We describe a system to prove properties of programs. The key feature of this approach is a method to automatically synthesize inductive invariants of the loops contained in the program. The method is generic, i.e., it applies to a large set of programming languages and application domains; and lazy, in the sense that it only generates invariants that allow one to derive the required properties. It relies on an existing system called GPiD for abductive reasoning modulo theories, and on the platform for program verification Why3. Experiments show evidence of the practical relevance of our approach.

READ FULL TEXT
research
05/31/2021

Diffy: Inductive Reasoning of Array Programs using Difference Invariants

We present a novel verification technique to prove interesting propertie...
research
02/13/2023

From Polynomial Invariants to Linear Loops

Loop invariants are software properties that hold before and after every...
research
04/16/2019

Using Dynamic Analysis to Generate Disjunctive Invariants

Program invariants are important for defect detection, program verificat...
research
04/09/2021

Beyond the Elementary Representations of Program Invariants over Algebraic Data Types

First-order logic is a natural way of expressing properties of computati...
research
12/23/2017

Presburger-Definable Parameterized Typestates

Typestates are good at capturing dynamic states of a program as compared...
research
10/12/2020

A Complete Approach to Loop Verification with Invariants and Summaries

Loop invariants characterize the partial result computed by a loop so fa...
research
09/02/2021

A Reasoning Engine for the Gamification of Loop-Invariant Discovery

We describe the design and implementation of a reasoning engine that fac...

Please sign up or login with your details

Forgot password? Click here to reset