Progress on Machine Learning Techniques for Software Fault Prediction

Author(s):  
Jyoti Goyal ◽  
◽  
Bal Kishan ◽  
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.


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.


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):  
Wasiur Rhmann ◽  
Gufran Ahmad Ansari

Software engineering repositories have been attracted by researchers to mine useful information about the different quality attributes of the software. These repositories have been helpful to software professionals to efficiently allocate various resources in the life cycle of software development. Software fault prediction is a quality assurance activity. In fault prediction, software faults are predicted before actual software testing. As exhaustive software testing is impossible, the use of software fault prediction models can help the proper allocation of testing resources. Various machine learning techniques have been applied to create software fault prediction models. In this study, ensemble models are used for software fault prediction. Change metrics-based data are collected for an open-source android project from GIT repository and code-based metrics data are obtained from PROMISE data repository and datasets kc1, kc2, cm1, and pc1 are used for experimental purpose. Results showed that ensemble models performed better compared to machine learning and hybrid search-based algorithms. Bagging ensemble was found to be more effective in the prediction of faults in comparison to soft and hard voting.


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 11 (2) ◽  
pp. 33-48
Author(s):  
Wasiur Rhmann ◽  
Gufran Ahmad Ansari

Software engineering repositories have been attracted by researchers to mine useful information about the different quality attributes of the software. These repositories have been helpful to software professionals to efficiently allocate various resources in the life cycle of software development. Software fault prediction is a quality assurance activity. In fault prediction, software faults are predicted before actual software testing. As exhaustive software testing is impossible, the use of software fault prediction models can help the proper allocation of testing resources. Various machine learning techniques have been applied to create software fault prediction models. In this study, ensemble models are used for software fault prediction. Change metrics-based data are collected for an open-source android project from GIT repository and code-based metrics data are obtained from PROMISE data repository and datasets kc1, kc2, cm1, and pc1 are used for experimental purpose. Results showed that ensemble models performed better compared to machine learning and hybrid search-based algorithms. Bagging ensemble was found to be more effective in the prediction of faults in comparison to soft and hard voting.


2021 ◽  
Vol 172 ◽  
pp. 114595
Author(s):  
Sushant Kumar Pandey ◽  
Ravi Bhushan Mishra ◽  
Anil Kumar Tripathi

2021 ◽  
pp. 1-67
Author(s):  
Stewart Smith ◽  
Olesya Zimina ◽  
Surender Manral ◽  
Michael Nickel

Seismic fault detection using machine learning techniques, in particular the convolution neural network (CNN), is becoming a widely accepted practice in the field of seismic interpretation. Machine learning algorithms are trained to mimic the capabilities of an experienced interpreter by recognizing patterns within seismic data and classifying them. Regardless of the method of seismic fault detection, interpretation or extraction of 3D fault representations from edge evidence or fault probability volumes is routine. Extracted fault representations are important to the understanding of the subsurface geology and are a critical input to upstream workflows including structural framework definition, static reservoir and petroleum system modeling, and well planning and de-risking activities. Efforts to automate the detection and extraction of geological features from seismic data have evolved in line with advances in computer algorithms, hardware, and machine learning techniques. We have developed an assisted fault interpretation workflow for seismic fault detection and extraction, demonstrated through a case study from the Groningen gas field of the Upper Permian, Dutch Rotliegend; a heavily faulted, subsalt gas field located onshore, NE Netherlands. Supervised using interpreter-led labeling, we apply a 2D multi-CNN to detect faults within a 3D pre-stack depth migrated seismic dataset. After prediction, we apply a geometric evaluation of predicted faults, using a principal component analysis (PCA) to produce geometric attribute representations (strike azimuth and planarity) of the fault prediction. Strike azimuth and planarity attributes are used to validate and automatically extract consistent 3D fault geometries, providing geological context to the interpreter and input to dependent workflows more efficiently.


Sign in / Sign up

Export Citation Format

Share Document