Document Type : Research Paper
Authors
1 Professor, Amity Institute of Information Technology, Amity University Uttar Pradesh, Noida, India
2 Assistant Professor, Department of Computer Science, Birla Institute of Technology, Mesra, India.
3 Professor & Director, Amity Center for Interdisciplinary Research, Amity University Uttar Pradesh, Noida, India.
Abstract
Keywords
Introduction
In the course of recent years, numerous software reliability growth models (SRGMs) have been proposed for estimation of reliability of software product. As personnel computer and its related software turns out to be more refined, whilst turning out to be more essential in our lives, but developers are progressively worried about its reliability quality. Software reliability offers the most far reaching cutting edge procedures to measure the software quality and testing approaches. Software improvement forms normally concentrate on errors, recognizing and redressing software development procedures that do happen at any period of software development.
In the previous four decades’ numerous software reliability based SRGM models (Goel & Okumoto, 1979; Kapur & Garg, 1980; Kumar, Sharma, Saini & Mrinal, 2012) have been proposed in writing to gauge and anticipate the software reliability and number of faults staying in the software. Non-Homogeneous Poisson Process (NHPP) model is one of the SRGMs, created by Goel & Okumoto, (1979).
A standout amongst the most critical utilizations of SRGMs is to focus the software release time. Most software engineers and managers constantly need to know the date on which the software reliability objective will be met.
For the most part, the detection of faults included in enhancing the software reliability of a software comprises of an exceptionally prolonged and costly testing procedure. It is accounted for that much of the time, more than a large portion of the time and cost is spent in testing when creating software. Subsequently, one of the imperative issues in this testing is the point at which we ought to quit testing and are prepared to release the software.
A wide range of methodologies have been proposed to focus the ideal release time of software, in view of distinctive SRGM. It couldn't be any more obvious, for case, (Goel & Okumoto, 1979; Yamada & Osaki, 1987; Jha, Kumar & Kapur, 2006).
So one of the significant concerns in the software development procedure is choosing when to quit testing and release the software. This release issue is known as the ideal software release and has been mulled over broadly. Goel & Okumoto(1979) tended to a cost for ideal software release arrangement that minimizes the aggregate expected software cost. Yamada & Osaki(1987) considered the ideal software release issue utilizing two cases: when the planned software release time is consistent and when it is an irregular variable with a self-assertive appropriation. (Yamada & Osaki, 1987) presented a cost reliability software release strategy that minimizes the aggregate expected cost and fuzzy software reliability prerequisite.
Software release time issue has additionally been planned and comprehended by numerous scientists in the software field in distinctive ways (Huang & Lyu, 2005; Jha, Kumar & Kapur, 2006; Kapur, Aggarwal & Garg, 1994; Kapur & Garg, 1990; Kapur, Kumar & Gupta, 2006). The greater part of the software release time issues talked about in literature consider the minimization of cost of testing or maximize the software reliability subject to budgetary limitation and/or reliability level to be accomplished by the release time(Kapur, Aggarwal & Garg, 1994; Kapur & Garg, 1990). Goel & Okumoto (1979) were the first to talk about the software release time approach from the cost saving advantage perspective. A couple researchers have additionally talked about the Bi-criteria release approach (Jha, Kumar & Kapur, 2006; Kapur & Garg, 1990) at the same time augmenting reliability and minimizing cost subject to reliability necessity and testing budget accessibility limitations. Optimization strategies, for example, method of calculus, Mathematical Programming and so forth are embraced to take care of these issues.
If testing stops too early, then there will be an excess of deficiencies left in the software, which will bring about unreasonable software failure during operation, and lead to critical misfortunes results into the failure punishment or client dissatisfaction. Then again, spending an excess of time duration in testing may bring about a high testing cost, and postponement the release of the software into the commercial market.
In the current examination, we identified with the SRGM for fault detection and correction with learning capacities of developer. Software release time choice it is expected that every one of the parameters of the issue are known accurately. Parameters of the SRGM used to portray the failure occurrences are assessed from the detected faults. Different goals and limitations are fixed by the management and cost parameters included in the total cost are resolved in light of past experience and all are altered constants. Practically speaking it is conceivable that the management is not ready to situated exact estimations of the different cost parameters and targets to be met by the release time. It might likewise be conceivable that the management itself doesn't set exact qualities keeping in mind the end goal to give some flexibility on these parameters because of focused inspections. This prompts vulnerability (fuzziness) in the problem. Fuzzy optimization approach to deal with these issues give a solution to evaluate these vulnerabilities. The fuzzy set theory and fuzzy optimization procedures can be utilized as a part of such a circumstance. In this paper, we have solved optimization problem for the optimal release time for software by minimizing cost capacity and maximizing reliability subject to budgetary constraint under a fuzzy domain (fuzzy objective, fuzzy inequalities in the limitations and problem parameters being fuzzy numbers) and tackled by utilizing fuzzy optimization method.
Rest of the paper is composed as takes after: First in section 2.1 we have examined the SRGM used to depict the useful relationship between the failure occurrence and time. In section 2.2 we have talked about the expense show and defined the issue in section 2.3. In area 3.1 we have talked about the essential ideas of fuzzy sets and given a calculation to explain the fuzzy optimization problem. Further in section 3.2 arrangement method is shown with a numerical case. At last we conclude the paper in section 4.
Problem Formulation
For planning the release time of software, first we characterize a cost capacity depicting the aggregate expected testing and investigating expense during testing and debugging stages. The cost acquired during testing stage incorporates cost per unit testing time. Notwithstanding these expenses, the cost capacity can likewise incorporate punishment or opportunity misfortune cost because of postponed delivery, risk expenses and so on. In this paper we consider just the cost of testing and debugging. Software reliability growth models give a functional relationship between the error introduction and time to remove it and number of faults staying in the software. A few classes of SRGMs have been proposed and accepted on literature. Among these Non Homogeneous Poisson Process (NHPP) based SRGM have been broadly considered and utilized as a part of this paper. NHPP based SRGM consider the failure and debugging process as counting procedure {N(t), t ≥ 0}, and are shown by a mean number of faults (Kapur & Garg, 1990; Kumar, Sharma, Saini & Mrinal, 2012).
In this section we will demonstrate SRGM to incorporate the impact of fault detection, correction process and learning capacities of the testing group into improving software reliability. During the testing procedure faults are distinguished on a failure by the fault detection group. Following list of symbols are used in this paper:
m(t): Mean value function of faults remaining in the NHPP model, with m(0) = 0.
a: Initial number of faults in the software when testing of software
begin.
m d(t): Expected number of faults detected by time t.
m c(t): Expected number of faults corrected by time t.
b(t): Time dependent rate of faults detection/correction per remaining faults.
α,β: Constant parameter in the learning capacities of developer.
R(x|T): Pr{no disappointment happens amid (T,T+x)|testing stops at T }
Co2: Cost acquired during testing before release of software.
Co3: Cost acquired during testing after release of software.
Co1: Testing cost per unit time.
C0(t): Total cost spending during development process by time t.
Tw: Warranty period.
T: Release time of the product.
T*: Optimal release time.
R0: Desired level of software reliability at release time (0 < Ro< 1).
CB(T): Budget available by time t.
B: Total budget available to the developer.
Assumption:
The expected number of failure takes after a NHPP with mean value function, m(t).
(2) The software fault detection rate is proportional to the expected number of undetected faults.
(3) The proportionality may change with time.
(4) The number of faults in each of the individual interval is autonomous.
(5) Each time a failure happens; the fault that brought on it is perfectly fixed.
(6) No new fault is created.
We had expected that the testing stage is a two-stage process. For first phase of testing process, the mean number of shortcoming recognition md(t), is propositional to the mean number of undetected issues staying in the product and can be communicated by taking after differential mathematical statement:
… (2.1)
where ,
Understanding comparison (2.1) with beginning condition md(0) = 0 we get
… (2.2)
It can be watched that as .
In the second stage, the shortcoming amendment rate is relative to the mean number of flaw distinguished however not yet revised deficiencies staying in the framework. In this stage shortcoming amendment rate is accepted as logistic learning capacity and it can be communicated as far as the differential comparison as:
… (2.3)
Where
Fathoming mathematical statement (2.3) with the introductory condition mc(0) = 0 the mean number of shortcomings revised is given by:
What's more, reliability measure of the software is given as
… (2.4)
This model is due to Kapur, Jha, & Kumar(2009).
The Cost Model
The total cost incorporates expense of testing, debugging cost during testing and expense of failure and debugging of faults during operational stage. Testing is performed under controlled environment. It is normal that cost of fixing a bug in testing stage to be not as much as expense of altering same in operational stage. The expense of failure and fixing of a fault during an altered warrantee period after the release of the software is incorporated.
In this manner total cost of testing accompanying fuzzy cost capacity can be defined to depict the aggregate expected cost of testing and debugging.
… (2.5)
e-(mc(T+Ts)-mc(T)) |
R((T+Ts)|T)= |
Symbol ~ marked on the parameters are fuzzy numbers. Here we accept these parameters to be Triangular Fuzzy Numbers (TFN). Also, Reliability is described as
………………. (2.6)
The optimization model is given as:
Maximize
Subject to
CB(T) B
………………………….(P1)
Our aim to minimize the cost and maximize the reliability subject to budget constraint given by management to developer. The two objective functions are fuzzy in nature. The value of the budget constraint assumes budget should be less than the budget allotted by the management. The symbol is called “fuzzy less than or equal to” which defines that the value of budget constraint is not precise but it varies depending on several other factors like debugging team size, team experience etc. The management determines the value of these fuzzy constraints.
Solution of Multi-Objective Fuzzy Model
In the literature many researchers have worked on the optimization model of the release time of software as Reliability, Cost and budget constraint. The objective function is to minimize the cost or maximize the reliability with the given constraints and to find the optimal time of release of the software. The researchers have worked on the crisp inputs wherein they have considered the crisp values. Since these inputs are not crisp and depend on various factors and can be taken as fuzzy inputs. The fuzzy optimization problems have been studied and modelled to find the optimal release time. In this paper, we have formulated a fuzzy multi-objective approach to optimal decision “release time” for software system. A numerical example is used to illustrate the proposed fuzzy bi-criteria optimization problem. Crisp optimization techniques cannot be used to deal with the uncertainties in the problem formulation. Hence fuzzy optimization is used to solve problems.
The algorithm below specifies the steps to solve the fuzzy problem formulated in Section 2 and described in equation (P1) (Kapur & Garg, 1990).
Algorithm:
1.Convert the fuzzy optimization problem into crisp problem by using a defuzzification function
3.Problem P1 can be restated as
Find T
s.t Co(T) ≤ C0
CB(T) ≤ B
…………………………(P2)
respectively, where
P0, Q0 and B0 are the restriction and aspiration levels set by management, respectively, and P*, Q* and B* are the tolerance levels.
Maximize α
Subject to i=1,2,3 ; α ≥ 0, T ≥ 0 …………………..(P3)
The above crisp problem can be solved by the standard mathematical programming algorithms.
Problem Solution
Parameters of SRGM have as of now been evaluated from the testing information set by gathered by Brooks and Motley(1980). The assessed estimations of parameters are a = 1334.26, b = 0.119, c =18.902, α = 1.972 and β = 0.024. Further it is accepted that estimations of Co1, Co2, Co3, and TW are known. The release time issue in view of the accompanying information could be dissected. Here we have taken Co1 = 6, Co2 = 15, Co3 = 30, TW = 5. The values of C0 , R0 and B are taken as 20000, 0.99 and 20350 respectively with tolerance levels on cost, reliability and budget constraint as C*=22000, R*=0.80 and CB*= 21000. (We have accepted these qualities for representation, however by and by these qualities are situated by the management in light of past experience). Utilizing above estimations of different parameters and constants, arrangement of the issue is acquired with the fuzzy optimization problem examined previously in section 3 above.
Parameters of SRGM have as of now been evaluated from the real time testing information gathered by Brooks and Motley(1980). Their values are given as:
Parameters |
a |
b |
c |
α |
β |
Values |
1334.26 |
0.119 |
18.902 |
1.972 |
0.024 |
Further it is assumed that values of C1, C2, C3, and TW are known and given by management as follows:
Parameters |
Co1 |
Co2 |
Co3 |
Ko0 |
Ko* |
TW |
R0 |
R* |
Values |
10 |
25 |
50 |
8500 |
9900 |
10 |
0.95 |
0.7 |
Further, we restate the problem by using defuzzification function F2(A),we can write
Subject to
CB(T) B
…………………….(4.1)
where
Substituting these values in the equation we get,
Minimize
Maximize
Subject to B
where …………………………….(4.2)
Restating the problem with fuzzifier min and max objective function and including them as a restriction level constraint. The problem 4.2can be restated as
Find T
s.t. ≤ 20000
≥ 0.99
≤ 20350
The membership functions μi(t) ,i =1,2,3 for the fuzzy cost, reliability and budget constraint are given as
By applying methodology describe in section 3. The three membership functions are plotted on the scale of time to find the optimal release time. The cost, reliability and budget constraint membership functions plotted on time scales respectively are shown in figures 1, 2 and 3.
Figure 1. Cost membership verses time
Figure 2. Reliability membership verses time
Figure 3. Budget membership verses time
Figure 4. Reliability, Cost & Budget membership verses time
Taking care of the problem (4.6) from Figure 4, we acquire ideal release time T= 67 and α=0.924326.
Conclusion
As we know that software testing is an important phases of software development. In general, software development method incorporates a piece of vulnerabilities and ambiguities. In this paper, we have defined a fuzzy release time issue by minimizing the total cost and maximising the reliability subject to budget constraint set by management to fix vulnerabilities and ambiguities. The issue is examined and solved by fuzzy optimization method on a data set. The numerical illustration is indicated for the given issue of software release time problem for software. If there should arise in occurrence of an infeasible issue, it can be reformulated as Goal programming problem to acquire a negotiable arrangement. Given problem can be reformulated with imperfect debugging and error generation of software. This is an exciting issue of further study in fuzzy optimization problem of software development process and its release.
Conflict of interest
The authors declare no potential conflict of interest regarding the publication of this work. In addition, the ethical issues including plagiarism, informed consent, misconduct, data fabrication and, or falsification, double publication and, or submission, and redundancy have been completely witnessed by the authors.
Funding
The author(s) received no financial support for the research, authorship, and/or publication of this article