Publicação

Applying Machine Learning Methods to Requirements Classification

Ver documento

Detalhes bibliográficos
Resumo:Requirements Engineering (RE) is an important phase of software development. This pro- cess consists of defining and maintaining the software requirements. These requirements can be classified into functional and non-functional requirements. However, when this process fails, due to incomplete, non-accurate, or even misclassified requirements, it can lead to project failures. To tackle this problem, Machine Learning (ML) techniques can be applied to help manage requirements. ML is a sub-field of Artificial Intelligence that can be used to aid the decision-making process by building automated models trained through samples of data. Thus, to attenuate these failures, will bring together RE and ML to automatically classify the requirements. We will use Supervised ML models and Active Learning (AL). SL models requires large amounts of data to be trained efficiently. However, in most cases, the data sets used to train are unlabelled and since the amount of data is too large, it makes it difficult to manually label it, being this the main challenge to train supervised models. AL is a way to counter the problems related to SL by accurately selecting the examples to be labelled by the user and consequently used to train the model. By aggregating AL with SL, we can achieve a more efficient model than by labelling the entire training set. We will define an approach to apply ML and AL to classify requirements datasets systematically. Thus, we will be able to accelerate and automate the requirements classification process. Classifying the requirements into categories enables developers to focus more on the other stages of the development process. The requirements to be used in the classification process will be written as informal text or user stories.
Autores principais:Azevedo, João Pedro Gonçalves
Assunto:Requirements Machine Learning Active Learning Software Engineering Requirements Classification Agile Development
Ano:2023
País:Portugal
Tipo de documento:dissertação de mestrado
Tipo de acesso:acesso aberto
Instituição associada:Universidade Nova de Lisboa
Idioma:inglês
Origem:Repositório Institucional da UNL
Descrição
Resumo:Requirements Engineering (RE) is an important phase of software development. This pro- cess consists of defining and maintaining the software requirements. These requirements can be classified into functional and non-functional requirements. However, when this process fails, due to incomplete, non-accurate, or even misclassified requirements, it can lead to project failures. To tackle this problem, Machine Learning (ML) techniques can be applied to help manage requirements. ML is a sub-field of Artificial Intelligence that can be used to aid the decision-making process by building automated models trained through samples of data. Thus, to attenuate these failures, will bring together RE and ML to automatically classify the requirements. We will use Supervised ML models and Active Learning (AL). SL models requires large amounts of data to be trained efficiently. However, in most cases, the data sets used to train are unlabelled and since the amount of data is too large, it makes it difficult to manually label it, being this the main challenge to train supervised models. AL is a way to counter the problems related to SL by accurately selecting the examples to be labelled by the user and consequently used to train the model. By aggregating AL with SL, we can achieve a more efficient model than by labelling the entire training set. We will define an approach to apply ML and AL to classify requirements datasets systematically. Thus, we will be able to accelerate and automate the requirements classification process. Classifying the requirements into categories enables developers to focus more on the other stages of the development process. The requirements to be used in the classification process will be written as informal text or user stories.