Evidence-based verification

The ability of generating diagnostic information and performing other “post-verification” analyses is an important feature of verification tools. Traditionally these analyses rely on the proof computed during verification and hence are tightly geared to the infrastructures of these checkers. We present a framework for certifying verification results and efficiently generating diagnostic information in the domain of equivalence checking, preorder checking, and model checking of finite-state system. The central idea is to use a generic data structure called “abstract proof structure” (APS) to abstractly encode the proof structure by which a verification engine (checker) reaches its result. APS carries checker-independent evidence for justifying verification result and provides the basis for a variety of “post-verification” analyses. In this framework, APS serves as interface data structure between checkers and analysis routines. Checkers are enhanced with bookkeeping code to produce APSs as their results instead of simple “yes/no” answer. A wide range of existing checkers can be modified to produce APS without compromising their time and space complexities. We then show how APSs may be used to perform an array of “post-verification” analyses, including certification of verification result and generation of different forms of diagnostic information. An immediate usage of APS is to certify verification result by checking the internal consistency of APS submitted by checker. We provide efficient algorithms to preform such checking. The primary goal of this framework is to improve the efficiency and flexibility of diagnostic generation routines. We show that many diagnostic analyses can be preformed using APSs, including some traditional (e.g., counterexamples [7] in model checking and HML formulas [22] for bisimulation) and novel (e.g., vacuity detection [2]) diagnostic schema. We also show how winning strategies for property-checking games [43] can be built from APS. The analysis routines based on APS enjoy independence from checkers; hence they can be easily modified and migrated from one checker to another. In essence APSs help standardize the output of checkers, and analysis routines therefore can be created and executed independently, which has other interesting applications such as a client-server architectures for verification.

[1]  Stephan Merz,et al.  Model Checking , 2000 .

[2]  Robert E. Tarjan,et al.  Three Partition Refinement Algorithms , 1987, SIAM J. Comput..

[3]  Chin-Laung Lei,et al.  Efficient Model Checking in Fragments of the Propositional Mu-Calculus (Extended Abstract) , 1986, LICS.

[4]  Johan Lewi,et al.  Efficient Local Correctness Checking for Single and Alternating Boolean Equation Systems , 1994, ICALP.

[5]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

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

[7]  David Walker,et al.  Local Model Checking in the Modal mu-Calculus , 1991, Theor. Comput. Sci..

[8]  Henrik Reif Andersen Model Checking and Boolean Graphs , 1992, ESOP.

[9]  Rance Cleaveland,et al.  Evidence-Based Model Checking , 2002, CAV.

[10]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[11]  Edmund M. Clarke,et al.  Characterizing Correctness Properties of Parallel Programs Using Fixpoints , 1980, ICALP.

[12]  C. R. Ramakrishnan,et al.  Fully Local and Efficient Evaluation of Alternating Fixed Points (Extended Abstract) , 1998, TACAS.

[13]  Perdita Stevens,et al.  Abstract interpretations of games , 1998 .

[14]  Colin Stirling Games and Modal Mu-Calculus , 1996, TACAS.

[15]  Jean-Claude Fernandez,et al.  An Implementation of an Efficient Algorithm for Bisimulation Equivalence , 1990, Sci. Comput. Program..

[16]  Kedar S. Namjoshi,et al.  Certifying Model Checkers , 2001, CAV.

[17]  Richard E. Ladner,et al.  Propositional Dynamic Logic of Regular Programs , 1979, J. Comput. Syst. Sci..

[18]  Somesh Jha,et al.  An Improved Algorithm for the Evaluation of Fixpoint Expressions , 1994, Theor. Comput. Sci..

[19]  Rance Cleaveland,et al.  A linear-time model-checking algorithm for the alternation-free modal mu-calculus , 1993, Formal Methods Syst. Des..

[20]  Li Tan An Abstract Schema for Equivalence-Checking Games , 2002, VMCAI.

[21]  Rance Cleaveland,et al.  The NCSU Concurrency Workbench , 1996, CAV.

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

[23]  R. Cleaveland,et al.  Efficient Model Checking Via Büchi Tableau Automata , 2001, CAV.

[24]  Kenneth L. McMillan,et al.  Symbolic model checking , 1992 .

[25]  Radu Mateescu,et al.  Efficient Diagnostic Generation for Boolean Equation Systems , 2000, TACAS.

[26]  D. Kozen Results on the Propositional µ-Calculus , 1982 .

[27]  Colin Stirling,et al.  Local model checking games (extended abstract) , 1995 .

[28]  Orna Kupferman,et al.  On the Complexity of Parity Word Automata , 2001, FoSSaCS.

[29]  Robert E. Tarjan,et al.  A Hierarchical Clustering Algorithm Using Strong Components , 1982, Inf. Process. Lett..

[30]  E. Allen Emerson,et al.  An Automata Theoretic Decision Procedure for the Propositional Mu-Calculus , 1989, Inf. Comput..

[31]  Edmund M. Clarke,et al.  Design and Synthesis of Synchronization Skeletons Using Branching-Time Temporal Logic , 1981, Logic of Programs.

[32]  C. R. Ramakrishnan,et al.  Efficient Model Checking Using Tabled Resolution , 1997, CAV.

[33]  Robin Milner,et al.  Algebraic laws for nondeterminism and concurrency , 1985, JACM.

[34]  Bard Bloom,et al.  Transformational Design and Implementation of a New Efficient Solution to the Ready Simulation Problem , 1995, Sci. Comput. Program..

[35]  Gerard J. Holzmann,et al.  The Model Checker SPIN , 1997, IEEE Trans. Software Eng..

[36]  Mads Dam,et al.  CTL* and ECTL* as Fragments of the Modal µ-Calculus , 1992, CAAP.

[37]  Robin Milner Functions as Processes , 1990, ICALP.

[38]  Y. Moschovakis Descriptive Set Theory , 1980 .

[39]  Rance Cleaveland,et al.  Computing Behavioural Relations, Logically , 1991, ICALP.

[40]  Scott A. Smolka,et al.  CCS expressions, finite state processes, and three problems of equivalence , 1983, PODC '83.

[41]  Orna Kupferman,et al.  Coverage Metrics for Temporal Logic Model Checking , 2001, TACAS.

[42]  Pierre Wolper,et al.  An automata-theoretic approach to branching-time model checking , 2000, JACM.

[43]  Angelika Mader,et al.  Verification of modal properties using Boolean equation systems , 1997 .

[44]  Rance Cleaveland,et al.  Simulation Revisited , 2001, TACAS.

[45]  A. Tarski A LATTICE-THEORETICAL FIXPOINT THEOREM AND ITS APPLICATIONS , 1955 .

[46]  Girish Bhat,et al.  Efficient model checking via the equational /spl mu/-calculus , 1996, Proceedings 11th Annual IEEE Symposium on Logic in Computer Science.