Exploiting resolution proofs to speed up LTL vacuity detection for BMC

When model-checking reports that a property holds on a model, vacuity detection increases user confidence in this result by checking that the property is satisfied in the intended way. While vacuity detection is effective, it is a relatively expensive technique requiring many additional model-checking runs. We address the problem of efficient vacuity detection for Bounded Model Checking (BMC) of linear temporal logic properties, presenting three partial vacuity detection methods based on the efficient analysis of the resolution proof produced by a successful BMC run. In particular, we define a characteristic of resolution proofs— peripherality—and prove that if a variable is a source of vacuity, then there exists a resolution proof in which this variable is peripheral. Our vacuity detection tool, VaqTree, uses these methods to detect vacuous variables, decreasing the total number of model-checking runs required to detect all sources of vacuity.

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

[2]  Emmanuel Zarpas,et al.  Benchmarking SAT Solvers for Bounded Model Checking , 2005, SAT.

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

[4]  Marsha Chechik,et al.  Exploiting Resolution Proofs to Speed Up LTL Vacuity Detection for BMC , 2007, FMCAD.

[5]  Marsha Chechik,et al.  How Vacuous Is Vacuous? , 2004, TACAS.

[6]  Thomas A. Henzinger,et al.  Abstractions from proofs , 2004, POPL.

[7]  Edmund M. Clarke,et al.  Model Checking , 1999, Handbook of Automated Reasoning.

[8]  Orna Grumberg,et al.  Enhanced Vacuity Detection in Linear Temporal Logic , 2003, CAV.

[9]  Orna Kupferman,et al.  Vacuity Detection in Temporal Model Checking , 1999, CHARME.

[10]  J. Michael Spivey,et al.  The Z notation - a reference manual , 1992, Prentice Hall International Series in Computer Science.

[11]  Marsha Chechik,et al.  Extending Extended Vacuity , 2004, FMCAD.

[12]  Ilan Beer,et al.  Efficient Detection of Vacuity in Temporal Model Checking , 2001, Formal Methods Syst. Des..

[13]  Ofer Strichman,et al.  Deriving Small Unsatisfiable Cores with Dominators , 2006, CAV.

[14]  Daniel Jackson,et al.  Alloy: a lightweight object modelling notation , 2002, TSEM.

[15]  Manu Sridharan,et al.  Debugging overconstrained declarative models using unsatisfiable cores , 2003, 18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings..

[16]  Fabio Somenzi,et al.  Vacuum Cleaning CTL Formulae , 2002, CAV.

[17]  Marsha Chechik,et al.  Exploiting Resolution Proofs to Speed Up LTL Vacuity Detection for BMC , 2007 .

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

[19]  Sharad Malik,et al.  Validating SAT solvers using an independent resolution-based checker: practical implementations and other applications , 2003, 2003 Design, Automation and Test in Europe Conference and Exhibition.

[20]  C. R. Ramakrishnan,et al.  Vacuity Checking in the Modal Mu-Calculus , 2002, AMAST.

[21]  C. Eisner,et al.  Efficient Detection of Vacuity in ACTL Formulaas , 1997, CAV.

[22]  Marco Pistore,et al.  Improving the Encoding of LTL Model Checking into SAT , 2002, VMCAI.

[23]  Hector J. Levesque,et al.  Generating Hard Satisfiability Problems , 1996, Artif. Intell..

[24]  Sanjai Rayadurgam,et al.  Auto-generating Test Sequences Using Model Checkers: A Case Study , 2003, FATES.

[25]  Marco Pistore,et al.  NuSMV 2: An OpenSource Tool for Symbolic Model Checking , 2002, CAV.

[26]  Kedar S. Namjoshi An Efficiently Checkable, Proof-Based Formulation of Vacuity in Model Checking , 2004, CAV.