Software Testing via Model Checking

Testing is a necessary, but costly process for user-centric quality control. Moreover, testing is not comprehensive enough to completely detect faults. Many formal meth ods have been pro posed to avoid the drawbacks of testing, e.g., model checking that can be automatically carried out. This paper presents an approach that (i) generates test cases from the specification and (ii) transfers the specification-oriented testing process to model checking. Thus, the approach combines the advantages of testing and model checking assuming the availability of (i) a model that specifies the ex pected, desirable system behavior as required by the user and (ii) a second model that describes the system behavior as observed. The first model is complemented in also specifying the undesirable system properties. The approach analyzes both these specification models to generate test cases that are then converted into temporal logic formulae to be model checked on the second model.

[1]  Vadim Okun,et al.  Testing with Model Checker: Insuring Fault Visibility , 2002 .

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

[3]  Pierre Wolper,et al.  Constructing Automata from Temporal Logic Formulas: A Tutorial , 2002, European Educational Forum: School on Formal Methods and Performance Analysis.

[4]  John A. Clark,et al.  FORTEST: formal methods and testing , 2002, Proceedings 26th Annual International Computer Software and Applications.

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

[6]  Fevzi Belli,et al.  Finite state testing and analysis of graphical user interfaces , 2001, Proceedings 12th International Symposium on Software Reliability Engineering.

[7]  R. McNaughton Review: J. Richard Buchi, Weak Second-Order Arithmetic and Finite Automata; J. Richard Buchi, On a Decision Method in Restricted second Order Arithmetic , 1963, Journal of Symbolic Logic.

[8]  Sudipto Ghosh,et al.  Interface mutation , 2001, Softw. Test. Verification Reliab..

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

[10]  J. R. Büchi On a Decision Method in Restricted Second Order Arithmetic , 1990 .

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

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

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

[14]  Boris Beizer,et al.  Software Testing Techniques , 1983 .

[15]  Tsun S. Chow,et al.  Testing Software Design Modeled by Finite-State Machines , 1978, IEEE Transactions on Software Engineering.

[16]  Doron A. Peled,et al.  Software Reliability Methods , 2001, Texts in Computer Science.

[17]  Paul Gastin,et al.  Journal of Automata, Languages and Combinatorics, Vol. 11(1) , 2006 .

[18]  Edmund M. Clarke,et al.  Model Checking , 1999, Handbook of Automated Reasoning.

[19]  Claude Caci,et al.  Testing object-oriented systems , 2000, SOEN.

[20]  Shaoying Liu,et al.  Generating test data from state‐based specifications , 2003, Softw. Test. Verification Reliab..

[21]  Wei Ding,et al.  Model Checkers in Software Testing , 2002 .