@inproceedings{64343c892b424321bedcf4918d2876d2,
title = "Learning invariants using decision trees and implication counterexamples",
abstract = "Inductive invariants can be robustly synthesized using a learning model where the teacher is a program verifier who instructs the learner through concrete program configurations, classified as positive, negative, and implications. We propose the first learning algorithms in this model with implication counter-examples that are based on machine learning techniques. In particular, we extend classical decision-tree learning algorithms in machine learning to handle implication samples, building new scalable ways to construct small decision trees using statistical measures. We also develop a decision-tree learning algorithm in this model that is guaranteed to converge to the right concept (invariant) if one exists.We implement the learners and an appropriate teacher, and show that the resulting invariant synthesis is efficient and convergent for a large suite of programs.",
keywords = "Decision trees, ICE learning, Invariant synthesis, Machine learning",
author = "Pranav Garg and Daniel Neider and P. Madhusudan and Dan Roth",
note = "Copyright: Copyright 2017 Elsevier B.V., All rights reserved.; 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2016 ; Conference date: 20-01-2016 Through 22-01-2016",
year = "2016",
month = jan,
day = "11",
doi = "10.1145/2837614.2837664",
language = "English (US)",
series = "Conference Record of the Annual ACM Symposium on Principles of Programming Languages",
publisher = "Association for Computing Machinery",
pages = "499--512",
editor = "Rupak Majumdar and Rastislav Bodik",
booktitle = "POPL 2016 - Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages",
address = "United States",
}