Verifying Tree-Manipulating Programs via CHCs
Marco Faella, Gennaro Parlato
Abstract
Abstract Programs that manipulate tree-shaped data structures often require complex, specialized proofs that are difficult to generalize and automate. This paper introduces a unified, foundational approach to verifying such programs. Central to our approach is the knitted-tree encoding , modeling each program execution as a tree structure capturing input, output, and intermediate states. Leveraging the compositional nature of knitted-trees, we encode these structures as constrained Horn clauses (CHC s), reducing verification to CHC satisfiability. To illustrate our approach, we focus on memory safety and show how it naturally leads to simple, modular invariants.
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 d308d986-c0e3-460a-bc26-3c5ab4628469Cited by top-tier papers1
Ask how each one uses itBuilds on4
- Reachability Games Modulo Theories with a Bounded Safety PlayerMarco Faella, Gennaro ParlatoAAAI 2023 · 15 citations
- Deciding memory safety for single-pass heap-manipulating programsUmang Mathur, Adithya Murali, Paul Krogmeier, P. Madhusudan et al.POPL 2020 · 11 citations
- Model-guided synthesis of inductive lemmas for FOL with least fixpointsAdithya Murali, Lucas Peña, Eion Blanchard, Christof Löding et al.OOPSLA 2022 · 11 citations
- Reasoning About Data Trees Using CHCsMarco Faella, Gennaro ParlatoCAV 2022 · 6 citations
Related papers
- Arithmetizing Shape AnalysisSebastian Wolff, Ekanshdeep Gupta, Zafer Esen, Hossein Hojjat et al.CAV 2025
- Solving constrained Horn clauses modulo algebraic data types and recursive functionsHari Govind V. K., Sharon Shoham, Arie GurfinkelPOPL 2022 · 26 citations
- Solvable Tuple Patterns and Their Applications to Program VerificationNaoki Kobayashi, Ryosuke Sato, Ayumi Shinohara, Ryo YoshinakaPLDI 2026
- Data-Driven Verification of Procedural Programs with Integer ArraysAhmed Bouajjani, Wael-Amine Boutglay, Peter HabermehlCAV 2025
- Learning Symmetric Invariants from Symmetric SamplesZhijie Xu, Fei HeOOPSLA 2026
