Efficient Model Checking Using Tabled Resolution ⋆ Y.S. Ramakrishna, C.R. Ramakrishnan, I.V. Ramakrishnan, Scott A. Smolka, Terrance Swift, David S. Warren Department of Computer Science SUNY at Stony Brook Stony Brook, NY 11794–4400, USA Abstract. We demonstrate the feasibility of using the XSB tabled logic programming system as a programmable fixed-point engine for implement- ing efficient local model checkers. In particular, we present XMC, an XSB- based local model checker for a CCS-like value-passing language and the alternation-free fragment of the modal mu-calculus. XMC is written in un- der 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-programming- based 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. 1 Introduction Model checking [CE81, QS82, CES86] is a verification technique aimed at determin- ing whether a system specification possesses a property expressed as a temporal logic formula. Model checking has enjoyed wide success in verifying, or finding de- sign 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 verification environments. These tools use similar, but slightly different, system specification languages and prop- erty specification logics: the Concurrency Factory supports local model checking with partial order reductions in the alternation-depth-2 fragment of the modal mu- calculus for processes specified in a CCS-like value passing language; the NCSU Concurrency Workbench offers global model checking in the alternation-free modal mu-calculus for processes specified in pure CCS; SMV supports BDD-based symbolic model checking in CTL (with fairness) for a state-machine specification language; Research supported in part by NSF grants CDA–9303181, CCR–9404921, CCR–9505562, CDA–9504275, and AFOSR grants F49620-95-1-0508 and F49620-96-1-0087. Email correspondence: sas@cs.sunysb.edu