Literature Survey and Scope of the Present Work

As I know large numbers of techniques and models have already been worked out in the area of error estimation. Identifying and locating errors in software projects is a complicated job. Particularly, when project sizes grow. This chapter enlists and reviews existing work to predict the quality of the software using various machine learning techniques. In this chapter key finding from prior studies in the field of software fault prediction has been discussed. Various advantages and disadvantages of the methods used for software quality prediction, have been explained in a detail. What are the problems solved are also mentioned in this section. Description of earlier research work and present research work has summarized in one place.

2021 ◽  
Vol 12 (4) ◽  
pp. 0-0

Software quality engineering applied numerous techniques for assuring the quality of software, namely testing, verification, validation, fault tolerance, and fault prediction of the software. The machine learning techniques facilitate the identification of software modules as faulty or non-faulty. In most of the research, these approaches predict the fault-prone module in the same release of the software. Although, the model is found to be more efficient and validated when training and tested data are taken from previous and subsequent releases of the software respectively. The contribution of this paper is to predict the faults in two scenarios i.e. inter and intra release prediction. The comparison of both intra and inter-release fault prediction by computing various performance matrices using machine learning methods shows that intra-release prediction is having better accuracy compared to inter-releases prediction across all the releases. Also, but both the scenarios achieve good results in comparison to existing research work.


2018 ◽  
Vol 7 (3.12) ◽  
pp. 427
Author(s):  
Pooja Kapoor ◽  
Deepak Arora ◽  
Ashwani Kumar

Context: Since 1990, various researches have been working in the area of software fault prediction but yet it is difficult to assess the impacts and progressive path of this research field. Objective: In this research work, author’s major objective is to investigate the context and dimensions of research studies performed by different researchers in the area of software fault prediction. This work also focuses on presenting a well defined systematic view of their findings and suggestions after a critical examination of all major approaches applied in this key research area. Method: This research work includes 112 total manuscripts published between 2009 and 2014. These studies are gathered from a pool of total 587 manuscripts. The selection criteria for these manuscripts are title, keywords and citation of that paper. Result: The results of this investigation shows that most of the research work related to software fault prediction have been performed on available data set from NASA repository. Most of the research work performed is basically confined to analysis or comparative study of various machine learning techniques based on their classification accuracy. Various research work published doesn’t exhibit clearer representation of any specific prediction model. Conclusion: Still after years of development, there is a huge gap between the industry requirement and the research being performed by different researchers in the field of Software fault prediction. A better collaboration between industry academia is still required. This research work represents a critical investigative approach towards finding the exact gaps to be filled and explored more authentic future research areas in this field. All result finding have been critically examined and compared with existing literature work for better understanding and deep insight over identifying the major strengths of chosen research field. 


This chapter enlists and presents an overview of various machine learning approaches. It also explains the machine learning techniques used in the area of software engineering domain especially case-based reasoning method. Case-based reasoning is used to predict software quality of the system by examining a software module and predicting whether it is faulty or non-faulty. In this chapter an attempt has been made to propose a model with the help of previous data which is used for prediction. In this chapter, how machine learning technique such as case-based reasoning has been used for error estimation or fault prediction. Apart from case-based reasoning, some other types of learning methods have been discussed in detail.


Author(s):  
Golnoush Abaei ◽  
Ali Selamat

Quality assurance tasks such as testing, verification and validation, fault tolerance, and fault prediction play a major role in software engineering activities. Fault prediction approaches are used when a software company needs to deliver a finished product while it has limited time and budget for testing it. In such cases, identifying and testing parts of the system that are more defect prone is reasonable. In fact, prediction models are mainly used for improving software quality and exploiting available resources. Software fault prediction is studied in this chapter based on different criteria that matters in this research field. Usually, there are certain issues that need to be taken care of such as different machine-learning techniques, artificial intelligence classifiers, variety of software metrics, distinctive performance evaluation metrics, and some statistical analysis. In this chapter, the authors present a roadmap for those researchers who are interested in working in this area. They illustrate problems along with objectives related to each mentioned criterion, which could assist researchers to build the finest software fault prediction model.


Author(s):  
Raed Shatnawi

BACKGROUND: Fault data is vital to predicting the fault-proneness in large systems. Predicting faulty classes helps in allocating the appropriate testing resources for future releases. However, current fault data face challenges such as unlabeled instances and data imbalance. These challenges degrade the performance of the prediction models. Data imbalance happens because the majority of classes are labeled as not faulty whereas the minority of classes are labeled as faulty. AIM: The research proposes to improve fault prediction using software metrics in combination with threshold values. Statistical techniques are proposed to improve the quality of the datasets and therefore the quality of the fault prediction. METHOD: Threshold values of object-oriented metrics are used to label classes as faulty to improve the fault prediction models The resulting datasets are used to build prediction models using five machine learning techniques. The use of threshold values is validated on ten large object-oriented systems. RESULTS: The models are built for the datasets with and without the use of thresholds. The combination of thresholds with machine learning has improved the fault prediction models significantly for the five classifiers. CONCLUSION: Threshold values can be used to label software classes as fault-prone and can be used to improve machine learners in predicting the fault-prone classes.


Author(s):  
Golnoush Abaei ◽  
Ali Selamat

Quality assurance tasks such as testing, verification and validation, fault tolerance, and fault prediction play a major role in software engineering activities. Fault prediction approaches are used when a software company needs to deliver a finished product while it has limited time and budget for testing it. In such cases, identifying and testing parts of the system that are more defect prone is reasonable. In fact, prediction models are mainly used for improving software quality and exploiting available resources. Software fault prediction is studied in this chapter based on different criteria that matters in this research field. Usually, there are certain issues that need to be taken care of such as different machine-learning techniques, artificial intelligence classifiers, variety of software metrics, distinctive performance evaluation metrics, and some statistical analysis. In this chapter, the authors present a roadmap for those researchers who are interested in working in this area. They illustrate problems along with objectives related to each mentioned criterion, which could assist researchers to build the finest software fault prediction model.


2020 ◽  
Vol 8 (6) ◽  
pp. 4048-4053

In this world of emerging applications of software, it is always important to provide a quality assured product to customers. Software Fault Prediction popularly abbreviated as SFP is a major field which helps to provide quality assured products to customers. It helps to recognize modules that are bugfree and bug-prone in a software module. Machine learning techniques for both classification and determination are used for the purpose of software fault prediction. Software Fault Prediction is carried out prior to testing process without executing the source code, instead vital characteristics of software is taken into consideration. This early identification of faults can help software engineers to reduce the risk of system failure. A company does not always prefer to invest more expense on testing and in those situations, software fault prediction can have an upper hand in testing. The software fault prediction model will first train the learning techniques to generate base learners and then apply these base learners to unseen projects. It is always preferred to determine the count of faults rather than classifying each software module as fault-free and fault-prone. All software fault prediction techniques depend on base learners used and also nature of fault dataset. In this paper, the major learning techniques to determine software fault, characteristics of software fault dataset, etc. are discussed.


Sign in / Sign up

Export Citation Format

Share Document