Multi- Objective Fuzzy Software Release Problem with learning capacities for fault detection and correction processes

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

Without utilization of computer and its related technology, modern day’s life cannot be headway. It has also transformed into an incredibly troublesome task. The genuine challenges included are shorter life cycles, cost effective and higher software quality goals. Despite these challenges the software developers have started to give cautious thought on to the procedure to develop software, testing and reliability investigation of software and to reinforce the method. Developer most fundamental decisions related to the perfect release time of Software. Software development method incorporates a piece of vulnerabilities and ambiguities. We have proposed a multi objective software release time issue under fuzzy environment using a software reliability growth model to overcome such vulnerabilities and ambiguities. Further we have discussed the fuzzy environment framework to deal with the issue. Considering model and issue, we can especially address the issue of when to release software under these conditions. Results are illustrated numerically.

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

Software Reliability Growth Models:

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

  1. Include the objective function of the fuzzifiermax and min as a fuzzy constraint with a restriction or aspiration level.

3.Problem P1 can be restated as

Find           T

s.t          Co(T) ≤  C0

 

                     CB(T) ≤  B

                            …………………………(P2)

  1. Membership functions are defined for all the fuzzy inequalities. The membership function for the fuzzy less than or equal to and greater than or equal to type are given as

      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.

  1. By applying the Extension principle to solve the fuzzy decision problem, the crisp mathematical programming problem is given by:

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

 

Bellman R.E. and Zadeh L.A.(1973). Decision making in a fuzzy environment, Management Science, 17,141-164,1973.
Brooks WD, Motley RW. (1980). Analysis of discrete software reliability models - Technical Report  (RADC-TR-80-84), New York: Rome Air Development Center, 1980.
Goel A.L., Okumoto K.(1979). Time dependent error detection rate model for software reliability and other performance measures, IEEE Transactions on Reliability, R-28(3): 206-211, 1979.
Huang  C.Y. and Lyu M. R.(2005). Optimal Release Time for Software Systems Considering Cost, Testing-Effort, and Test Efficiency, IEEE Trans. On Rel., 54 (4), 583 – 591, 2005.
Jha P. C., Kumar Deepak, Kapur P. K.(2006). Fuzzy Release Time Problem, Proceedings of 3rd International Conference in Quality, Reliability and Infocomm Technology (ICQRIT’2006) pp. 304-310, 2006.
Kapur P. K.,Jha P. C., Kumar Deepak (2009). A General Software Reliability Growth Model with different types of learning functions for fault detection and correction processes, Communications in Dependability and Quality Management An International journal , Volume 12, Number 1, P.P. 11– 23, 2009.
Kapur P.K. and Garg R.B.(1990). Optimal release policies for software systems with testing effort, Int. Journal System Science, 22(9), 1563-1571, 1990.
Kapur P.K., Aggarwal S. and Garg R.B. (1994). Bicriterion release policy for exponential software reliability growth model, RechercheOperationnelle – Operations  Research, 28, 165-180, 1994.
Kapur P.K., Garg R.B. and Kumar S.(1999). Contributions to hardware and software reliability, Singapore: World Scientific Publishing Co. Ltd., 1999.
Kapur P.K., Kumar Deepak, Gupta A., Jha P.C. (2006). On how to model software reliability growth in the presence of imperfect debugging and fault generation, Proceedings of 2nd  International Conference on Reliability & Safety Engineering, 515-523, 2006.
Khatri S. K, Kumar Deepak, Dwivedi A, Mrinal N.(2012). Software Reliability Growth Model with  Testing Efforts using Learning Function, IEEE explore digital library, Proceedings of International Conference on Software Engineering (Conseg, 2012), Devi AhilyaVishwavidhylaya,Indore,India, 1-5,2012.
Kumar Deepak, Sharma S. G., Saini S., Mrinal N.(2012).  Development of Software Reliability S-shaped Models, Review of Business and Technology Research Vol. 6, No. 1, pp. 101-110, 2012.
Kumar, D., Gupta, P. (2019). Fuzzy Software Release Problem with Learning Functions for Fault Detection and Correction Processes. In: Hoda, M., Chauhan, N., Quadri, S., Srivastava, P. (eds) Software Engineering. Advances in Intelligent Systems and Computing, vol 731. Springer,  Singapore, 2019.
Ohba M. (1984). Software reliability analysis models, IBM Journal of Research and Development, 28, 428-443, 1984.
Okumoto K. and Goel A.L.(1983). Optimal release time for computer software, IEEE Transactions On Software Engineering, SE-9 (3), 323-327, 1983.
Peerzada B. and Kumar D., "Analyzing Software Vulnerabilities Using Machine Learning," 2021 9th International Conference on Reliability, Infocom Technologies and Optimization (Trends and Future Directions) (ICRITO), pp. 1-4, 2021.
Pham H.(2006). System software Reliability, Springer, Reliability Engineering Series, 2006.
Steuer R.E. (1986). Multiple criteria optimization: Theory, computation and application, Wiley, New York, 1986.
Thirez, H.(2000). OR software LINGO”, European Journal of Operational Research, 124, 655-656, 2000.
Xie M. (2003).  A Study of the Effect of Imperfect debugging on Software Development Cost, IEEE Transactions on Software Engineering, 29 (5), 2003.
Yamada, S. and Osaki, S. (1987). Optimal software release policies with simultaneous cost and reliability requirements, European Journal of Operational Research, 31, 46-51.
Zimmermann, H.J.(1991). Fuzzy set theory and its applications, Academic Publisher, 1991.