DocumentCode
708974
Title
Graphical editing support for QuickCheck models
Author
Arts, Thomas ; Bogdanov, Kirill ; Gerdes, Alex ; Hughes, John
Author_Institution
QuviQ AB, Goteborg, Sweden
fYear
2015
fDate
13-17 April 2015
Firstpage
1
Lastpage
6
Abstract
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.
Keywords
application program interfaces; finite state machines; formal specification; program testing; API; QuickCheck model; finite state machine abstraction; formal model; graphical editing support; graphical representation; postconditions check; random sequence; state machine specification; Data models; Generators; Libraries; Servers; Software; Testing; Writing;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Testing, Verification and Validation Workshops (ICSTW), 2015 IEEE Eighth International Conference on
Conference_Location
Graz
Type
conf
DOI
10.1109/ICSTW.2015.7107473
Filename
7107473
Link To Document