Learning the boundary of inductive invariants

We study the complexity of invariant inference and its connections to exact concept learning. We define a condition on invariants and their geometry, called the fence condition, which permits applying theoretical results from exact concept learning to answer open problems in invariant inference theory. The condition requires the invariant's boundary---the states whose Hamming distance from the invariant is one---to be backwards reachable from the bad states in a small number of steps. Using this condition, we obtain the first polynomial complexity result for an interpolation-based invariant inference algorithm, efficiently inferring monotone DNF invariants with access to a SAT solver as an oracle. We further harness Bshouty's seminal result in concept learning to efficiently infer invariants of a larger syntactic class of invariants beyond monotone DNF. Lastly, we consider the robustness of inference under program transformations. We show that some simple transformations preserve the fence condition, and that it is sensitive to more complex transformations.

[1]  Shuvendu K. Lahiri,et al.  Complexity and Algorithms for Monomial and Clausal Predicate Abstraction , 2009, CADE.

[2]  Nikolaj Bjørner,et al.  Property-Directed Inference of Universal Invariants or Proving Their Absence , 2015, CAV.

[3]  Neil Immerman,et al.  First-order quantified separators , 2020, PLDI.

[4]  Zachary Kincaid,et al.  Refinement of path expressions for static analysis , 2019, Proc. ACM Program. Lang..

[5]  Kenneth L. McMillan An interpolating theorem prover , 2005, Theor. Comput. Sci..

[6]  Sumit Gulwani,et al.  Oracle-guided component-based program synthesis , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[7]  Peter L. Hammer,et al.  Boolean Functions - Theory, Algorithms, and Applications , 2011, Encyclopedia of mathematics and its applications.

[8]  Nader H. Bshouty Exact Learning Boolean Function via the Monotone Theory , 1995, Inf. Comput..

[9]  Kedar S. Namjoshi,et al.  Symmetry and Completeness in the Analysis of Parameterized Systems , 2007, VMCAI.

[10]  Nader H. Bshouty,et al.  Simple learning algorithms using divide and conquer , 1995, COLT '95.

[11]  Aws Albarghouthi,et al.  Beautiful Interpolants , 2013, CAV.

[12]  Marek Karpinski,et al.  Learning read-once formulas with queries , 1993, JACM.

[13]  John Morrissey,et al.  Data driven. , 2019, Hospitals & health networks.

[14]  Arie Gurfinkel,et al.  SMT-based verification of parameterized systems , 2016, SIGSOFT FSE.

[15]  Jean-Christophe Filliâtre,et al.  The spirit of ghost code , 2016, Formal Methods Syst. Des..

[16]  Rajeev Alur,et al.  Syntax-guided synthesis , 2013, 2013 Formal Methods in Computer-Aided Design.

[17]  Kenneth L. McMillan,et al.  Interpolants from Z3 proofs , 2011, 2011 Formal Methods in Computer-Aided Design (FMCAD).

[18]  Reinhard Wilhelm,et al.  Parametric shape analysis via 3-valued logic , 1999, POPL '99.

[19]  Daniel Larraz,et al.  Proving Termination Through Conditional Termination , 2017, TACAS.

[20]  Isil Dillig,et al.  Inductive invariant generation via abductive inference , 2013, OOPSLA.

[21]  K. Rustan M. Leino,et al.  Trigger Selection Strategies to Stabilize Program Verifiers , 2016, CAV.

[22]  Nader H. Bshouty,et al.  Exact Learning from an Honest Teacher That Answers Membership Queries , 2017, Theor. Comput. Sci..

[23]  George Markowsky,et al.  On the number of prime implicants , 1978, Discret. Math..

[24]  Neil Immerman,et al.  Complexity and information in invariant inference , 2020, Proc. ACM Program. Lang..

[25]  Sumit Gulwani,et al.  Template-based program verification and program synthesis , 2013, International Journal on Software Tools for Technology Transfer.

[26]  Nikolaj Bjørner,et al.  Property-Directed Shape Analysis , 2014, CAV.

[27]  Alexander Aiken,et al.  Interpolants as Classifiers , 2012, CAV.

[28]  Hassen Saïdi,et al.  Construction of Abstract State Graphs with PVS , 1997, CAV.

[29]  Hana Chockler,et al.  Computing Interpolants without Proofs , 2012, Haifa Verification Conference.

