Fault-Tolerant Algorithm for Software Preduction Using Machine Learning Techniques

Fault-Tolerant Algorithm for Software Preduction Using Machine Learning Techniques

Jullius Kumar, Dharmendra Lal Gupta, Lokendra Singh Umrao
DOI: 10.4018/IJSSCI.309425
OnDemand:
(Individual Articles)
Available
$37.50
No Current Special Offers
TOTAL SAVINGS: $37.50

Abstract

Many software reliability algorithms have been used to predict and approximate the reliability of software. One general expectation of these traditional algorithms is to predict the fault and automatically delete the observed faults. This presumption will not be reasonable in practice and may not always exist. In this paper, the various algorithms have been used such as probabilistic neural network (PNN), generalized neural network (GRNN), linear regression, support vector machine (SVM), bagging, decision trees (DTs), and k-nearest neighbor (KNN) to measure the accuracy of various data and comparison has been done. The proposed algorithm has been used for predicting the reliability of software and the algorithms have been implemented to check the accuracy while using different machine learning (ML) techniques. Experimental studies based on actual failure evidence indicate that the proposed algorithm can more effectively explain the change in failure data and predict the software development behavior than conventional techniques.
Article Preview
Top

Introduction

SRGMs contain two basic type of input data are TDD and IDD. TDD describes the recoding of failure data in separate time and the IDD tells the cumulative number of failures occur over a given period of time. For solving the problem with good approach, we need to work on Software testing in early phase for the reliable software. Different types of data need to be selected to predict the performance of model and one of them is SVM approach which is based on GA (JH Lo, 2010). Other approach is RVM based approach for predicting reliability of software having two features; first model uses only recent failure data out of available data. Secondly uses cumulative failure data instead of inter-failure data. RVM learning scheme is applied to the failure time data, it recognizes the inherent internal temporal property of the software failure in order to capture the more current hidden feature of software which is applied to failure time data and forcing the network to learn. RVM approach achieves the best performance in terms of accuracy. Cumulative failure data normally have less sharp change points than inter-failure data having stable pattern and capture easily (Jun-gang L et al., 2009). Some well-know ML techniques are used for predicting the reliability of software such as ANN, SVM, CNN, DT’s, FIS. The importance of each method and the capability of reliable models for comparative analysis have been done. For varied real life sets of failure data, precision is very effective and for output data as day of failures. K-fold is used for input-output datasets for training and validation of the model (P Kumar & Y Singh, 2012). Other real-life data used for the S-shaped growth model, the inflection S-shaped and hyper-exponential model for predicting the reliability. Exponential growth model fits are observed data very well. While In case of calendar time-based data non-homogeneous time distribution of the testing effort, exponential growth model doesn’t fit the observed data. The hyper-exponential growth model gives a better estimate for the number of faults for ordinary exponential growth model. In both cases the curve is similar, but in case of hyper-exponential model estimation results is unrealistic and inaccurate (Mitsuru Ohba, 1984). Software reliability model are stochastic and dynamic; The Software always need improvement. So complete testing is not possible, sufficient testing and the proper maintenance improves the reliability of software. In this situation proper CASE study is performed to build the product such as requirement analysis, modelling design, program construction and the testing. The main focus is to how to improve the quality of software based on random phenomenon and the activities to get the desired output or reliable outcome (A Quyoum et.al, 2010).

Table 1.
Acronyms used in the paper
Acronym NameAbbreviations
SRGMsSoftware reliability growth models
TDDTime Domain Data
IDDInterval domain data
SVMSupport vector machine
GAGenetic Algorithms
RVMRelevance Vector Machine
CNNCascade Neural Network
DT’sDecision Tree
FISFuzzy Inference System
ANNArtificial Neural Network
MLMachine Learning
PCAPrincipal Component Analysis
ITInformation Technology
GPGenetic Programming
GPBGenetic programming boosting
NHPPNon-Homogeneous Poison process
ROCReceiver Operating Characteristics Curve
MCMCMarkov chain Monte Carlo
FCFault Count
TBFTime Between Failure
RFRandom Forest
ANFISAdaptive Neuro Fuzzy Inference System
MLPMultilayer Perceptron
FFBPNNFeed-forward Back-propagation Neural Network
CFBPNNCascade Feed-forward Back-propagation Neural Network
PNNProbabilistic Neural Network
GRNNGeneralized Regression Neural Network
KNNK Nearest Neighbor
Lin RegLinear Regression
LOCsLine of Codes.
CPUCentral Processing Unit
TPTrue Positive
TNTrue Negative
FPFalse Positive
FNFalse Negative
BCRBalanced Classification Rate
NRMNegative Rate Matrix

Complete Article List

Search this Journal:
Reset
Volume 16: 1 Issue (2024)
Volume 15: 1 Issue (2023)
Volume 14: 4 Issues (2022): 1 Released, 3 Forthcoming
Volume 13: 4 Issues (2021)
Volume 12: 4 Issues (2020)
Volume 11: 4 Issues (2019)
Volume 10: 4 Issues (2018)
Volume 9: 4 Issues (2017)
Volume 8: 4 Issues (2016)
Volume 7: 4 Issues (2015)
Volume 6: 4 Issues (2014)
Volume 5: 4 Issues (2013)
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