A Complete Approach to Loop Verification with Invariants and Summaries

10/12/2020
by   Gidon Ernst, et al.
0

Loop invariants characterize the partial result computed by a loop so far up to an intermediate state. It has been noted, however, that complementing invariants by summaries, which characterize the remaining iterations of a loop, can often lead to simpler correctness proofs. In this paper, we derive sound verification conditions for this approach, and moreover characterize completeness relative to a class of "safe" invariants, alongside with fundamental and novel insights in the relation between invariants and summaries. All theoretical results have immediate practical consequences for tool use and construction. Summaries should therefore be regarded as a principal alternative to invariants. To substantiate this claim experimentally, we evaluate the automation potential using state-of-the-art Horn solvers, which shows that the the proposed approach is competitive, even without specialized solving strategies.

READ FULL TEXT

Authors

page 1

page 2

page 3

page 4

09/25/2019

CLN2INV: Learning Loop Invariants with Continuous Logic Networks

Program verification offers a framework for ensuring program correctness...
06/26/2019

Ilinva: Using Abduction to Generate Loop Invariants

We describe a system to prove properties of programs. The key feature of...
03/05/2021

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

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

Cuvée: Blending SMT-LIB with Programs and Weakest Preconditions

Cuvée is a program verification tool that reads SMT-LIB-like input files...
05/19/2020

Pegasus: Sound Continuous Invariant Generation

Continuous invariants are an important component in deductive verificati...
03/18/2021

Computing Parameterized Invariants of Parameterized Petri Nets

A fundamental advantage of Petri net models is the possibility to automa...
05/16/2019

Loop Summarization with Rational Vector Addition Systems (extended version)

This paper presents a technique for computing numerical loop summaries. ...
This week in AI

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