Algebra-based Synthesis of Loops and their Invariants (Invited Paper)
Andreas Humenberger, Laura Kovacs

TL;DR
This paper presents algebraic methods for synthesizing loops and their invariants in programs modeled by linear recurrence equations, enabling correctness proofs, optimizations, and sequence generation.
Contribution
It introduces algorithms for synthesizing polynomial invariants and loops satisfying given invariants for systems modeled by C-finite recurrences.
Findings
Algorithms for polynomial invariant synthesis
Automated methods for loop synthesis from invariants
Applications in correctness proofs and compiler optimization
Abstract
Provably correct software is one of the key challenges in our softwaredriven society. While formal verification establishes the correctness of a given program, the result of program synthesis is a program which is correct by construction. In this paper we overview some of our results for both of these scenarios when analysing programs with loops. The class of loops we consider can be modelled by a system of linear recurrence equations with constant coefficients, called C-finite recurrences. We first describe an algorithmic approach for synthesising all polynomial equality invariants of such non-deterministic numeric single-path loops. By reverse engineering invariant synthesis, we then describe an automated method for synthesising program loops satisfying a given set of polynomial loop invariants. Our results have applications towards proving partial correctness of programs, compiler…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
