Graphical editing support for QuickCheck models
Paper in proceeding, 2015

QuickCheck can test a system by specifying a state machine for the API exported by that system. This state machine specification includes a list of possible API calls. Each call is accompanied by a precondition, a postcondition, a generator for the arguments, and a description of how the state is changed. Based on this specification QuickCheck generates a random sequence of API calls. The preconditions ensure that a generated sequence is valid, and the postconditions check that the system behaves as expected. Many systems require an initialisation call before other calls, describing the transition from an uninitialized to an initialised state. QuickCheck offers two ways of specifying transitions between states: using preconditions or a finite state machine abstraction. In this paper we show, by means of an example, that the latter approach is to be preferred. In addition, we present a recent extension to QuickCheck that allows a user to graphically create and edit a finite state machine specification. This extension simplifies and speeds up the specification of a finite state machine, which can be regarded as a formal model of the system, considerably. The graphical representation makes the formal model easier to understand, and visualises the distribution of API calls. Moreover, the extension allows the user to change this distribution.

Author

Thomas Arts

Quviq Ab

K. Bogdanov

University of Sheffield

Alex Gerdes

University of Gothenburg

John Hughes

Chalmers, Computer Science and Engineering (Chalmers), Software Technology (Chalmers)

2015 IEEE 8th International Conference on Software Testing, Verification and Validation Workshops, ICSTW 2015 - Proceedings

2159-4848 (ISSN)


978-1-4799-1885-0 (ISBN)

Subject Categories

Telecommunications

Electrical Engineering, Electronic Engineering, Information Engineering

DOI

10.1109/ICSTW.2015.7107473

ISBN

978-1-4799-1885-0

More information

Latest update

7/19/2023