Symbolic Bounded Conformance Checking of Model Programs

Model programs are high-level behavioral specifications typically representing Abstract State Machines or ASMs. Conformance checking of model programs is the problem of deciding if the set of traces allowed by one model program forms a subset of the set of traces allowed by another model program. This is a foundational problem in the context of model-based testing, where one model program corresponds to an implementation and the other one to its specification. Here model programs are described using the ASM language AsmL. We assume a background ${\mathcal{T}}$ containing linear arithmetic, sets, and tuples. We introduce the Bounded Conformance Checking problem or BCC as a special case of the conformance checking problem when the length of traces is bounded and provide a mapping of BCC to a theorem proving problem in ${\mathcal{T}}$. BCC is shown to be highly undecidable in the general case but decidable for a class of model programs that are common in practice.

[1]  Henny B. Sipma,et al.  What's Decidable About Arrays? , 2006, VMCAI.

[2]  Gregory H. Harris,et al.  Review of "Abstract state machines: a method for high-level system design and analysis" by Egon Börger and Robert Stärk. Springer-Verlag 2003. , 2004, SOEN.

[3]  Nikolaj Bjørner,et al.  Input-Output Model Programs , 2009, ICTAC.

[4]  Rajeev Alur,et al.  A Temporal Logic of Nested Calls and Returns , 2004, TACAS.

[5]  Yuri Gurevich,et al.  Evolving algebras 1993: Lipari guide , 1995, Specification and validation methods.

[6]  Jan Tretmans,et al.  Model Based Testing with Labelled Transition Systems , 2008, Formal Methods and Testing.

[7]  David A. Plaisted,et al.  A Structure-Preserving Clause Form Translation , 1986, J. Symb. Comput..

[8]  Wolfram Schulte,et al.  Semantic essence of AsmL , 2005, Theor. Comput. Sci..

[9]  Alok Nandan,et al.  Model-Based Quality Assurance of Windows Protocol Documentation , 2008, 2008 1st International Conference on Software Testing, Verification, and Validation.

[10]  Daniel Jackson,et al.  Formal Modeling and Analysis of a Flash Filesystem in Alloy , 2008, ABZ.

[11]  B. F. Caviness,et al.  Quantifier Elimination and Cylindrical Algebraic Decomposition , 2004, Texts and Monographs in Symbolic Computation.

[12]  Alessandro Armando,et al.  Bounded model checking of software using SMT solvers instead of SAT solvers , 2006, International Journal on Software Tools for Technology Transfer.

[13]  Marius Mikucionis,et al.  Formal Methods and Testing , 2008 .

[14]  Margus Veanes,et al.  Model-Based Testing of Object-Oriented Reactive Systems with Spec Explorer , 2008, Formal Methods and Testing.

[15]  Robert de Simone,et al.  CONCUR'98 Concurrency Theory , 1998, Lecture Notes in Computer Science.

[16]  Andrei Voronkov,et al.  Automated Deduction—CADE-18 , 2002, Lecture Notes in Computer Science.

[17]  M. Fischer,et al.  SUPER-EXPONENTIAL COMPLEXITY OF PRESBURGER ARITHMETIC , 1974 .

[18]  Egon Börger Specification and validation methods , 1995 .

[19]  Daniel Jackson,et al.  Software Abstractions - Logic, Language, and Analysis , 2006 .

[20]  Frank Wolter,et al.  Monodic fragments of first-order temporal logics: 2000-2001 A.D , 2001, LPAR.

[21]  Margus Veanes,et al.  On Bounded Reachability of Programs with Set Comprehensions , 2008, LPAR.

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

[23]  Harald Ruess,et al.  Lazy Theorem Proving for Bounded Model Checking over Infinite Domains , 2002, CADE.

[24]  Randal E. Bryant,et al.  Exploiting Positive Equality in a Logic of Equality with Uninterpreted Functions , 1999, CAV.

[25]  Edmund M. Clarke,et al.  Counterexample-guided abstraction refinement , 2003, 10th International Symposium on Temporal Representation and Reasoning, 2003 and Fourth International Conference on Temporal Logic. Proceedings..

[26]  Abz,et al.  Abstract State Machines, B and Z, First International Conference, ABZ 2008, London, UK, September 16-18, 2008. Proceedings , 2008, ABZ.

[27]  Andreas Podelski,et al.  ACSAR: Software Model Checking with Transfinite Refinement , 2007, SPIN.

[28]  Nikolaj Bjørner,et al.  An SMT Approach to Bounded Reachability Analysis of Model Programs , 2008, FORTE.

[29]  Nikolaj Bjørner,et al.  Bounded reachability of model programs , 2008 .

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

[31]  David L. Dill,et al.  Automatic verification of Pipelined Microprocessor Control , 1994, CAV.

[32]  Nikolaj Bjørner,et al.  Z3: An Efficient SMT Solver , 2008, TACAS.

[33]  Dines Bjørner,et al.  Logics of Specification Languages , 2007, Monographs in Theoretical Computer Science. An EATCS Series.

[34]  Andrei Voronkov,et al.  A Logical Reconstruction of Reachability , 2003, Ershov Memorial Conference.

[35]  Joseph Y. Halpern Presburger arithmetic with unary predicates is Π11 complete , 1991, Journal of Symbolic Logic.

[36]  Thomas A. Henzinger,et al.  A really temporal logic , 1994, JACM.

[37]  Egon Börger,et al.  Abstract State Machines. A Method for High-Level System Design and Analysis , 2003 .

[38]  Manfred Broy,et al.  Perspectives of System Informatics , 2001, Lecture Notes in Computer Science.

[39]  Teruo Higashino,et al.  Formal Techniques for Networked and Distributed Systems - FORTE 2008, 28th IFIP WG 6.1 International Conference, Tokyo, Japan, June 10-13, 2008, Proceedings , 2008, FORTE.

[40]  Thomas A. Henzinger,et al.  Alternating Refinement Relations , 1998, CONCUR.

[41]  Jonathan Jacky,et al.  Model-Based Software Testing and Analysis with C# , 2007 .

[42]  Martin C. Henson,et al.  Logics of Specification Languages (Monographs in Theoretical Computer Science. An EATCS Series) , 2007 .

[43]  Nikolaj Bjørner,et al.  Symbolic Bounded Model Checking of Abstract State Machines , 2009, Int. J. Softw. Informatics.