Abstract
The use of computers has been increasingly prevalent in our social lives in recent years. As a result, software engineers must create trustworthy software systems. Companies often release improved versions of the core program due to the constant demand and growing competition in the software field. A variety of growth models have been created to track and measure reliability by software managers and engineers. In the testing phase, the fault content and size of the software system increase, and consequently, the fault content found and eliminated during each debugging process decreases in comparison to the fault content present at the initial stage. In this scenario, we can consider the software fault detection process to be stochastic. The fault detection process is expressed in terms of testing coverage with random effects. In this study, we construct a testing coverage-based software model incorporating random effect with change point. We have used different testing coverage functions such as Exponential and Delayed S-shaped to study the effect of randomness. Further, multi-release planning for the proposed model has been studied and validated on the real-time failure dataset from Tandem Computers with four releases. Different performance measures and goodness-of-fit have been presented using a graphical representation.
Keywords
Introduction
The rapid growth in the field of software technology has significantly improved the quality of life and enhanced the development process of society. Software-based systems have become such an important element in modern day-to-day life, it is nearly difficult to carry out most of our daily activities without their assistance. As we have increased our dependence on software systems, it becomes important that they function reliably. The growing convergence of internet technology and electronic commerce has significantly increased the need for software products. As a result, developers face difficulty in fulfilling and impressing their clients. Software developers always try to look out for new techniques and pathways for clients’ happiness and market visibility. Software upgrades are one viable technique to achieve this aim. To build authentic and precise software with a smaller number of errors or faults is an ultimate take of a software developer which consumes time and effort. Technological advancements are occurring at a rapid pace, and these new developments, which are simply expansions of the original product, frequently act as if they are new products in the market. Generally, a new version is released as the software attains an operational reliability level as per the requirements of the firm. An upgrade refers to the replacement of the old version of the software with the new one. It is a difficult task to upgrade a software program. There may be a difference in terms of performance and functionality between the upgraded and current systems. In an upgrade full system is not changed, only specific components of the program are changed. The main aim of the developers is to enhance the software product, but there is also potential that the new version would deteriorate making the upgrading process complex and risky. To survive in the competitive market, software companies try to release new versions of the software because of a variety of reasons which are briefly provided in Fig. 1. The process of upgrading leads to the simultaneous growth in fault content. As a result, the testing crew of the software is always keen on learning about the problems existing in the program and, as a result, they constantly monitor the product’s efficiency. Safe system upgrades can enhance system behavior and help a company retain market share; nevertheless, unsafe system upgrades might result in serious errors in the system. At times, the new version performs as it was intended but the user may prefer the previous one [1]. The aforementioned problem is typically caused by software failure caused by mistakes, ambiguities, or misinterpretation of the criteria that the software is meant to meet unreliable code, insufficient testing before release, erroneous or unanticipated software usage, or other undiscovered factors. As there is a change in the selected component, not the entire system, it may lead to an escalation in the amount of fault content. The testers focus on learning about the defects in the program that will determine the functionality of upgraded software. In the history of this subject, many software reliability models have been proposed [2, 3, 4, 5, 6, 7].
Need for the requirement of different releases of software.
Several types of research have been conducted to establish software reliability growth models (SRGM). The fault detection rate (FDR) is one of the most critical aspects that affect the reliability growth model of the software. The FDR assists in determining the efficiency of detecting faults using testing procedures and periods. FDR is assumed to be constant or monotonically rising by various researchers. Goel and Okumoto made the first attempt to propose Non-Homogeneous Poisson Process based SRGM [3]. Later, various SRGMs were proposed describing exponential and S-shaped curves by Yamada et al. [8], Obha and Osaki [8], Kapur and Garg [9], Pham [10], and Kapur et al. [11]. Moreover, the fault removal rate is heavily dependent on the experience of the testing team, fault density, size of the program, and testing effort. In real life, we cannot assume that these factors remain stable while the testing and removal process. So, it is right to consider that FDR may fluctuate due to fluctuations in the testing environment. The time at which FDR fluctuates or changes is considered to be a change point. So, when there is an increase or drop in the failure intensity function, we can say that the change point occurred. The first attempt to work in this area was made by Zhao [12]. Later researchers made their contribution by merging the concept of imperfect debugging and testing efforts to attain a certain level of desired reliability [13, 14, 15]. Kapur et al. proposed various SRGMs based on single and multiple change points [15, 16, 17, 18, 19]. Recently, in 2022 a changepoint-based SRGM was proposed incorporating a time-dependent testing effort [20]. Nidhi Nijhawan used time-dependent exponentiated Weibull-based FRF to analyze the effect of change in the environment on the growth model [21]. We have also considered the concept of change points in the testing periods in our proposed model.
Furthermore, it has been suggested that software reliability can be enhanced further by taking into account the impact of specific real-world challenges that occur throughout the testing process. One of the most significant considerations is testing coverage (TC) for the developers and as well as users [22, 23, 24, 25, 26, 27, 28]. The software developers can assess the nature and quality of the software by considering testing coverage and later they can regulate how much further resolution or effort is needed to improve the reliability. During the process of testing, the behavior of coverage growth is stated in terms of a function
The effect of randomness plays a vital role that impacts the rate of failure, the efficiency of eliminating fault, TC, change point, and so on. Kapur et al. proposed a model that handles the randomness by using the concept of Itô type of Stochastic Differential equation (SDE) [37, 38, 39, 40, 41]. The motivation behind our study is that none of the SRGMs discussed in the literature have focused on the testing coverage with the effect of randomness. In our study, we have studied the effect of randomness on testing coverage-based FDR using SDE with the change point concept. Our study considers TC function as Exponential and S-Shaped distribution functions. Firstly, the reason behind considering the exponential TC function is that FDR is constant throughout the testing process which handles the case in which the code is uniform. When the faults are observed they are immediately isolated [3]. Also, during the testing procedure, the failure intensity rate decreases which indicates that there is an enhancement in the quality of the code of the software. But, in a real-life situation, it increases first and decreases over time. Secondly, the reason behind considering the S-shaped TC function is to recognize the realness of the time delay between the detection/observation and removal of faults from software code. There are two phases of the testing procedure: fault detection and isolation [8].
The concept of multi-release has been widely studied by different researchers. Kapur et al. stated that the upgradation of the software version can generate new faults [1, 42, 43]. In 2019, Anu Gupta Aggarwal et al. suggested a model with a time-dependent FRF along with imperfect debugging. They also proposed a multi-release model of the software [4]. Later in 2020, V Verma et al. modeled FRF by studying the delayed S-shaped model with constant error generation [44]. Later, a multi-release model was generated for an open-source project based on FRF and TC by Tandon and Aggarwal [45]. In 2022, a release planning problem was explained by Anu Aggarwal and Jaiswal in which weights of the modules were calculated by using the Fuzzy Analytical Hierarchy process. They modeled two SRGM based on FRF and testing coverage [46]. A modified Weibull distribution was used to address FDR to create the reliability model along with the multi-release planning problem by Pradhan, Kumar and Dhar in 2022 [47]. It has been observed that most of the proposed SRGMs used easily predictable preset parameters. Moreover, there is instability and randomness in the operating field environment when software is released. In 2023, two multi-upgrade SRGMs were created by considering the random field operating environment. These SRGMs captured the uncertainty of FDR [48]. In our research, a testing coverage-based SRGMs has been proposed incorporating random effect and change points. The randomness is caused by some irregular fluctuation while covering software code during the testing process. Later, we incorporated a multi-release model into our study.
This research contains three stages: at stage one the general model has been developed using assumptions, at stage two the multi-release model has been developed and at stage three the models have been validated on a real-time Tandem Computer dataset. We have divided the paper into six sections as follows: The notations and the assumption used in our proposed model have been provided in section 2. The model development is well explained in section 3 in which the concept of irregular fluctuations and change points have been implemented. In section 4, multi-release modeling has been suggested for up to four releases. The numerical illustration has been provided in section 5 in which we have used four release datasets of Tandem Computers. Later, the results of parameter estimation and goodness-of-fit curves are presented. The conclusions related to the model in this paper have been drawn in section 6 with the future scope.
Basic assumptions
The FDR of the software is modeled as a stochastic process. The FDR might change at any point in time called change-point. The software is subjected to failures caused by the remaining number of faults during execution. Faults are finite in number in the software code. The FDR rate can be represented in terms of testing coverage as Testing Coverage is subjected to some randomness. All faults in the software are mutually independent. The debugging process is assumed to be perfect and during the process, no new faults were introduced.
The differential equation explaining the fault detection process is given as:
where,
We extend Eq. (2) to the SDE of an Itô type [37, 49].
where
Now, we incorporate two types of testing coverage functions:
The Fault detection rate for the exponential testing coverage model is:
Now, the stochastic differential equation of the model provided in Eq. (3) using Eq. (4) can be written as:
The Itô formula solution is used to solve Eq. (5) by considering at
The expectation of
where
The FDR for the delayed S-shaped testing coverage model is:
Now, the SDE of the model provided in Eq. (4) using Eq. (9) can be written as:
The Itô formula solution is used to solve Eq. (10) by considering at
The expectation of
or:
Multi-release model.
The multi-release model has been suggested incorporating perfect debugging, change point, and testing coverage with random effect. The multi-release model with change point and release time has been shown in Fig. 2. Using Eqs (10) and (15), the MVFs for different releases can be obtained. The notations used in the multi-release model are:
It is the initial stage in developing the product’s reputation across users. Teams of testers work rigorously to eliminate as many faults as possible throughout testing. Consider that the software is initially released at time
To survive in today’s fierce world of competition, software companies must keep themselves up-to-date on the newest needs and innovations. To lure new consumers, they constantly add improvements to the software. The newly added improvements or features necessitate changes to the source code, which results in the creation of new faults. The team of testers addresses faults discovered during the operational period of the previous version, as well as faults discovered as a result of the newly introduced features in the recently released version. Now, at time
Similarly, it has been considered that the prior release has an impact on the MVF of the third release. In the third release at time
Similarly, the fourth release at time
Model validation
After the formulation of the multi-release SRGM, we validate the model using Non-linear Least square estimation technique (NLLS) in SPSS on the dataset. The parameters of the models are the first estimate using NLLS. Then, the number of cumulative faults is estimated. Later, the goodness-of-fit measures are explained as follows:
Coefficient of determination ( It measures the amount of variation in the dependent variable. It is in the range of 0 to 1 and if the value is closer to 1 then it implies a better fit.
Mean Square Error: Results of parameter estimation
Goodness-of-fit measures values for proposed models
Release 1: Goodness-of-fit curve.
Release 2: Goodness-of-fit curve.
Release 3: Goodness-of-fit curve.
Release 4: Goodness-of-fit curve.
It is the deviation between actual and estimated values. If the value is less then it implies a better fit.
Mean Absolute Error:
It is similar to MSE but it measures deviation with absolute values. If the value is less then it implies a better fit.
Bias
The average deviation between the actual and estimated values gives the bias. If the value is less then it implies a better fit.
Variance
It is given by the standard deviation of the bias.
Root Mean Square Percentage Error
It measures how well the estimation has been done. It is the standard deviation of the residuals. If the value is less then it implies a better fit.
The validation and estimation of the parameters of our model are done using by gathering real-time software data from Tandem Computers for four releases [51]. The data collection contains failure information from four significant software product releases. The actual data curve was drawn for all the releases to pinpoint the kinks which are nothing but change-point. It was observed that the changed point was observed at the 8
The goodness-of-fit analysis for both the SRGMs corresponding to each release is provided in Table 2. In the case of SRGM 1, the highest
From Table 2, it can be commemorated that the
Conclusion, limitations, and future scope
For most company organizations, handling the sales of technical products along with reputation in a cutthroat market or technological developments is a serious issue, particularly for high-tech products like software. Because of the significant costs and dangers involved in developing new software, as well as the intense market rivalry, businesses are compelled to develop follow-up or new versions to survive. The improved versions are intended to enhance the market’s potential adopters, but if the improved version is disliked by the market, it might result in significant financial and reputational loss. The assessment of the improved software system after release is a difficult process since it must be done to ensure that the many releases/multiple versions of the software are helpful for the developer. Because incorporating any new capability into an already complicated system increases complexity. In this research, we offer a testing coverage SRGM with randomness and change points along with a multi-release model. No software code is completely bug-free, as it is typically observed in practice. Testing of software is therefore a continual activity. We argue that there is a potential that certain flaws in the previously released version of software may be discovered and fixed when testing a new code. This aids in the removal of increasing software faults and results in highly dependable software. the two types of Testing Coverage functions have been incorporated: Exponential and delayed S-shaped functions. The advantage of using exponential TC is that the FDR is constant throughout the testing process which handles the case in which the code is uniform and as soon as the faults are observed they are immediately isolated. Also, during the testing procedure, the failure intensity rate decreases which indicates that there is an enhancement in the quality of the code of the software. But, in a real-life situation, it increases first and decreases over time. Secondly, the reason behind considering the S-shaped TC function is to recognize the realness of the time delay between the detection/observation and removal of faults from software code. There are two phases of the testing procedure: fault detection and isolation
The four-release dataset is used to estimate the suggested multi-release model based on Testing coverage SRGM with change point. The suggested model yields significant parameter estimations and goodness-of-fit measures. The results of the parameters are compared to the unified SDE proposed in 2012 without a change point [41]. The findings reveal that our suggested model provides a superior fit. In the future, we will attempt to develop more models in the same field using other traditional testing coverage functions. By enabling multiple change points, and imperfect fault debugging, the suggested model may be expanded using the change-point concept. The concept of different fault severity can also be incorporated in the future.
Footnotes
Acknowledgments
We would like to express our sincere gratitude to all the individuals and organizations that have contributed to this research paper.
First and foremost, we are grateful to the Department of Operational Research at the University of Delhi for providing us with the resources and support. I would also like to thank our research fellows at the Institution for their feedback and support throughout the research process. Their contributions have been invaluable in helping us to understand the topic and draw meaningful conclusions
Secondly, we would also like to show our gratitude to the editorial board members of the journal, and we also thank the reviewers who will be providing their so insights.
