Solving Conditional Linear Recurrences for Program Verification: The Periodic Case
Chenglin Wang, Fangzhen Lin
摘要
In program verification, one method for reasoning about loops is to convert them into sets of recurrences, and then try to solve these recurrences by computing their closed-form solutions. While there are solvers for computing closed-form solutions to these recurrences, their capabilities are limited when the recurrences have conditional expressions, which arise when the body of a loop contains conditional statements. In this paper, we take a step towards solving these recurrences. Specifically, we consider what we call conditional linear recurrences and show that given such a recurrence and an initial value, if the index sequence generated by the recurrence on the initial value is what we call ultimately periodic, then it has a closed-form solution. However, checking whether such a sequence is ultimately periodic is undecidable so we propose a heuristic "generate and verify" algorithm for checking the ultimate periodicity of the sequence and computing closed-form solutions at the same time. We implemented a solver based on this algorithm, and our experiments show that a straightforward program verifier based on our solver and using the SMT solver Z3 is effective in verifying properties of many benchmark programs that contain conditional statements in their loops, and compares favorably to other recurrence-based verification tools. Finally, we also consider extending our results to computing closed-form solutions of recurrences with unknown initial values.
问问这篇 Paper
问问你的智能体。
Lune 读过与它相关的顶会 Paper,每个回答都会注明依据哪几篇。
引用它的顶会 Paper1
问问它们各自怎么用它相关 Paper
- On Polynomial Expressions with C-Finite Recurrences in Loops with Nested Nondeterministic BranchesChenglin Wang, Fangzhen LinCAV 2024 · 被引用 3 次
- Deciding ω-regular properties on linear recurrence sequencesShaull Almagor, Toghrul Karimov, Edon Kelmendi, Joël Ouaknine 等POPL 2021 · 被引用 14 次
- Data-driven Recurrent Set Learning For Non-termination AnalysisZhilei Han, Fei HeICSE 2023 · 被引用 1 次
- Loop Invariant Inference through SMT Solving Enhanced Reinforcement LearningShiwen Yu, Ting Wang, Ji WangISSTA 2023 · 被引用 11 次
- Solvable Polynomial Ideals: The Ideal Reflection for Program AnalysisJohn Cyphert, Zachary KincaidPOPL 2024 · 被引用 11 次
