Data-driven Verification of Procedural Programs with Integer Arrays

📅 2025-05-21
📈 Citations: 0
Influential: 0
📄 PDF
🤖 AI Summary
This work addresses the automated verification of procedural programs with parametric-sized integer arrays—a challenging problem in program analysis. We propose a novel data-driven approach based on constraint Horn clause solving. Our method extends the Horn-ICE framework to integer array domains for the first time, introducing a dimensionality-reduction classification learning mechanism that maps vector-valued array states to vector-valued integer states. It further enables automatic generalization from sample-based classifiers to universally quantified loop invariants and procedure contracts. Integrating decision-tree learning, array abstraction, and inductive reasoning, our technique achieves high-precision, scalable, fully automated verification of programs featuring complex array operations. Experimental evaluation on standard benchmarks demonstrates significant improvements in both verification accuracy and efficiency over state-of-the-art tools.

Technology Category

Application Category

📝 Abstract
We address the problem of verifying automatically procedural programs manipulating parametric-size arrays of integers, encoded as a constrained Horn clauses solving problem. We propose a new algorithmic method for synthesizing loop invariants and procedure pre/post-conditions represented as universally quantified first-order formulas constraining the array elements and program variables. We adopt a data-driven approach that extends the decision tree Horn-ICE framework to handle arrays. We provide a powerful learning technique based on reducing a complex classification problem of vectors of integer arrays to a simpler classification problem of vectors of integers. The obtained classifier is generalized to get universally quantified invariants and procedure pre/post-conditions. We have implemented our method and shown its efficiency and competitiveness w.r.t. state-of-the-art tools on a significant benchmark.
Problem

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

Verifying procedural programs with integer arrays automatically
Synthesizing loop invariants and procedure conditions for arrays
Extending Horn-ICE framework to handle array classification
Innovation

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

Extends decision tree Horn-ICE for array handling
Reduces complex array classification to integer classification
Synthesizes universally quantified invariants and conditions
🔎 Similar Papers
No similar papers found.