Generalized Homogeneous Polynomials for Efficient Template-Based Nonlinear Invariant Synthesis
Kensuke Kojima, Minoru Kinoshita, Kohei Suenaga

TL;DR
This paper introduces a novel approach to algebraic invariant synthesis by focusing on generalized homogeneous invariants, reducing template size and improving efficiency in synthesizing invariants for programs.
Contribution
It formally defines generalized homogeneous algebraic invariants and modifies existing synthesis methods to generate only these invariants, resulting in more efficient invariant synthesis.
Findings
Outperforms previous methods on high-degree template programs
Reduces template size for algebraic invariants
Proves the soundness of the modified synthesis approach
Abstract
The template-based method is one of the most successful approaches to algebraic invariant synthesis. In this method, an algorithm designates a template polynomial p over program variables, generates constraints for p=0 to be an invariant, and solves the generated constraints. However, this approach often suffers from an increasing template size if the degree of a template polynomial is too high. We propose a technique to make template-based methods more efficient. Our technique is based on the following finding: If an algebraic invariant exists, then there is a specific algebraic invariant that we call a generalized homogeneous algebraic invariant that is often smaller. This finding justifies using only a smaller template that corresponds to a generalized homogeneous algebraic invariant. Concretely, we state our finding above formally based on the abstract semantics of an imperative…
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.
Taxonomy
TopicsLogic, programming, and type systems · Formal Methods in Verification · Software Testing and Debugging Techniques
