Synthesizing Creative Requirementswith Natural Language Processing
Summary
This thesis studies creativity in requirements engineering. First, a semi structured literature research explores the subject and studies how creativity in the field of requirements engineering is conceived. This research leads to three dimensions of creativity, usefulness, novelty and surprisingness, and uses these dimensions to assess the creativity of requirements.
Next to this, natural language processing techniques are used to create a program that synthesizes requirements. This program uses semantic role labeling to apply combinational and exploratory creativity in order to synthesize creative requirements. Libraries and resources that are used to do this are PractNLPTools, SemLink, VerbNet, PropBank, and Sense2Vec.
The effectiveness of the program is tested with an experiment. The developed program is used to synthesize creative requirements for two applications. The user stories of these applications are used to do so. One of the applications has additional user stories from similar applications in the domain as input to synthesize requirements. The synthesized requirements of the applications are assessed with a survey on the three identified dimensions of creativity.