In software development life cycle, the most important activity is software maintenance, in order to get a reliable and quality product. Huge amount of time, cost and effort is involved in it. Maintenance of software encompasses various... more
In software development life cycle, the most important activity is software maintenance, in order to get a reliable and quality product. Huge amount of time, cost and effort is involved in it. Maintenance of software encompasses various activities like prediction, detection, prevention and correction of fault. Due to refined and multifaceted applications, clustered architecture, artificial intelligence and commercial hardware are in use. Hence, in this research work a review is conducted in the field of software fault detection and correction. There are a lot of software reliability growth models and techniques which help in software fault detection and correction, nevertheless, the room for more models and processes is vacant to detect and correct faults.
In this author's opinion, following are the most important software quality attributes - Reliability, Usability, Performance and Availability. As said wisely, "Things that count most, can not be counted mostly." This paper tries to... more
In this author's opinion, following are the most important software quality attributes - Reliability, Usability, Performance and Availability. As said wisely, "Things that count most, can not be counted mostly." This paper tries to suggest how 'Reliability' can be measured from end user's perspective. For any software system, end user is the most important actor. Measuring ‘Reliability’ is a way to quantify the usefulness of the software for and end user. Therefore, measuring Reliability from an end user's perspective is very important. Unfortunately, there doesn't seem to be much discussion about how much reliable the software is for end user
In this paper using the main feature of our proposed Model in its inflection point, we propose a software reliability growth model, which relatively early in the testing and debugging phase, provides accurate parameters estimation, gives... more
In this paper using the main feature of our proposed Model in its inflection point, we propose a software reliability growth model, which relatively early in the testing and debugging phase, provides accurate parameters estimation, gives a very good failure behavior prediction and enable software developers to predict when to conclude testing, release the software and avoid over testing in order to cut the cost during the development and the maintenance of the software. Two real world experimental data previously analyzed have been used to compare our proposed Early Estimation Logistic Model effectiveness with several pre-existing models.
Software Reliability has just passed the 50-year milestone as a technical discipline along with Software Engineering. This paper traces the roots of Software Reliability Engineering (SRE) from its pre-software history to the beginnings of... more
Software Reliability has just passed the 50-year milestone as a technical discipline along with Software Engineering. This paper traces the roots of Software Reliability Engineering (SRE) from its pre-software history to the beginnings of the field with the first software reliability model in 1967 through its maturation in the 1980s to the current challenges in proving application reliability on smartphones and in other areas. This history began as a thesis proposal for a History of Science research program and includes multiple previously unpublished interviews with founders of the field. The project evolved to also provide a survey of the development of SRE from notable prior histories and from citations of new work in the field including reliability applications to Agile Methods. This history concludes at the modern-day providing bookends in the theory, models, literature, and practice of Software Reliability Engineering from 1968 to 2018 and pointing towards new opportunities to deepen and broaden the field. The paper also provides a timeline for the field stretching form 1816 to 2017.
Software reliability models (SRMs) are very important for estimating and predicting software reliability in the testing/debugging phase. The contributions of this paper are as follows. First, a historical review of the Gompertz SRM is... more
Software reliability models (SRMs) are very important for estimating and predicting software reliability in the testing/debugging phase. The contributions of this paper are as follows. First, a historical review of the Gompertz SRM is given. Based on several software failure data, the parameters of the Gompertz software reliability model are estimated using two estimation methods, the traditional maximum likelihood and the least square. The methods of estimation are evaluated using the MSE and R-squared criteria. The results show that the least square estimation is an attractive method in term of predictive performance and can be used when the maximum likelihood method fails to give good prediction results.
In the last couple of decades, the software development process has evolved drastically, starting from Big Bang to Waterfall to Agile. The primary driver for the evolution of the software was the "Speed of Delivery" of the Software... more
In the last couple of decades, the software development process has evolved drastically, starting from Big Bang to Waterfall to Agile. The primary driver for the evolution of the software was the "Speed of Delivery" of the Software Product which has significantly accelerated from months to less than weeks and days. For IT (Information Technology) Organizations to be successful, they inevitably need a strong technology presence to roll out new software and features as quickly as possible to their customer base. The current user generation tends to use technology to maximum potential and is always striving to keep up with the new trends. The main subject is for the organizations to be ready with their Speed of Delivery strategy adapting to all technology modernization initiatives like CICD (Continuous Integration and Continuous Deployment), Agile, DevOps, and Cloud so that there are negligible customer friction and no risks to their Market shares,. The aim of this paper is to compare the performance testing in every stage of the agile model to the traditional end testing. The results of the corresponding testing phases are presented in this paper.
Analyzing the reliability of a software can be done at various phases during the development of engineering software. Software reliability growth models (SRGMs) assess, predict, and controlthe software reliability based on data obtained... more
Analyzing the reliability of a software can be done at various phases during the development of engineering software. Software reliability growth models (SRGMs) assess, predict, and controlthe software reliability based on data obtained from testing phase.This paper gives a literaturereview of the first and wellknownJelinski and Moranda(J-M) (1972)SRGM.Also a modification to Jelinski and Morandamodel is given, Jelinski and Moranda and Schick and Wolverton (S-W) (1978)SRGMsare two special cases of our new suggested general SRGM. Our proposed general SRGMalong with our Survey will open doors for much more useful researches to be done in the field of reliability modeling.
Abstract – Since the year 1989, a number of software reliability growth models (SRGMs) with imperfect debugging assumption have been proposed, which include a couple of models that address imperfect debugging integrated with learning... more
Abstract – Since the year 1989, a number of software reliability growth models (SRGMs) with imperfect debugging assumption have been proposed, which include a couple of models that address imperfect debugging integrated with learning phenomenon of the testing team. We propose a NHPP model with shifted Weibull function rate of occurrence of failures (ROCOF) to address imperfect debugging and learning, either occurring separately or in combination thereof. This SRGM is found to provide adequate goodness of fit as well as predictive validity, in addition to fitting failure interval data even when there are reasonable fluctuations in time between failures.
Number of software Reliability growth models has been proposed in the literature. A mathematical technique which describes the software testing phenomenon known as the software reliability growth model. Software reliability growth models... more
Number of software Reliability growth models has been proposed in the literature. A mathematical technique which describes the software testing phenomenon known as the software reliability growth model. Software reliability growth models are used to predict the number of faults and reliability of the software. In the view of this software reliability growth models are basically differentiated as the continuous and discrete models. There is a plenty of development in the continuous models but little towards the discrete models. In this paper we have presented a discrete reliability growth model with different discrete testing effort functions and the same time software release policy is discussed. A new imperfect debugging discrete software reliability growth model with testing effort is proposed. All calculations are done on real data. The results shows the proposed testing effort models are perfectly fit to the data.
The paper is based on Fuzzy Logic (FL) and Neural Network (NN) techniques to predict the software reliability using the MATLAB toolbox. There are four methods used in this paper to predict reliability of the dataset retrieved from John... more
The paper is based on Fuzzy Logic (FL) and Neural Network (NN) techniques to predict the software reliability using the MATLAB toolbox. There are four methods used in this paper to predict reliability of the dataset retrieved from John Musa of bell laboratories. These methods are fuzzy method, neural network, fuzzy-neural network and neural-fuzzy. After the assessment of data the results we achieved were best from the fuzzy-neural method among all proposed methods. In Fuzzy-neural method the Levenberg-Marquardt algorithm is used for training the neurons. The performance of our proposed approaches has been tested using the testing data, which 15% of the data from failure data set.
In the last couple of decades, the software development process has evolved drastically, starting from Big Bang to Waterfall to Agile. The primary driver for the evolution of the software was the "Speed of Delivery" of the Software... more
In the last couple of decades, the software development process has evolved drastically, starting from Big Bang to Waterfall to Agile. The primary driver for the evolution of the software was the "Speed of Delivery" of the Software Product which has significantly accelerated from months to less than weeks and days. For IT (Information Technology) Organizations to be successful, they inevitably need a strong technology presence to roll out new software and features as quickly as possible to their customer base. The current user generation tends to use technology to maximum potential and is always striving to keep up with the new trends. The main subject is for the organizations to be ready with their Speed of Delivery strategy adapting to all technology modernization initiatives like CICD (Continuous Integration and Continuous Deployment), Agile, DevOps, and Cloud so that there are negligible customer friction and no risks to their Market shares,. The aim of this paper is to compare the performance testing in every stage of the agile model to the traditional end testing. The results of the corresponding testing phases are presented in this paper.
ABSTRACT Goel proposed generalization of the Goel–Okumoto (G–O) software reliability growth model (SRGM), in order to model the failure intensity function, i.e. the rate of occurrence of failures (ROCOF) that initially increases and then... more
ABSTRACT Goel proposed generalization of the Goel–Okumoto (G–O) software reliability growth model (SRGM), in order to model the failure intensity function, i.e. the rate of occurrence of failures (ROCOF) that initially increases and then decreases (I/D), which occurs in many projects due to the learning phenomenon of the testing team and a few other causes. The ROCOF of the generalized non-homogenous poisson process (NHPP) model can be expressed in the same mathematical form as that of a two-parameterWeibull function. However, this SRGM is susceptible to wide fluctuations in time between failures and sometimes it seems unable to recognize the I/Dpattern ofROCOFpresent in the datasets and hence does not adequately describe such data. The authors therefore propose a shifted Weibull function ROCOF instead for the generalized NHPP model. This modification to the Goel-generalized NHPP model results in an SRGM that seems to perform better consistently, as confirmed by the goodness of fit statistic and predictive validity metrics, when applied to failure datasets of 11 software projects with widely varying characteristics. A case study on software release time determination using the proposed SRGM is also given.
Software quality is a major concern for all software developers. Quality of the software can be assessed using various measures such as-the failure intensity function, the mean time to failure, failure rate etc. Several methods of... more
Software quality is a major concern for all software developers. Quality of the software can be assessed using various measures such as-the failure intensity function, the mean time to failure, failure rate etc. Several methods of estimation, like-the maximum likelihood estimation, the least square estimation etc are used in estimating these quantities. However, the software reliability, which is the probability of failure free operation of the software over a specified period of time, is an important measure of the quality of the software that helps the developers of the software to ensure that the user requirements are met. Software reliability models having certain failure time distribution are used to find the estimators of reliability and software failure data obtained during testing are used to estimate these values. Since most of the software failures have Weibull failure time distribution, herein, it is intended to estimate the reliability for the Weibull class models. The technique of Blackwellization has been used to find the minimum variance unbiased estimator of the reliability function. Few case studies have been considered to explain the behavior of this estimator.
The parameter estimation for the Compound Poisson Software Reliability Model is ana- lyzed. The biased characteristic is considered in order to get better performance. A com- parison with the well known Non Homogeneous Software... more
The parameter estimation for the Compound Poisson Software Reliability Model is ana- lyzed. The biased characteristic is considered in order to get better performance. A com- parison with the well known Non Homogeneous Software Reliability Models is presented. Several experimental data are used in order to analyze the goodness of fit of both models.
Software systems have become integral part of everyday life and dependency on these makes the assessment of their reliability, a crucial task in software development. To facilitate the assessment of software reliability, effective tools... more
Software systems have become integral part of everyday life and dependency on these makes the assessment of their reliability, a crucial task in software development. To facilitate the assessment of software reliability, effective tools and mechanisms are required. Classical approaches such as hypothesis testing are significantly time consuming as the conclusion can only be drawn after collecting huge amounts of data. Statistical methods like Sequential Analysis can be applied to arrive at a decision quickly. We propose to implement Sequential Probability Ratio Test (SPRT) for Burr Type III model based on time domain data. For this, parameters are estimated using Maximum Likelihood Estimation to apply SPRT on real time software failure datasets borrowed from different software projects
Reliability is one of the most relevant software quality attributes. The literature offers a variety of mathematical models - namely, software reliability growth models (SRGMs) - to estimate the reliability of a software product at a... more
Reliability is one of the most relevant software quality attributes. The literature offers a variety of mathematical models - namely, software reliability growth models (SRGMs) - to estimate the reliability of a software product at a given time, as well as to predict the reliability that will be achieved as testing activities progress. One of the typical assumptions of SRGMs is the immediate debugging of detected faults. In reality, the impact of the debugging process cannot be neglected at all. This paper reports the results of a real-world case-study in which we analyze the debugging process of a Customer Relationship Management (CRM) system, and study its impact on SRGM-based reliability estimation and prediction.
In diverse industrial and academic environments, the quality of the software has been evaluated using different analytic studies. The contribution of the present work is focused on the development of a methodology in order to improve the... more
In diverse industrial and academic environments, the quality of the software has been evaluated using different analytic studies. The contribution of the present work is focused on the development of a methodology in order to improve the evaluation and analysis of the reliability of web-based software applications. The Personal Software Process (PSP) was introduced in our methodology for improving the quality of the process and the product. The Evaluation + Improvement (Ei) process is performed in our methodology to evaluate and improve the quality of the software system. We tested our methodology in a web-based software system and used statistical modeling theory for the analysis and evaluation of the reliability. The behavior of the system under ideal conditions was evaluated and compared against the operation of the system executing under real conditions. The results obtained demonstrated the effectiveness and applicability of our methodology.