Publication Details

Active coevolutionary learning of requirements specifications from examples.

authored by
Marcel Wever, Lorijn van Rooijen, Heiko Hamann
Abstract

Within software engineering, requirements engineering starts from imprecise and vague user requirements descriptions and infers precise, formalized specifications. Techniques, such as interviewing by requirements engineers, are typically applied to identify the user's needs. We want to partially automate even this first step of requirements elicitation by methods of evolutionary computation. The idea is to enable users to specify their desired software by listing examples of behavioral descriptions. Users initially specify two lists of operation sequences, one with desired behaviors and one with forbidden behaviors. Then, we search for the appropriate formal software specification in the form of a deterministic finite automaton. We solve this problem known as grammatical inference with an active coevolutionary approach following Bongard and Lipson [2]. The coevolutionary process alternates between two phases: (A) additional training data is actively proposed by an evolutionary process and the user is interactively asked to label it; (B) appropriate automata are then evolved to solve this extended grammatical inference problem. Our approach leverages multi-objective evolution in both phases and outperforms the state-of-the-art technique [2] for input alphabet sizes of three and more, which are relevant to our problem domain of requirements specification.

Organisation(s)
Machine Learning Section
Type
Conference contribution
Pages
1327-1334
No. of pages
8
Publication date
2017
Publication status
Published
Peer reviewed
Yes
ASJC Scopus subject areas
Software, Computer Science Applications, Computational Theory and Mathematics
Electronic version(s)
https://dblp.org/db/conf/gecco/gecco2017.html#WeverRH17 (Access: Unknown)
https://dblp.org/db/conf/gecco/2017 (Access: Unknown)
https://doi.org/10.1145/3071178.3071258 (Access: Closed)