Active Coevolutionary Learning of Requirements Specifications from Examples

Marcel Wever, Lorijn van Rooijen, Heiko Hamann


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.
Original languageEnglish
Title of host publicationProceedings of the Genetic and Evolutionary Computation Conference
Number of pages8
Place of PublicationNew York, NY, USA
Publication date01.07.2017
ISBN (Print)978-1-4503-4920-8
Publication statusPublished - 01.07.2017
Event2017 Genetic and Evolutionary Computation Conference Companion - Berlin, Germany
Duration: 15.07.201719.07.2017


Dive into the research topics of 'Active Coevolutionary Learning of Requirements Specifications from Examples'. Together they form a unique fingerprint.

Cite this