## Efficient Model Checking Using Tabled Resolution (1997)

Venue: | Computer Aided Verification (CAV '97) |

Citations: | 118 - 32 self |

### BibTeX

@INPROCEEDINGS{Ramakrishna97efficientmodel,

author = {Y. S. Ramakrishna and C. R. Ramakrishnan and I. V. Ramakrishnan and Scott A. Smolka and Terrance Swift and David S. Warren},

title = {Efficient Model Checking Using Tabled Resolution },

booktitle = {Computer Aided Verification (CAV '97)},

year = {1997},

publisher = {Springer-Verlag}

}

### Years of Citing Articles

### OpenURL

### Abstract

We demonstrate the feasibility of using the XSB tabled logic programming system as a programmable fixed-point engine for implementing efficient local model checkers. In particular, we present XMC, an XSBbased local model checker for a CCS-like value-passing language and the alternation-free fragment of the modal mu-calculus. XMC is written in under 200 lines of XSB code, which constitute a declarative specification of CCS and the modal mu-calculus at the level of semantic equations. In order to gauge the performance of XMC as an algorithmic model checker, we conducted a series of benchmarking experiments designed to compare the performance of XMC with the local model checkers implemented in C/C++ in the Concurrency Factory and SPIN specification and verification environments. After applying certain newly developed logic-programmingbased optimizations (along with some standard ones), XMC's performance became extremely competitive with that of the Factory and shows promise in its comparison with SPIN.

### Citations

3204 |
Communication and Concurrency
- Milner
- 1989
(Show Context)
Citation Context ...ed to compare the performance of XMC with the local model checkers implemented in the Concurrency Factory and SPIN. The model checking benchmarks we considered include Milner’s “scheduler of cyclers” =-=[Mil89]-=- and the leader election and sieve algorithms from the SPIN benchmark suite. 2 After applying certain newly developed logicprogramming-based optimizations (along with some standard ones—see Section 3)... |

1179 | Automatic Verification of Finite-State Concurrent Systems using Temporal Logic Specifications - Clarke, Emerson, et al. - 1986 |

794 | Design and Synthesis of Synchronization Skeletons Using Branching-Time Temporal Logic - CLARKE, EMERSON - 1982 |

387 |
Temporal Verification of Reactive Systems: Safety
- Manna, Pnueli
- 1995
(Show Context)
Citation Context ...ing deductive methods with algorithmic model checking techniques in order to prove temporal properties of concurrent systems. For example, the STeP system [BBC + 96] combines the deductive methods of =-=[MP95]-=- with decision procedures for automatically checking the validity of a large class of first-order and temporal formulas. [PS96] uses deduction to establish an invariant that is then used to constrain ... |

360 | Formal methods: State of the art and future directions
- Clarke, Wing
- 1996
(Show Context)
Citation Context ...mporal logic formula. Model checking has enjoyed wide success in verifying, or finding design errors in, real-life systems. An interesting account of a number of these success stories can be found in =-=[CW96b]-=-. Model checking is the main verification technique deployed by the Concurrency Factory [CLSS96], NCSU Concurrency Workbench [CS96], SMV [CMCHG96], SPIN [HP96], and TempEst [JPO95] specification and v... |

258 | Tabled evaluation with delaying for general logic programs
- Chen, Warren
- 1996
(Show Context)
Citation Context ...ing programs XSB efficiently computes the least model, which is the least fixed point of the program rules understood as “equations” over sets of atoms. More precisely, XSB is based on SLG resolution =-=[CW96a]-=-, which computes queries to normal logic programs (containing default negation) according to the well-founded semantics. This paper shows that by using XSB as a programmable fixed-point engine, one ca... |

237 | Specification and verification of concurrent systems in Cesar - Queille, Sifakis - 1981 |

225 |
Efficient model checking in fragments of the propositional mu-calculus
- Emerson, Lei
- 1986
(Show Context)
Citation Context ...s |/= F). % Nu -- models State_s |/= Z :- Z :== nu(F), State_s |/= F. % Nu -- not models This encoding provides a sound method for model checking any modal mucalculus formula that is alternation free =-=[EL86]-=-. In the alternation-free case, fixed points are computed “inside out,” with an inner fixed point computed before an outer fixed point in whose scope it lies. The proof of correctness rests on showing... |

218 | OLD resolution with tabulation - Tamaki, Sato - 1986 |

146 | The NCSU concurrency workbench
- Cleaveland, Sims
- 1996
(Show Context)
Citation Context ...esting account of a number of these success stories can be found in [CW96b]. Model checking is the main verification technique deployed by the Concurrency Factory [CLSS96], NCSU Concurrency Workbench =-=[CS96]-=-, SMV [CMCHG96], SPIN [HP96], and TempEst [JPO95] specification and verification environments. These tools use similar, but slightly different, system specification languages and property specificatio... |

117 | Expressing interesting properties of programs in propositional temporal logic - Wolper - 1986 |

114 | An Improvement in Formal Verification
- Holzmann, Peled
- 1994
(Show Context)
Citation Context ... other figures for XMC and the Concurrency Factory were performed on a sparc10 with about 500 MB available main memory; the leader benchmark for SPIN was also run on a sparc10 with 128 MB main memory =-=[HP95]-=-.sProgram F1 F2 Time (sec) Space (MB) Time (sec) Space (MB) leader2 (unopt) 0.23 0.817 0.22 0.768 (opt) 0.10 0.209 0.11 0.198 leader3 (unopt) 1.21 4.593 1.18 4.342 (opt) 0.46 0.581 0.51 0.596 leader4 ... |

94 |
Symbolic model checking
- Burch, Clarke, et al.
- 1990
(Show Context)
Citation Context ...nt of a number of these success stories can be found in [CW96b]. Model checking is the main verification technique deployed by the Concurrency Factory [CLSS96], NCSU Concurrency Workbench [CS96], SMV =-=[CMCHG96]-=-, SPIN [HP96], and TempEst [JPO95] specification and verification environments. These tools use similar, but slightly different, system specification languages and property specification logics: the C... |

88 | An integration of model-checking with automated proof checking
- Rajan, Shankar, et al.
- 1995
(Show Context)
Citation Context ...validity of a large class of first-order and temporal formulas. [PS96] uses deduction to establish an invariant that is then used to constrain the state space exploration performed in model checking. =-=[RSS95]-=- embeds a symbolic model checking decision procedure into the PVS higher-order prover, and [SUM96] employs first-order linear temporal-logic formulas to construct an abstract representation of the sta... |

55 | The state of spin
- Holzmann, Peled
- 1996
(Show Context)
Citation Context ...f these success stories can be found in [CW96b]. Model checking is the main verification technique deployed by the Concurrency Factory [CLSS96], NCSU Concurrency Workbench [CS96], SMV [CMCHG96], SPIN =-=[HP96]-=-, and TempEst [JPO95] specification and verification environments. These tools use similar, but slightly different, system specification languages and property specification logics: the Concurrency Fa... |

54 | A partial order approach to branching time logic model checking
- Gerth, Kuiper, et al.
- 1999
(Show Context)
Citation Context ... into equivalent search paths; (dis)proving a given property then requires exploring only one 4 The sieve benchmark of Table 2 was run on an SGI challenge for both XMC and SPIN; SPIN results are from =-=[GKPP97]-=-. All other figures for XMC and the Concurrency Factory were performed on a sparc10 with about 500 MB available main memory; the leader benchmark for SPIN was also run on a sparc10 with 128 MB main me... |

51 | STeP: Deductive-algorithmic verification of reactive and real-time systems - Bjørner, Browne, et al. |

46 | Deductive model checking
- Sipma, Uribe, et al.
- 1999
(Show Context)
Citation Context ... an invariant that is then used to constrain the state space exploration performed in model checking. [RSS95] embeds a symbolic model checking decision procedure into the PVS higher-order prover, and =-=[SUM96]-=- employs first-order linear temporal-logic formulas to construct an abstract representation of the state space to be explored, and deductive methods to successively refine this representation until an... |

42 | A platform combining deductive with algorithmic verification
- Pnueli, Shahar
- 1996
(Show Context)
Citation Context ...or example, the STeP system [BBC + 96] combines the deductive methods of [MP95] with decision procedures for automatically checking the validity of a large class of first-order and temporal formulas. =-=[PS96]-=- uses deduction to establish an invariant that is then used to constrain the state space exploration performed in model checking. [RSS95] embeds a symbolic model checking decision procedure into the P... |

27 | The Concurrency Factory: a Development Environment for Concurrent Systems
- Cleaveland, Lewis, et al.
- 1996
(Show Context)
Citation Context ...rrors in, real-life systems. An interesting account of a number of these success stories can be found in [CW96b]. Model checking is the main verification technique deployed by the Concurrency Factory =-=[CLSS96]-=-, NCSU Concurrency Workbench [CS96], SMV [CMCHG96], SPIN [HP96], and TempEst [JPO95] specification and verification environments. These tools use similar, but slightly different, system specification ... |

15 | The fixpointanalysis machine - Steffen, Claßen, et al. - 1995 |

11 |
Von Olnhausen. Safety property verification of ESTEREL programs and applications to telecommunications software
- Jagadeesan, Puchol, et al.
- 1996
(Show Context)
Citation Context ...ies can be found in [CW96b]. Model checking is the main verification technique deployed by the Concurrency Factory [CLSS96], NCSU Concurrency Workbench [CS96], SMV [CMCHG96], SPIN [HP96], and TempEst =-=[JPO95]-=- specification and verification environments. These tools use similar, but slightly different, system specification languages and property specification logics: the Concurrency Factory supports local ... |

9 | On the parallel complexity of model checking in the Modal Mu-Calculus
- Zhang, Sokolsky, et al.
- 1994
(Show Context)
Citation Context ... alternation-free fragment of the modal mu-calculus. The specification is based on a parallel constant-time reduction from the alternation-free modal mu-calculus to Datalog with negation presented in =-=[ZSS94]-=-. Not surprisingly, the XSB specification directly reflects the structural operational semantics of CCS andsthe fixed-point semantics of the modal mu-calculus. The direct execution of these declarativ... |

8 | Optimizing clause resolution: Beyond unification factoring
- Dawson, Ramakrishnan, et al.
- 1995
(Show Context)
Citation Context ...s to rewrite the rule as: trans(par(P, Q), tau, par(P1, Q1)) :- trans(P, Act_a, P1), compAct(Act_a, Act_b), trans(Q, Act_b, Q1). Clause Resolution Factoring Clause resolution factoring, introduced in =-=[DRRS95]-=-, is a newer optimization that is geared specifically to deductive databases having a tightly linked top-down and bottom-up evaluation strategy. Clause resolution factoring shares elementary match and... |

5 |
Constraint Logic Programming for Reasoning about Discrete Event Processes
- Ostroff
- 1991
(Show Context)
Citation Context ...[Rau95] is a mu-calculus interpreter that utilizes a combination of constraint logic programming (over finite domains) and BDDs to perform model checking. Constraint logic programming is also used in =-=[Ost91]-=- for semi-automatic verification of possibly infinite-state systems. In [SCK + 95], an efficient “fixpoint-analysis machine” (FAM) is presented which can be used on a variety of fixed point computatio... |

5 | Toupie = -calculus + constraints - Rauzy - 1995 |

3 | editors. Computer Aided Verification (CAV - Alur, Henzinger - 1996 |

3 |
model checking, verification and games
- Hornsat
- 1996
(Show Context)
Citation Context ...esentation of the state space to be explored, and deductive methods to successively refine this representation until an answer to the model checking problem can be ascertained. In other related work, =-=[SHIR96]-=- also uses Horn logic to specify model checking (for a basic, non-value-passing process specification language) but reports no effort to implement or evaluate this approach. Toupie [Rau95] is a mu-cal... |

2 |
An abstract machine to compute fixed-order dynamically stratified programs
- Sagonas, Swift, et al.
- 1996
(Show Context)
Citation Context ...spect to negation and to tfindall/3, and has a two-valued minimal model. Dynamic stratification ensures that the program’s dynamic dependency graph can be evaluated without loops through negation. In =-=[SSW96]-=- it was shown that the evaluation method underlying XSB correctly computes this class of programs. Tabling ensures that each explored system state is visited only once in the evaluation of a modal mu-... |

2 | editors. Computer Aided Verification (CAV '96), volume 1102 - Alur, Henzinger - 1996 |

1 |
Toupie = µ-calculus + constraints
- Rauzy
(Show Context)
Citation Context ...ated work, [SHIR96] also uses Horn logic to specify model checking (for a basic, non-value-passing process specification language) but reports no effort to implement or evaluate this approach. Toupie =-=[Rau95]-=- is a mu-calculus interpreter that utilizes a combination of constraint logic programming (over finite domains) and BDDs to perform model checking. Constraint logic programming is also used in [Ost91]... |

1 | Computer Aided Verification (CAV '95), volume 939 - Wolper, editor - 1995 |