posted on 2012-07-04, 14:09authored byNeil Walkinshaw, Kirill Bogdanov
Finite state machine-based abstractions of software behaviour are popular because they can be used as the basis for a wide range of (semi-) automated verification and validation techniques. These can however rarely be applied in practice, because the specifications are rarely kept up- to-date or even generated in the first place. Several techniques to reverse-engineer these specifications have been proposed, but they are rarely used in practice because their input requirements (i.e. the number of execution traces) are often very high if they are to produce an accurate result. An insufficient set of traces usually results in a state machine that is either too general, or incomplete. Temporal logic formulae can often be used to concisely express constraints on system behaviour that might otherwise require thousands of execution traces to identify. This paper describes an extension of an existing state machine inference technique that accounts for temporal logic formulae, and encourages the addition of new formulae as the inference process converges on a solution. The implementation of this process is openly available, and some preliminary results are provided.
History
Citation
International Conference on Automated Software Engineering (ASE), 2008, Proceedings of, pp. 248-257
Author affiliation
/Organisation/COLLEGE OF SCIENCE AND ENGINEERING/Department of Computer Science
Source
Automated Software Engineering, 2008 (ASE 2008), 23rd IEEE/ACM International Conference on, L'Aquila, Italy, 15-19 Sept. 2008
Version
AM (Accepted Manuscript)
Published in
International Conference on Automated Software Engineering (ASE)
Publisher
Institute of Electrical and Electronics Engineers (IEEE)