Multioracle coevolutionary learning of requirements specifications from examples in on-the-fly markets

Marcel Wever, Lorijn Van Rooijen, Heiko Hamann


In software engineering, the imprecise requirements of a user are transformed to a formal requirements specification during the requirements elicitation process. This process is usually guided by requirements engineers interviewing the user. We want to partially automate this first step of the software engineering process in order to enable users to specify a desired software system on their own. With our approach, users are only asked to provide exemplary behavioral descriptions. The problem of synthesizing a requirements specification from examples can partially be reduced to the problem of grammatical inference, to which we apply an active coevolutionary learning approach. However, this approach would usually requiremany feedback queries to be sent to the user. In this work, we extend and generalize our active learning approach to receive knowledge from multiple oracles, also known as proactive learning. The “user oracle” represents input received from the user and the “knowledge oracle” represents available, formalized domain knowledge. We call our two-oracle approach the “first apply knowledge then query” (FAKT/Q) algorithm.We compare FAKT/Q to the active learning approach and provide an extensive benchmark evaluation. As result we find that the number of required user queries is reduced and the inference process is sped up significantly. Finally, with so-called On-The-Fly Markets, we present a motivation and an application of our approach where such knowledge is available.

Original languageEnglish
JournalEvolutionary Computation
Issue number2
Pages (from-to)165-193
Number of pages29
Publication statusPublished - 01.06.2020


Dive into the research topics of 'Multioracle coevolutionary learning of requirements specifications from examples in on-the-fly markets'. Together they form a unique fingerprint.

Cite this