Abstract

Context. The improvements made in the last couple of decades in the requirements engineering (RE) processes and methods have witnessed a rapid rise in effectively using diverse machine learning (ML) techniques to resolve several multifaceted RE issues. One such challenging issue is the effective identification and classification of the software requirements on Stack Overflow (SO) for building quality systems. The appropriateness of ML-based techniques to tackle this issue has revealed quite substantial results, much effective than those produced by the usual available natural language processing (NLP) techniques. Nonetheless, a complete, systematic, and detailed comprehension of these ML based techniques is considerably scarce. Objective. To identify or recognize and classify the kinds of ML algorithms used for software requirements identification primarily on SO. Method. This paper reports a systematic literature review (SLR) collecting empirical evidence published up to May 2020. Results. This SLR study found 2,484 published papers related to RE and SO. The data extraction process of the SLR showed that (1) Latent Dirichlet Allocation (LDA) topic modeling is among the widely used ML algorithm in the selected studies and (2) precision and recall are amongst the most commonly utilized evaluation methods for measuring the performance of these ML algorithms. Conclusion. Our SLR study revealed that while ML algorithms have phenomenal capabilities of identifying the software requirements on SO, they still are confronted with various open problems/issues that will eventually limit their practical applications and performances. Our SLR study calls for the need of close collaboration venture between the RE and ML communities/researchers to handle the open issues confronted in the development of some real world machine learning-based quality systems.

Highlights

  • Software requirements are of two types, namely, functional requirements (FRs) and nonfunctional requirements (NFRs). e research work on the difference between FRs and NFRs is defined and well known; the automatic identification and classification of the software requirements stated in different natural language is still a huge challenge [14,15,16,17,18,19,20,21]. e problem situation becomes more complicated and worst when identifying software requirements from the Q&A on Stack Overflow (SO) [13, 22, 23]

  • A complete, systematic, and detailed comprehension of these emerging machine learning (ML) based techniques for identification or recognition of software requirements on SO is currently unavailable in the existing literature [13]. is systematic literature review (SLR) study is aimed at filling this gap for both researchers and practitioners’ community

  • For each of the research questions (RQs), the authors instigate them with a summary of the most noteworthy results, a discussion about the most relevant facets, and, based on them, a suggestion of some explanatory hypotheses

Read more

Summary

Related Work

As per our knowledge till there is no single SLR study performed on utilizing machine learning algorithms or techniques for identifying software requirements on the SO online Q&A website. ere are some surveys available on the SO [13, 31], but as of none of them are related in any way to ML algorithms or methods for detecting/identifying software requirements on the SO online Q&A website. Us, we are the first to perform a comprehensive SLR study aimed at identifying, reviewing, summarizing, assessing, and thoroughly reporting the diverse works of ML algorithms or techniques for identifying diverse software requirements on the SO. We conducted a comprehensive SLR study, thoroughly following the systematic guidelines defined and stated in [25, 26, 44,45,46], with the aim of identifying and classifying the types of machine learning algorithms or techniques used for identifying the software requirements on the Stack Overflow. E key research goal of our SLR study is to recognize or identify and classify or categorize the different types of machine learning algorithms or techniques used for identifying the software requirements on the Stack Overflow. When any sort of disagreements arose, a consensus meeting was arranged, with the participation of a third reviewer, until all (if any) discrepancies were fixed [62]

Results and Discussion
Evaluation
Validity Threats
Conflicts of Interest
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