Diffy: Inductive Reasoning of Array Programs Using Difference Invariants
Supratik Chakraborty, Ashutosh Gupta, Divyesh Unadkat
摘要
We present a novel verification technique to prove interesting properties of a class of array programs with a symbolic parameter N denoting the size of arrays. The technique relies on constructing two slightly different versions of the same program. It infers difference relations between the corresponding variables at key control points of the joint control-flow graph of the two program versions. The desired postcondition is then proved by inducting on the program parameter N , wherein the difference invariants are crucially used in the inductive step. This contrasts with classical techniques that rely on finding potentially complex loop invaraints for each loop in the program. Our synergistic combination of inductive reasoning and finding simple difference invariants helps prove properties of programs that cannot be proved even by the winner of Arrays sub-category from SV-COMP 2021. We have implemented a prototype tool called Diffy to demonstrate these ideas. We present results comparing the performance of Diffy with that of state-of-the-art tools.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了最后一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper3
- AutoVerus: Automated Proof Generation for Rust CodeChenyuan Yang, Xuheng Li, Md Rakib Hossain Misu, Jianan Yao 等OOPSLA 2025 · 被引用 11 次
- Automated Verification of Monotonic Data Structure Traversals in CMatthew SotoudehCAV 2025 · 被引用 1 次
- Data-Driven Verification of Procedural Programs with Integer ArraysAhmed Bouajjani, Wael-Amine Boutglay, Peter HabermehlCAV 2025
它引用的顶会 Paper1
相关 Paper
- Verifying Array Properties in Pure Data-Parallel ProgramsNikolaj Hey Hinnerskov, Robert Schenck, Cosmin E. OanceaPLDI 2026 · 被引用 1 次
- Sound and Complete Invariant-Based Heap EncodingsZafer Esen, Philipp Rümmer, Tjark WeberOOPSLA 2026
- Transition Invariants Revisited: Termination Witnesses and Their ValidationDirk Beyer, Marek Jankola, Marian Lingsch RosenfeldCAV 2026
- Array-Carrying Symbolic Execution for Function Contract GenerationWeijie Lu, Jingyu Ke, Hongfei Fu, Zhouyue Sun 等FM 2026
- Abductive Inference of Separation Logic Specifications with Isorecursive User-Defined Predicates and Magic WandsNicolas Klose, Peter MüllerOOPSLA 2026 · 被引用 1 次
