Semi-automatic identification of sustainaibility concerns in textual requirements

Robert Ördög

Research output: ThesisMaster's / Diploma thesis

Abstract

Sustainability is becoming increasingly important in today's world. Due to the fact that software systems are used in more and more areas of our lives, the consideration of sustainability in software systems is also of great importance. Yet, all actors involved in the creation of a software system consider sustainability concerns to be rather secondary. Since requirements are crucial for the development of a system, it is necessary to consider sustainability already in the requirements phase. Furthermore, textual requirements offer a good opportunity to identify sustainability aspects in software systems as they represent a complete description of it including its features set and non-functional capabilities. Nevertheless, there is a lack of tools to support requirements engineers in specifying requirements that take sustainability into account. Therefore, this thesis presents a guideline that can be used by requirements engineers to objectively determine sustainability concerns in requirements. This guideline was designed with a strong leaning towards smart homes. Consequently, the guideline assists requirements engineers in this field particularly well, but it can also be used for software systems from other areas. Additionally, in the context of this thesis a software system was implemented which is able to detect sustainability concerns in textual requirements semi-automatically by utilizing machine learning algorithms. In order to determine which algorithm is best suited for the classification of text requirements, an experiment was conducted in which a multitude of classification algorithms were compared using model evaluation metrics. In this experiment, the algorithms were trained using pre-classified requirements and tested using a smaller set of requirements. It has been found that SVMs (Support Vector Machines) with balanced classes are most suitable. Furthermore, the software system should be provided with a user interface that allows the user to confirm or revise the classification results of the system to provide more data for the algorithm to train. Based on an experiment to evaluate the quality of the guideline, it was found that requirements engineers with the help of the guideline do agree with more than 80% when classifying requirements regarding their sustainability concerns. The comparison of the results of the algorithm and the requirements classified by requirements engineers shows that the requirements engineers classify only a few percent better. The results show that the identification of sustainability issues in requirements is a complex task, but due to the semi-automation it can be executed in a short time with almost the same results as by a requirement engineer. Further research on the usage of the guideline and the training or utilization of the machine learning algorithm is needed to prove if they would achieve the same results with requirements from other domains.
Original languageEnglish
Supervisors/Reviewers
  • Groher, Iris, Supervisor
Publication statusPublished - May 2020

Fields of science

  • 202017 Embedded systems
  • 102002 Augmented reality
  • 102006 Computer supported cooperative work (CSCW)
  • 102015 Information systems
  • 102020 Medical informatics
  • 102022 Software development
  • 102034 Cyber-physical systems
  • 201132 Computational engineering
  • 201305 Traffic engineering
  • 207409 Navigation systems
  • 502032 Quality management
  • 502050 Business informatics
  • 503015 Subject didactics of technical sciences

JKU Focus areas

  • Digital Transformation

Cite this