Independent examination of software: an experiment

Abstract This paper summarises our experience in using model-checking technology to understand the behaviour of a system. A simple model of the system under test is created from the informal documentation. This model is used to create a test environment for the system. The behaviour of system combined with the test environment is then verified using the tool Verisoft. This requires a few changes to the original source code. The aim to minimize the number of changes to the original source code so that its original behaviour is not affected. The use of Verisoft to create a model, which can subsequently be used for testing is also studied. The main conclusion is that it is possible to use bounded model checking on source code with a view towards verifying key behavioural properties.

[1]  Constance L. Heitmeyer,et al.  On the Need for Practical Formal Methods , 1998, FTRTFT.

[2]  Jessica Chen,et al.  Specification-based Testing for Gui-based Applications , 2002, Software Quality Journal.

[3]  Jeremy Dick,et al.  Automating the Generation and Sequencing of Test Cases from Model-Based Specifications , 1993, FME.

[4]  Robert M. Hierons Testing from a Z Specification , 1997, Softw. Test. Verification Reliab..

[5]  Alexander Pretschner,et al.  Specification based test sequence generation with propositional logic , 2000, Softw. Test. Verification Reliab..

[6]  A.S. Sethi,et al.  Formal design and testing of MIL-STD 188-220A based on Estelle , 1997, MILCOM 97 MILCOM 97 Proceedings.

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

[8]  A. Pretschner Classical search strategies for test case generation with Constraint Logic Programming , 2001 .

[9]  Marc Roper,et al.  The role of comprehension in software inspection , 2000, J. Syst. Softw..

[10]  Patrice Godefroid,et al.  Automatically closing open reactive programs , 1998, PLDI.

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

[12]  Padmanabhan Krishnan,et al.  Using model checking to test a firewall: a case study , 2002, Proceedings. 28th Euromicro Conference.

[13]  Kendall Scott,et al.  UML distilled - applying the standard object modeling language , 1997 .

[14]  Atul Prakash,et al.  Supporting Queries on Source Code: a Formal Framework , 1994, Int. J. Softw. Eng. Knowl. Eng..

[15]  Robert S. Hanmer,et al.  Model checking without a model: an analysis of the heart-beat monitor of a telephone switch using VeriSoft , 1998, ISSTA '98.

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