Proving or Disproving likely Invariants with Constraint Reasoning
Tristan Denmat, Arnaud Gotlieb, Mireille Ducasse

TL;DR
This paper introduces a constraint reasoning method to automatically verify whether likely invariants, inferred via dynamic analysis, are true invariants or not, providing proofs or counterexamples.
Contribution
It presents a novel constraint-based reasoning approach capable of proving or disproving likely invariants, advancing automatic invariant verification.
Findings
Successfully verified likely invariants in a motivating example
Can generate counterexamples when invariants are disproved
Demonstrates the approach's ability to both prove and disprove invariants
Abstract
A program invariant is a property that holds for every execution of the program. Recent work suggest to infer likely-only invariants, via dynamic analysis. A likely invariant is a property that holds for some executions but is not guaranteed to hold for all executions. In this paper, we present work in progress addressing the challenging problem of automatically verifying that likely invariants are actual invariants. We propose a constraint-based reasoning approach that is able, unlike other approaches, to both prove or disprove likely invariants. In the latter case, our approach provides counter-examples. We illustrate the approach on a motivating example where automatically generated likely invariants are verified.
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
TopicsFormal Methods in Verification · Software Testing and Debugging Techniques · Logic, programming, and type systems
