We gratefully acknowledge support from
the Simons Foundation and member institutions.
Full-text links:

Download:

Current browse context:

cs.PL

Change to browse by:

References & Citations

DBLP - CS Bibliography

Bookmark

(what is this?)
CiteULike logo BibSonomy logo Mendeley logo del.icio.us logo Digg logo Reddit logo

Computer Science > Programming Languages

Title: Learning Invariants using Decision Trees

Abstract: 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.
Comments: 15 pages, 2 figures
Subjects: Programming Languages (cs.PL); Machine Learning (cs.LG)
Cite as: arXiv:1501.04725 [cs.PL]
  (or arXiv:1501.04725v1 [cs.PL] for this version)

Submission history

From: Siddharth Krishna [view email]
[v1] Tue, 20 Jan 2015 07:20:30 GMT (338kb,D)

Link back to: arXiv, form interface, contact.