The thesis addresses a part of the requirements engineering process (RE), namely the treatment of non-functional requirements. Requirements are commonly divided into functional requirements (FRs) and non-functional requirements (NFRs). NFRs address the non-functional aspects of a system, for example, its user interface. The thesis lays the theoretical background and explores the general nature of NFRs including different taxonomies of NFRs. It then looks closely at NFRs in the context of mobile applications.
In their marketplaces, so-called App Stores, users can express their opinion about an app after downloading and using it. Software developers can collect requirements straight from these reviews. This can help them improve their software to meet users' expectations. Due to the vast amount of review data manual inspection is tedious, time-consuming, cumbersome, or even infeasible. Tools to automatically classify such reviews might aid with this problem. However, there is still no solution to automatically extract NFRs from app store reviews and classify them into different types in practice.
The thesis, therefore, assesses the current state of research in developing automated solutions to classify NFRs from app store reviews. It analyzes several past approaches to automatically classify NFRs from app store reviews using machine learning and looks at the performance of different algorithms used for these approaches. It states that the so-called Support Vector Machine (SVM) algorithm performed best in the settings analyzed. The second practical part of the thesis then applies this SVM algorithm onto a given dataset with labeled reviews using Python. The reviews are classified into either one of these categories or no category at all: Usability, Dependability, Performance, and Supportability.
Inhaltsverzeichnis (Table of Contents)
- Introduction
- Objectives of the Thesis
- Structure of the Thesis
- Theoretical Background
- Introduction to Requirements Engineering
- Distinction Between Functional and Non-Functional Requirements
- Literature Review
- Methodology
- Different Taxonomies for Non-Functional Requirements
- App Store Reviews Containing Non-Functional Requirements
- Different Machine Learning Algorithms to Classify Non-Functional Requirements
- Applying the Support Vector Machine Algorithm to Classify an Existing Dataset
- Results
- Discussion
- Contributions to Theory
- Contributions to Practice
- Limitations and Future Work
- Conclusion
Zielsetzung und Themenschwerpunkte (Objectives and Key Themes)
This thesis explores the nature of non-functional requirements (NFRs), their characteristics in app store reviews, and existing research on automated solutions for classifying NFRs from such reviews. The goal is to investigate the performance of a machine learning (ML) algorithm trained on a manually labeled dataset of app store reviews. The thesis aims to contribute to both theoretical understanding and practical applications of NFR identification.
- The nature and characteristics of NFRs in app store reviews
- The state of research on automating NFR classification from app store reviews
- The performance of a specific ML algorithm for NFR classification
- Potential applications and limitations of automated NFR classification
- Future research directions in this field
Zusammenfassung der Kapitel (Chapter Summaries)
The first chapter introduces the concept of Requirements Engineering (RE) and its importance in software development. It highlights the distinction between functional requirements (FRs) and NFRs, emphasizing the significance of NFRs for user satisfaction, particularly in mobile applications. The chapter then outlines the thesis's objectives and structure.
The second chapter provides a theoretical background by discussing the core concepts of RE, including the different types of requirements, particularly focusing on NFRs and their classification. This chapter lays the groundwork for understanding the challenges of extracting and classifying NFRs from app store reviews.
Chapter 3 delves into a comprehensive review of relevant literature. It explores different taxonomies for NFRs and examines how these NFRs manifest within app store reviews. The chapter also examines previous research efforts to automate NFR classification using machine learning (ML) algorithms.
Chapter 4 focuses on the development and application of a specific ML algorithm, the Support Vector Machine, to a dataset of manually labeled app store reviews. The chapter details the methodology used for training and testing the algorithm.
Schlüsselwörter (Keywords)
The central themes of this thesis revolve around requirements engineering, non-functional requirements, app store reviews, machine learning, classification algorithms, and performance evaluation. The thesis investigates the potential for automating the extraction and classification of NFRs from user reviews, aiming to improve the development and user satisfaction of mobile applications.
- Quote paper
- Esther Krystek (Author), 2021, Automatic Classification of Non-Functional Requirements From App Store Reviews. Reviewing and Applying Approaches From Current Research, Munich, GRIN Verlag, https://www.grin.com/document/1130435