Application of Machine Learning Techniques for Software Reliability Prediction (SRP)

Author(s):  
Pradeep Kumar

Software reliability is a statistical measure of how well software operates with respect to its requirements. There are two related software engineering research issues about reliability requirements. The first issue is achieving the necessary reliability, i.e., choosing and employing appropriate software engineering techniques in system design and implementation. The second issue is the assessment of reliability as a method of assurance that precedes system deployment. In past few years, various software reliability models have been introduced. These models have been developed in response to the need of software engineers, system engineers and managers to quantify the concept of software reliability. This chapter on software reliability prediction using ANNs addresses three main issues: (1) analyze, manage, and improve the reliability of software products; (2) satisfy the customer needs for competitive price, on time delivery, and reliable software product; (3) determine the software release instance that is, when the software is good enough to release to the customer.

Author(s):  
Pradeep Kumar ◽  
Abdul Wahid

Software reliability is a statistical measure of how well software operates with respect to its requirements. There are two related software engineering research issues about reliability requirements. The first issue is achieving the necessary reliability, i.e., choosing and employing appropriate software engineering techniques in system design and implementation. The second issue is the assessment of reliability as a method of assurance that precedes system deployment. In past few years, various software reliability models have been introduced. These models have been developed in response to the need of software engineers, system engineers and managers to quantify the concept of software reliability. This chapter investigates performance of some classical and intelligent machine learning techniques such as Linear regression (LR), Radial basis function network (RBFN), Generalized regression neural network (GRNN), Support vector machine (SVM), to predict software reliability. The effectiveness of LR and machine learning methods is demonstrated with the help of sixteen datasets taken from Data & Analysis Centre for Software (DACS). Two performance measures, root mean squared error (RMSE) and mean absolute percentage error (MAPE) is compared quantitatively obtained from rigorous experiments.


2020 ◽  
pp. 1640-1660
Author(s):  
Pradeep Kumar ◽  
Abdul Wahid

Software reliability is a statistical measure of how well software operates with respect to its requirements. There are two related software engineering research issues about reliability requirements. The first issue is achieving the necessary reliability, i.e., choosing and employing appropriate software engineering techniques in system design and implementation. The second issue is the assessment of reliability as a method of assurance that precedes system deployment. In past few years, various software reliability models have been introduced. These models have been developed in response to the need of software engineers, system engineers and managers to quantify the concept of software reliability. This chapter investigates performance of some classical and intelligent machine learning techniques such as Linear regression (LR), Radial basis function network (RBFN), Generalized regression neural network (GRNN), Support vector machine (SVM), to predict software reliability. The effectiveness of LR and machine learning methods is demonstrated with the help of sixteen datasets taken from Data & Analysis Centre for Software (DACS). Two performance measures, root mean squared error (RMSE) and mean absolute percentage error (MAPE) is compared quantitatively obtained from rigorous experiments.


Author(s):  
Bruce I. Blum

Finally, I am about to report on my own research. In the material that preceded this chapter I have tried to present the work of others. My role has been closer to that of a journalist than a scientist. Because I have covered so much ground, my presentations may be criticized as superficial; the chapters left more unanswered than they have answered. Nevertheless, by the time the reader has reached this point, we should have a shared perception of the design process and its rational foundations. Perhaps I could have accomplished this with fewer pages or with greater focus. I did not choose that path because I wanted the reader to build a perspective of her own, a perspective in which my model of adaptive design (as well as many other alternative solutions) would seem reasonable. The environment for adaptive design that I describe in this chapther is quite old. work began on the project in 1980, and the environment was frozen in 1982. My software engineering research career began in 1985. Prior to that time I was paid to develop useful software products (i.e., applications that satisfy the sponsor’s needs). Since 1985 I have been supported by research funds to deliver research products (i.e., new and relevant knowledge). Of course, there is no clear distinction between my practitioner and research activities, and my research—despite its change in paradigm—has always had a strong pragmatic bias. Many of my software engineering research papers were published when I was developing applications, and my work at the Johns Hopkins Medical Institutions was accepted as research in medical informatics (i.e., how computer technology can assist the practice of medicine and the delivery of care). The approach described in this chapter emerged from attempts to improve the application of computers in medicine, and this is how I finally came to understand software development—from the perspective of complex, life-critical, open interactive information systems. There is relatively little in this chapter that has not already been published. The chapter integrates what is available in a number of overlapping (and generally unreferenced) papers. I began reporting on my approach before it was fully operational (Blum 1981), but that is not uncommon in this profession.


2013 ◽  
Vol 2013 ◽  
pp. 1-8 ◽  
Author(s):  
Zhang Xiaonan ◽  
Yang Junfeng ◽  
Du Siliang ◽  
Huang Shudong

As we all know, relevant data during software life cycle can be used to analyze and predict software reliability. Firstly, the major disadvantages of the current software reliability models are discussed. And then based on analyzing classic PSO-SVM model and the characteristics of software reliability prediction, some measures of the improved PSO-SVM model are proposed, and the improved model is established. Lastly, simulation results show that compared with classic models, the improved model has better prediction precision, better generalization ability, and lower dependence on the number of samples, which is more applicable for software reliability prediction.


The rapid growth of the software products tends to increase the software application complexity. The complexity affects the software quality which is achieved by means of software reliability. It is desirable to perform reliability analysis at the early phase of Software Development Life Cycle. The paper conducts a thorough analysis on Bayesian model and Markov model which are common for both reliability prediction and estimation. We evaluate the state based model and path based model for reliability assessment and results obtained in both are same.


Sign in / Sign up

Export Citation Format

Share Document