A Software Fault Prediction on Inter- and Intra-Release Prediction Scenarios

A Software Fault Prediction on Inter- and Intra-Release Prediction Scenarios

Ashutosh Mishra, Meenu Singla
Copyright: © 2021 |Pages: 18
DOI: 10.4018/IJOSSP.287611
OnDemand:
(Individual Articles)
Available
$37.50
No Current Special Offers
TOTAL SAVINGS: $37.50

Abstract

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. 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 has better accuracy compared to inter-releases prediction across all the releases. Also, both the scenarios achieve good results in comparison to existing research work.
Article Preview
Top

1. Introduction

Software quality prediction is the most challenging task before it is being delivered to the end-user. Software quality engineering applied numerous techniques for assuring quality like testing the software, avoiding faults, removal, tolerating faults up to a certain level, and predicting faults. Testing is the most significant one but sometimes, an organization does not have limited time and budget for testing of the entire software, so in that case, the software development team can use fault prediction algorithms to predict the faulty modules in that software. These algorithms are very useful to improve the quality and reliability of the software, thus reach a dependable system.

Abaei et al. (2014) has defined the three goals are achieved by examining and predicting the faults from the software. First, assess the progress of the project and also design the fault detection activities. Next, to evaluate the quality of the product and last is to improve the capability and examine the performance of the project. To predict the faulty and non-faulty software modules, software fault prediction approaches use fault data and prior software metrics. The process of software fault prediction considered metrics and fault data as independent and dependent variables, respectively. The faulty software modules are marked as ‘1’ and non-faulty as ‘0’.

Malhotra (2014) has designed the model for the identification of faults in the software, an abundant amount of fault prediction models have been used that encompass various statistical and machine learning approaches. In most cases, the efficiency and performance of these models are trained and tested on the same release of the software. This means the whole dataset is split into two parts, i.e. training data and testing data. Firstly the model is predicated on the training dataset and then evaluated on the tested part of the same release. This type of prediction is called intra release prediction. But, the model is found to be more efficient, accurate, and validated when training and tested data are taken from previous and subsequent releases of the software, respectively. This type of prediction is called inter-release prediction. A limited amount of research is done on inter-release prediction.

The contribution of this paper is to predict the faults in two scenarios i.e. inter and intra release prediction. Both the scenarios use five releases of the open-source JEdit software taken from the PROMISE repository. These releases are experimented on eight machine learning algorithms using the R-studio tool. The performance measures of all the eight machine learning algorithms are computed in both the scenarios such as ‘r’, root mean square error (RMSE), accuracy, and R2. In the end, comparative analyses of both inter and intra release prediction scenarios are done. Also, the performance of the proposed techniques is compared with the existing ones.

The rest of the study is structured as follows: Section2 covers the preliminary research in the area of software fault prediction. An introduction of the variables, tools, techniques, and performance measures applicable in experimental work is illustrated in section3. Next, Section4 explains the proposed software fault prediction framework, based on the intra and inter-release prediction scenarios. Section5 discusses the experimental results. The conclusions and outlines for further research are described in section 6. Also, a dictionary of acronyms used in this article is included in the Appendix.

Top

Significant research and advancement have been done in past that deal with software fault prediction problems more efficiently. The studies concerned with the software fault prediction problem are described as below:

Singh et al. (2010) proposed LR, DT, ANN to find the association among object-oriented metrics and faults on different levels of fault severity over the NASA datasets. This study identified the most important metrics responsible for the occurrence of faults by using the techniques forward selection and backward elimination. Results depicted that DT and ANN performed better as compared to LR in terms of precision, sensitivity, completeness, specificity, and ROC.

Complete Article List

Search this Journal:
Reset
Volume 15: 1 Issue (2024): Forthcoming, Available for Pre-Order
Volume 14: 1 Issue (2023)
Volume 13: 4 Issues (2022): 1 Released, 3 Forthcoming
Volume 12: 4 Issues (2021)
Volume 11: 4 Issues (2020)
Volume 10: 4 Issues (2019)
Volume 9: 4 Issues (2018)
Volume 8: 4 Issues (2017)
Volume 7: 4 Issues (2016)
Volume 6: 1 Issue (2015)
Volume 5: 3 Issues (2014)
Volume 4: 4 Issues (2012)
Volume 3: 4 Issues (2011)
Volume 2: 4 Issues (2010)
Volume 1: 4 Issues (2009)
View Complete Journal Contents Listing