Automatic Program Instrumentation for Automatic Verification
Jesper Amilon, Zafer Esen, Dilian Gurov, Christian Lidström, Philipp Rümmer
Abstract
Abstract In deductive verification and software model checking, dealing with certain specification language constructs can be problematic when the back-end solver is not sufficiently powerful or lacks the required theories. One way to deal with this is to transform, for verification purposes, the program to an equivalent one not using the problematic constructs, and to reason about its correctness instead. In this paper, we propose instrumentation as a unifying verification paradigm that subsumes various existing ad-hoc approaches, has a clear formal correctness criterion, can be applied automatically, and can transfer back witnesses and counterexamples. We illustrate our approach on the automated verification of programs that involve quantification and aggregation operations over arrays, such as the maximum value or sum of the elements in a given segment of the array, which are known to be difficult to reason about automatically. We implement our approach in the MonoCera tool, which is tailored to the verification of programs with aggregation, and evaluate it on example programs, including SV-COMP programs.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext a59d510b-12e5-44c8-966f-1d3261496f9dCited by top-tier papers2
- Array-Carrying Symbolic Execution for Function Contract GenerationWeijie Lu, Jingyu Ke, Hongfei Fu, Zhouyue Sun et al.FM 2026
- Data-Driven Verification of Procedural Programs with Integer ArraysAhmed Bouajjani, Wael-Amine Boutglay, Peter HabermehlCAV 2025
Builds on1
Related papers
- Verifying Array Properties in Pure Data-Parallel ProgramsNikolaj Hey Hinnerskov, Robert Schenck, Cosmin E. OanceaPLDI 2026 · 1 citation
- Scalable Deductive Verification of Data-Level Parallel ProgramsLars B. van den Haak, Anton Wijs, Marieke HuismanCAV 2026
- Automated Verification of Monotonic Data Structure Traversals in CMatthew SotoudehCAV 2025 · 1 citation
- Monotone Procedure Summarization via Vector Addition Systems and Inductive PotentialsNikhil Pimpalkhare, Zachary KincaidOOPSLA 2024 · 4 citations
- Using Symmetries to Lift Satisfiability CheckingPierre Carbonnelle, Gottfried Schenner, Maurice Bruynooghe, Bart Bogaerts et al.AAAI 2024
