TY - JOUR
T1 - Multioracle coevolutionary learning of requirements specifications from examples in on-the-fly markets
AU - Wever, Marcel
AU - Van Rooijen, Lorijn
AU - Hamann, Heiko
N1 - Funding Information:
This work was partially supported by the German Research Foundation (DFG) within the Collaborative Research Center “On-The-Fly Computing” (SFB 901).
Publisher Copyright:
© 2019 Massachusetts Institute of Technology.
Copyright:
Copyright 2020 Elsevier B.V., All rights reserved.
PY - 2020/6/1
Y1 - 2020/6/1
N2 - 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.
AB - 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.
UR - http://www.scopus.com/inward/record.url?scp=85085712610&partnerID=8YFLogxK
U2 - 10.1162/evco_a_00266
DO - 10.1162/evco_a_00266
M3 - Journal articles
C2 - 31730371
AN - SCOPUS:85085712610
SN - 1063-6560
VL - 28
SP - 165
EP - 193
JO - Evolutionary Computation
JF - Evolutionary Computation
IS - 2
ER -