Litcius/Paper detail

Seizing Requirements Engineering Issues through Supervised Learning Techniques

María Guadalupe Gramajo, Luciana C. Ballejos, Mariel Ale

2020IEEE Latin America Transactions17 citationsDOIOpen Access PDF

Abstract

In recent years, the popularity of machine learning techniques has grown due to the availability of larges volumes of data and the increased processing capacity of computers. Despite the inherent value of these techniques, few studies have attempted to summarize how machine learning algorithms, especially supervised learning have contributed to task automation and resolving challenges in Requirements Engineering. This paper proposes a systematic mapping of the literature to identify and analyze proposals which employ supervised learning in Requirements Engineering between 2002-2018. The goal of this research is to identify trends, datasets, and methods used. Thirty-three studies were selected based on defined inclusion and exclusion criteria. The results show that researches using these techniques focuses on eight broad categories: detection of linguistic problems in requirements documents and artifacts written in natural language, classification of document content, traceability, effort estimation, requirements analysis, failures prediction, quality and detection of business rules. The most used supervised learning algorithms were Support Vector Machine, Naive Bayes, Decision Tree, K-Nearest Neighbour, and Random Forest. Twenty-five public and twenty-eight private data sources were identified. Among the most used public data sources are Predictor Models in Software Engineering, iTrust Electronic Health Care System and Metric Data Program from NASA.

Topics & Concepts

Machine learningComputer scienceRequirements engineeringArtificial intelligenceDecision treeSupervised learningMetric (unit)Support vector machineNaive Bayes classifierQuality (philosophy)Tree (set theory)Data miningData scienceSoftwareEngineeringArtificial neural networkMathematicsOperations managementProgramming languageMathematical analysisPhilosophyEpistemologySoftware Engineering ResearchSoftware Engineering Techniques and PracticesSoftware Reliability and Analysis Research