Learning invariants using decision trees and implication counterexamples

Pranav Garg, Daniel Neider, P. Madhusudan, Dan Roth
2016 Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages - POPL 2016  
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 scalable machine learning techniques. In particular, we extend decision tree learning algorithms, building new scalable and heuristic ways to construct small
more » ... sion trees using statistical measures that account for implication counterexamples. We implement the learners and an appropriate teacher, and show that they are scalable, efficient and convergent in synthesizing adequate inductive invariants in a suite of more than 50 programs.
doi:10.1145/2837614.2837664 dblp:conf/popl/0001NMR16 fatcat:jyemnddvovfchguduprxl54ygi