Learning Invariants using Decision Trees
Not on the map. Why?
Abstract (arXiv)
The problem of inferring an inductive invariant for verifying program safety can be formulated in terms of binary classification. This is a standard problem in machine learning: given a sample of good and bad points, one is asked to find a classifier that generalizes from the sample and separates the two sets. Here, the good points are the reachable states of the program, and the bad points are those that reach a safety property violation. Thus, a learned classifier is a candidate invariant. In this paper, we propose a new algorithm that uses decision trees to learn candidate invariants in the form of arbitrary Boolean combinations of numerical inequalities. We have used our algorithm to verify C programs taken from the literature. The algorithm is able to infer safe invariants for a range of challenging benchmarks and compares favorably to other ML-based invariant inference techniques. In particular, it scales well to large sample sets.
Key facts. Cited by 3 papers in the map (data through 7 Oct 2026). First posted on arXiv 20 Jan 2015.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2021: 1; 2022: 0; 2023: 0; 2024: 1; 2025: 0; 2026: 1.
3 papers.
- 2024FVEL: Interactive Formal Verification Environment with Large Language Models via Theorem Provingcited by 22
- 2026SpecMind: Cognitively Inspired, Interactive Multi-Turn Framework for Postcondition Inferencecited by 2
- 2021Learning Heuristics for Template-based CEGIS of Loop Invariants with Reinforcement Learningcited by 0
- 2026SpecMind: Cognitively Inspired, Interactive Multi-Turn Framework for Postcondition Inference24 Feb 2026
- 2024FVEL: Interactive Formal Verification Environment with Large Language Models via Theorem Proving20 Jun 2024
- 2021Learning Heuristics for Template-based CEGIS of Loop Invariants with Reinforcement Learning16 Jul 2021