BDU IR

CLASSIFICATION AND PRIORITIZATION OF REQUIREMENTS SMELLS USING MACHINE LEARNING ALGORITHMS

Show simple item record

dc.contributor.author FEKERTE, BERHANU TADLE
dc.date.accessioned 2024-04-19T08:15:12Z
dc.date.available 2024-04-19T08:15:12Z
dc.date.issued 2023-07
dc.identifier.uri http://ir.bdu.edu.et/handle/123456789/15763
dc.description.abstract Software requirements are a description of what the software is expected to do and behave. Specifying requirements in natural language might face difficulties like clarity, inaccuracy, ambiguity, incompleteness, vagueness, etc. An indicator of such quality problems on requirement is technically termed as requirement smells. Requirement smells are used to assess the quality of requirement and it needs early detection and rapid response. However, existing requirement smells detection approaches have scalability and flexibility issue, and poor performance. In addition, there is a gap in prioritizing detected requirements smells to take appropriate action accordingly. In this study, we address the gaps by developing a Machine learning (ML) based approach for the classification and prioritization of requirements smells. We have prepared 3100 requirements and they are labeled by experts. To prioritize requirements smells, we have used requirement smells severity level collected from experts and requirements importance level from the Software requirement specification (SRS) and with the help of MoSCoW prioritization rule. Then, textual requirements were preprocessed using Natural language processing (NLP) techniques, and features were extracted using TF-IDF and BOW. We have used 80/20 train test split ratio. For both classification and prioritization model building, commonly used classification algorithms LR, NB, SVM, DT, and KNN were applied and their performance is compared. Moreover, we have also used an additional sorting method for prioritizing requirement smells detected from a single project. As a result, LR with TF-IDF outperformed with 94% accuracy for requirement smell classification. For requirement smells prioritization, SVM outperformed other algorithms with 99% accuracy. Furthermore, smell priority has a positive correlation with smell class, smell severity level, and requirements importance level with 0.43, 0.8, and 0.48 values respectively. In the future, we plan to investigate and discover new requirement smell categories and prioritize requirement smells based on the number of smells that will happen in a single requirement. Keywords: software requirement, requirement smell, Machine Learning, NLP, smell priority, requirement smells severity, requirements importance level. en_US
dc.language.iso en_US en_US
dc.subject Software Engineering en_US
dc.title CLASSIFICATION AND PRIORITIZATION OF REQUIREMENTS SMELLS USING MACHINE LEARNING ALGORITHMS en_US
dc.type Thesis en_US


Files in this item

This item appears in the following Collection(s)

Show simple item record