Formal Verification & Its Role in Testing

This report surveys the role of formal verification techniques, especially model checking, in the testing of computer systems. While formal verification and testing have traditionally been perceived as disparate fields, recent research has brought them considerably closer together.

[1]  Alan Robinson,et al.  The Inverse Method , 2001, Handbook of Automated Reasoning.

[2]  John R. Callahan,et al.  Automated Software Testing Using Model-Checking , 1996 .

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

[4]  Paul Ammann,et al.  Using model checking to generate tests from specifications , 1998, Proceedings Second International Conference on Formal Engineering Methods (Cat.No.98EX241).

[5]  Michael R. Lowry,et al.  Combining test case generation and runtime verification , 2005, Theor. Comput. Sci..

[6]  Doron A. Peled,et al.  Model Checking and Testing Combined , 2003, ICALP.

[7]  Sungdeok Cha Automatic Test Generation from Statecharts Using Model Checking , 2001 .

[8]  Fausto Giunchiglia,et al.  NUSMV: A New Symbolic Model Verifier , 1999, CAV.

[9]  Klaus Havelund,et al.  Model checking JAVA programs using JAVA PathFinder , 2000, International Journal on Software Tools for Technology Transfer.

[10]  Pierre Wolper,et al.  An Automata-Theoretic Approach to Automatic Program Verification (Preliminary Report) , 1986, LICS.

[11]  Joseph Sifakis,et al.  Specification and verification of concurrent systems in CESAR , 1982, Symposium on Programming.

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

[13]  E. Allen Emerson,et al.  Temporal and Modal Logic , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[14]  Shin Nakajima,et al.  The SPIN Model Checker : Primer and Reference Manual , 2004 .

[15]  Loe M. G. Feijs,et al.  Test Generation for Intelligent Networks Using Model Checking , 1997, TACAS.

[16]  Sriram K. Rajamani,et al.  Automatically validating temporal safety properties of interfaces , 2001, SPIN '01.

[17]  Amir Pnueli,et al.  Checking that finite state concurrent programs satisfy their linear specification , 1985, POPL.

[18]  Zohar Manna,et al.  Temporal Verification of Reactive Systems , 1995, Springer New York.

[19]  Jan Tretmans,et al.  On-the-fly conformance testing using SPIN , 2000, International Journal on Software Tools for Technology Transfer.

[20]  Doron A. Peled,et al.  Ten Years of Partial Order Reduction , 1998, CAV.

[21]  Gerard J. Holzmann,et al.  On-the-fly model checking , 1996, CSUR.

[22]  Doron A. Peled,et al.  Model checking, testing and verification working together , 2005, Formal Aspects of Computing.

[23]  Paul Ammann,et al.  Test Generation and Recognition with Formal Methods , 2000 .

[24]  Edward P. K. Tsang,et al.  Foundations of constraint satisfaction , 1993, Computation in cognitive science.

[25]  HavelundKlaus,et al.  An Overview of the Runtime Verification Tool Java PathExplorer , 2004 .

[26]  Mihalis Yannakakis,et al.  Black Box Checking , 1999, FORTE.

[27]  Alex Groce,et al.  Adaptive Model Checking , 2006, Log. J. IGPL.

[28]  Matthew B. Dwyer,et al.  Bandera: extracting finite-state models from Java source code , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[29]  Thomas A. Henzinger,et al.  Software Verification with BLAST , 2003, SPIN.

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

[31]  David Lee,et al.  Testing Finite-State Machines: State Identification and Verification , 1994, IEEE Trans. Computers.

[32]  Patrice Godefroid,et al.  Model checking for programming languages using VeriSoft , 1997, POPL '97.

[33]  Thomas A. Henzinger,et al.  A Space-Efficient On-the-fly Algorithm for Real-Time Model Checking , 1996, CONCUR.

[34]  Colin Stirling,et al.  Modal Logics and mu-Calculi: An Introduction , 2001, Handbook of Process Algebra.

[35]  Edmund M. Clarke,et al.  Formal Methods: State of the Art and Future Directions Working Group Members , 1996 .

[36]  Insup Lee,et al.  Data flow testing as model checking , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[37]  Fred Kröger,et al.  Temporal Logic of Programs , 1987, EATCS Monographs on Theoretical Computer Science.

[38]  Colin Stirling,et al.  Modal and temporal logics , 1993, LICS 1993.

[39]  Arnaud Gotlieb,et al.  Automatic test data generation using constraint solving techniques , 1998, ISSTA '98.

[40]  Patrice Godefroid,et al.  Partial-Order Methods for the Verification of Concurrent Systems , 1996, Lecture Notes in Computer Science.

[41]  Angelo Gargantini,et al.  Using model checking to generate tests from requirements specifications , 1999, ESEC/FSE-7.

[42]  Thomas A. Henzinger,et al.  Generating tests from counterexamples , 2004, Proceedings. 26th International Conference on Software Engineering.

[43]  David L. Dill,et al.  Java model checking , 2000, Proceedings ASE 2000. Fifteenth IEEE International Conference on Automated Software Engineering.

[44]  Insup Lee,et al.  A Temporal Logic Based Theory of Test Coverage and Generation , 2002, TACAS.

[45]  Grigore Rosu,et al.  An Overview of the Runtime Verification Tool Java PathExplorer , 2004, Formal Methods Syst. Des..

[46]  Randal E. Bryant,et al.  Graph-Based Algorithms for Boolean Function Manipulation , 1986, IEEE Transactions on Computers.