Solvable Tuple Patterns and Their Applications to Program Verification

📅 2025-08-27
📈 Citations: 0
Influential: 0
📄 PDF
🤖 AI Summary
Automated verification of programs manipulating recursive data structures—such as linked lists—remains challenging due to the difficulty of inferring expressive, inductive invariants. Method: This paper introduces Solvable Tuple Patterns (STPs), a formal invariant pattern designed over the theory of sequences to compactly express inductive relations among list-like structures. STPs enable efficient inference from few positive examples only—without requiring negative samples—and enjoy good decidability. We integrate STPs into a Constrained Horn Clause (CHC) verification framework, leveraging SMT solvers to discharge induction checks. Contribution/Results: STPs eliminate reliance on manually crafted templates or large training datasets, establishing a new paradigm for recursive program verification. Our CHC solver, built upon this approach, achieved first place in the ADT-LIN track of CHC-COMP 2025, significantly advancing both verification efficiency and automation.

Technology Category

Application Category

📝 Abstract
Despite the recent progress of automated program verification techniques, fully automated verification of programs manipulating recursive data structures remains a challenge. We introduce the notion of solvable tuple patterns (STPs) to express invariants between list-like recursive data structures. A distinguishing feature of STPs is that they can be efficiently inferred from only a small number of positive samples; no negative samples are required. An SMT solver that supports the sequence theory can be used to check that an inferred STP is indeed an inductive invariant. After presenting basic properties of STPs and an STP inference algorithm, we show how to incorporate the STP inference into a CHC (Constrained Horn Clauses) solver supporting list-like data structures, which serves as a uniform backend for automated program verification tools. A CHC solver incorporating the STP inference has won the ADT-LIN category of CHC-COMP 2025 by a big margin.
Problem

Research questions and friction points this paper is trying to address.

Automated verification of recursive data structure programs remains challenging
Introducing solvable tuple patterns to express structural invariants efficiently
Enhancing CHC solvers for automated program verification with STP inference
Innovation

Methods, ideas, or system contributions that make the work stand out.

Solvable tuple patterns for recursive data invariants
Efficient inference from positive samples only
SMT solver integration for inductive invariant verification
🔎 Similar Papers
No similar papers found.