Abstract

Studying the interactions and relationships between non-functional requirements (NFRs) is important when developing software applications. This is because that a specific NFR may conflict, overlap or complement other NFRs. Moreover, one NFR may include characteristics and features of other NFRs. Most of the current studies focused on classifying NFRs into distinct different categories without considering the common characteristics or the relationships between these categories. This paper provides a study on how the results of various machine learning (ML) classifiers can be visualized and analyzed with the help of confusion matrices and principal component analysis (PCA) tools in order to examine the commonalities, mappings and relationships between NFRs. And to define which NFRs are mostly distinct and which NFRs are mostly overlapping. The paper also defines which ML classifier achieves the best performance through various classifications of NFRs. The experiments were performed using five different ML classifiers on the newly expanded PROMISE dataset and the achievements of these classifiers are evaluated based on precision, recall and F1-Score metrics. The results of this research help practitioners and researchers in the field of software engineering to pay more attention on the behavior of various NFRs. • ML techniques help in examining the behavior of NFRs. • ML techniques assist in defining the mostly distinct NFRs and the mostly overlapped NFRs. • ML classifiers perform better when understating the behavior of NFRs. • It is not necessarily for a classifier to perform better when the number of NFRs and their labels becomes smaller.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call