Combining the animation and testing of abstract data types

A formal specification animator interprets and executes specifications to give them the appearance of liveliness. This can be used to identify errors in a specification because it provides concrete examples of the behaviour of the specification. By providing a suitable user interface, it allows users unfamiliar with specification languages and notations to interact with the specification. We exploit the similarities between animation and testing, and present a method that combines specification animation and software testing of abstract data types (ADTs). Tool support is provided by Peach, which supports the animation of a specification and the testing of an implementation of that specification. We demonstrate the use of our method and tool on a small example, and discuss its application to a larger example.

[1]  Marie-Claude Gaudel,et al.  Testing Can Be Formal, Too , 1995, TAPSOFT.

[2]  Leesa Murray,et al.  Translating Object-Z specifications to object-oriented test oracles , 1997, Proceedings of Joint 4th International Computer Science Conference and 4th Asia Pacific Software Engineering Conference.

[3]  Bernhard K. Aichernig,et al.  Formal specification techniques as a catalyst in validation , 2000, Proceedings. Fifth IEEE International Symposium on High Assurance Systems Engineering (HASE 2000).

[4]  Constance L. Heitmeyer,et al.  SCR*: A Toolset for Specifying and Analyzing Software Requirements , 1998, CAV.

[5]  Kai-Hsiung Chang,et al.  Testing object-oriented programs: from formal specification to test scenario generation , 1998, J. Syst. Softw..

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

[7]  Paul Ammann,et al.  A specification-based coverage metric to evaluate test sets , 1999, Proceedings 4th IEEE International Symposium on High-Assurance Systems Engineering.

[8]  Phyllis G. Frankl,et al.  The ASTOOT approach to testing object-oriented programs , 1994, TSEM.

[9]  Steve A. Schneider,et al.  Test Case Preparation Using a Prototype , 1998, B.

[10]  Susan Stepney Testing as Abstraction , 1995, ZUM.

[11]  Robin W. Whitty An exercise in weakest preconditions , 1990, Bull. EATCS.

[12]  David A. Carrington,et al.  A Framework for Specification-Based Testing , 1996, IEEE Trans. Software Eng..

[13]  P. Strooper,et al.  Unit Operations for Automated Class TestingNigel , 2000 .

[14]  Paul A. Strooper,et al.  Requirements engineering and verification using specification animation , 1998, Proceedings 13th IEEE International Conference on Automated Software Engineering (Cat. No.98EX239).

[15]  David Lorge Parnas,et al.  Using Test Oracles Generated from Program Documentation , 1998, IEEE Trans. Software Eng..

[16]  Paul A. Strooper,et al.  Possum: an animator for the SUM specification language , 1997, Proceedings of Joint 4th International Computer Science Conference and 4th Asia Pacific Software Engineering Conference.

[17]  Stuart H. Zweben,et al.  Systematic Testing of Data Abstractions Based on Software Specifications , 1992, Softw. Test. Verification Reliab..

[18]  David J. Robson,et al.  A State-Based Approach to the Testing of Class-Based Programs , 1995, Softw. Concepts Tools.

[19]  Hélène Waeselynck,et al.  B model animation for external verification , 1998, Proceedings Second International Conference on Formal Engineering Methods (Cat.No.98EX241).

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

[21]  Hans-Martin Hörcher,et al.  Improving Software Tests Using Z Specifications , 1995, ZUM.

[22]  Daniel Hoffman,et al.  Software design, automated testing, and maintenance - a practical approach , 1995 .

[23]  Paul Strooper,et al.  From Object‐Z specifications to ClassBench test suites , 2000 .

[24]  Leesa Murray,et al.  From Object-Z Specifications to ClassBench Test Suites , 2000, Softw. Test. Verification Reliab..

[25]  Tim Miller,et al.  Animation can show only the presence of errors, never their absence , 2001, Proceedings 2001 Australian Software Engineering Conference.

[26]  Daniel Hoffman,et al.  Testing generic Ada packages with APE , 1998 .

[27]  Heinz Schmidt,et al.  Object test coverage using finite state machines , 1995 .

[28]  David Lorge Parnas,et al.  Software design , 2001 .

[29]  Colin O'Halloran,et al.  Experiences with PiZA, an Animator for Z , 1997, ZUM.

[30]  Luke Wildman,et al.  From formal specifications to Ada Programs , 1999 .

[31]  Michael Winikoff,et al.  Verifying model oriented specifications through animation , 1998, Proceedings 1998 Asia Pacific Software Engineering Conference (Cat. No.98EX240).