[30]  K. Rustan M. Leino,et al.  Houdini, an Annotation Assistant for ESC/Java , 2001, FME.

[31]  T. Sanders,et al.  Analysis of Boolean Functions , 2012, ArXiv.

[32]  David Monniaux,et al.  Program Analysis with Local Policy Iteration , 2016, VMCAI.

[33]  Ryan O'Donnell,et al.  Analysis of Boolean Functions , 2014, ArXiv.

[34]  Daniel Kroening,et al.  Lifting Propositional Interpolants to the Word-Level , 2007 .

[35]  Aws Albarghouthi,et al.  Effectively Propositional Interpolants , 2016, CAV.

[36]  Soonho Kong,et al.  Automatically inferring loop invariants via algorithmic learning , 2015, Math. Struct. Comput. Sci..

[37]  Alexander Aiken,et al.  From invariant checking to invariant inference using randomized search , 2014, Formal Methods Syst. Des..

[38]  Christof Löding,et al.  ICE: A Robust Framework for Learning Invariants , 2014, CAV.

[39]  Yakir Vizel,et al.  Efficient Generation of Small Interpolants in CNF , 2013, CAV.

[40]  Rastislav Bodík,et al.  Accelerating Syntax-Guided Invariant Synthesis , 2018, TACAS.

[41]  Leslie G. Valiant,et al.  A theory of the learnable , 1984, STOC '84.

[42]  Kenneth L. McMillan,et al.  Interpolation and SAT-Based Model Checking , 2003, CAV.

[43]  Sharad Malik,et al.  Fast Interpolating BMC , 2015, CAV.

[44]  Roberto Giacobazzi,et al.  Analyzing Program Analyses , 2015, POPL.

[45]  L. Pitt,et al.  On the Learnability of Disjunctive Normal Form Formulas , 1995, Machine Learning.

[46]  Balázs Szörényi,et al.  On k-Term DNF with the Largest Number of Prime Implicants , 2008, SIAM J. Discret. Math..

[47]  J. Ross Quinlan,et al.  Induction of Decision Trees , 1986, Machine Learning.

[48]  Kenneth L. McMillan,et al.  Lazy Abstraction with Interpolants , 2006, CAV.

[49]  Alexander Aiken,et al.  Verification as Learning Geometric Concepts , 2013, SAS.

[50]  Dan Roth,et al.  Learning invariants using decision trees and implication counterexamples , 2016, POPL.

[51]  Alexander Aiken,et al.  A Data Driven Approach for Algebraic Loop Invariants , 2013, ESOP.

[52]  Joseph F. Traub,et al.  Complexity and information , 1999, Lezioni Lincee.

[53]  Abraham Silberschatz,et al.  Learning and verifying quantified boolean queries by example , 2013, PODS '13.

[54]  Robert K. Brayton,et al.  Efficient implementation of property directed reachability , 2011, 2011 Formal Methods in Computer-Aided Design (FMCAD).

[55]  Yih-Kuen Tsay,et al.  Automated Assume-Guarantee Reasoning through Implicit Learning , 2010, CAV.

[56]  K ChandraAshok,et al.  On the number of prime implicants , 1978 .

[57]  Sam Blackshear,et al.  Verification modulo versions: towards usable verification , 2014, PLDI.

[58]  D. Angluin Queries and Concept Learning , 1988 .

[59]  Alberto Griggio,et al.  Efficient generation of craig interpolants in satisfiability modulo theories , 2009, TOCL.

[60]  Aaron R. Bradley,et al.  SAT-Based Model Checking without Unrolling , 2011, VMCAI.

[61]  William Craig,et al.  Linear reasoning. A new form of the Herbrand-Gentzen theorem , 1957, Journal of Symbolic Logic.

[62]  Nikolaj Bjørner,et al.  Instantiations, Zippers and EPR Interpolation , 2013, LPAR.

[63]  Armin Biere,et al.  Symbolic Model Checking without BDDs , 1999, TACAS.

[64]  Shmuel Sagiv,et al.  Inferring Inductive Invariants from Phase Structures , 2019, CAV.

[65]  Isil Dillig,et al.  Simplifying Loop Invariant Generation Using Splitter Predicates , 2011, CAV.

[66]  Cormac Flanagan,et al.  Predicate abstraction for software verification , 2002, POPL '02.

[67]  Kenneth L. McMillan Interpolation and Model Checking , 2018, Handbook of Model Checking.