Understanding IC3

The recently introduced model checking algorithm, IC3, has proved to be among the best SAT-based safety model checkers. Many implementations now exist. This paper provides the context from which IC3 was developed and explains how the originator of the algorithm understands it. Then it draws parallels between IC3 and the subsequently developed algorithms, FAIR and IICTL, which extend IC3's ideas to the analysis of ω-regular and CTL properties, respectively. Finally, it draws attention to certain challenges that these algorithms pose for the SAT and SMT community.

[1]  Kenneth L. McMillan,et al.  Applying SAT Methods in Unbounded Symbolic Model Checking , 2002, CAV.

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

[3]  Aaron R. Bradley k-Step Relative Inductive Generalization , 2010, ArXiv.

[4]  Nicolas Halbwachs,et al.  Automatic discovery of linear restraints among variables of a program , 1978, POPL.

[5]  Kamel Barkaoui,et al.  Theoretical Aspects of Computing - ICTAC 2006, Third International Colloquium, Tunis, Tunisia, November 20-24, 2006, Proceedings , 2006, ICTAC.

[6]  Zohar Manna,et al.  Verification Constraint Problems with Strengthening , 2006, ICTAC.

[7]  Yan Zhang,et al.  An incremental approach to model checking progress properties , 2011, 2011 Formal Methods in Computer-Aided Design (FMCAD).

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

[9]  Kousha Etessami,et al.  Analysis of Recursive Game Graphs Using Data Flow Equations , 2004, VMCAI.

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

[11]  Henny B. Sipma,et al.  Linear Invariant Generation Using Non-linear Constraint Solving , 2003, CAV.

[12]  Zohar Manna,et al.  Temporal verification of reactive systems - safety , 1995 .

[13]  Mary Sheeran,et al.  Checking Safety Properties Using Induction and a SAT-Solver , 2000, FMCAD.

[14]  Fabio Somenzi,et al.  IC3: Where monolithic and incremental meet , 2011, 2011 Formal Methods in Computer-Aided Design (FMCAD).

[15]  Henny B. Sipma,et al.  Scalable Analysis of Linear Systems Using Mathematical Programming , 2005, VMCAI.

[16]  Sérgio Vale Aguiar Campos,et al.  Symbolic Model Checking , 1993, CAV.

[17]  Zohar Manna,et al.  Checking Safety by Inductive Generalization of Counterexamples to Induction , 2007, Formal Methods in Computer Aided Design (FMCAD'07).

[18]  Kwang-Ting Cheng,et al.  An efficient sequential SAT solver with improved search strategies , 2005, Design, Automation and Test in Europe.

[19]  Fabio Somenzi,et al.  Incremental, Inductive CTL Model Checking , 2012, CAV.

[20]  Zohar Manna,et al.  Temporal Verification of Reactive Systems , 1995, Springer New York.

[21]  Patrick Cousot,et al.  Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints , 1977, POPL.

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