• No results found

A Proposed Fuzzy Optimization Technique for Software Release Time Problem

N/A
N/A
Protected

Academic year: 2020

Share "A Proposed Fuzzy Optimization Technique for Software Release Time Problem"

Copied!
7
0
0

Loading.... (view fulltext now)

Full text

(1)

Abstract: Reliability is very important in software system to maintain the trust of the customer. At the same time, the software needs to be developed within the time and budget constraint, as software developed with excess budget or taking too much time will affect the entire system. Therefore, it is of prime importance to release the software under the stipulated time without wastage of the budget or impacting reliability of the system. Present work proposes a fuzzy logic approach to find the release time of the software. Current study focuses on a fuzzy model with two fuzzy inputs and one output. The inputs of the fuzzy model are reliability and cost and time is the output. Mamdani Inference System is used to map inputs to outputs. The optimization problem proposed in this study is tested and also validated on the real-time dataset taken from Industry. The results of experiment show that the proposed model gives better time as compared with the models described in the literature. This proposed model can be utilized as a competency model to predict the estimated time of release of any new software.

Index Terms: Software Release time, fuzzy optimization, Mamdani Inference, Optimization, software reliability, rule base

I. INTRODUCTION

Software development takes place in phases, requirement and analysis phase at the first and implementation and documentation phase at the last. The most essential of all the phases is testing phase as it determines the software quality.Timely delivery of software along with cost and reliability are the quality parameters of any software. Software users look for fast delivery, low development price and quality software, whereas the aim of software developer is to minimize development cost, maximize profit and meet the competitive edge. This results in the tradeoff between the user requirement and developers aim. To avoid this trade off the software developer need to find the time as when can we stop the testing of software and make it release ready as per the user requirement of best quality within the budget constraint, these release problems are referred to as “Software Release Time Decision Problem”.

Optimization problems are formulated to obtain the optimal time of release of the software based on targets that

Revised Manuscript Received on July 22, 2019. Shubhra Gautam, Amity University, Uttar Pradesh, India.

Deepak Kumar, Amity University, Uttar Pradesh, India.

L.M. Patnaik, National Institute of Advanced Studies, Bangalore, India

are set by the software user and management. The cost and time are important constraint for the Software developer. The cost has various components like development cost, testing cost, maintenance cost etc. All these cost has to be minimized and at the same time, the developer has to meet the quality constraints.

The traditional approaches in literature focus on crisp [12] or fuzzy optimization [11] of software release time problem. However, the usability of these models has limited coverage. Therefore, there is a need of a model which can have vast coverage and is more adaptable. The authors have explored the use of soft computing tools to solve the optimization problem with two inputs and one output. In this research study, fuzzy rule base model is presented and a rule base is defined to ascertain the relation of cost, reliability & time. The proposed study uses Mamdani Inference System of fuzzy logic and is tested and validated on real time dataset.

The flow of the paper as follows - Section II focuses on the related work. Section III presents the proposed optimization model with input and output functions using Fuzzy Rule Base. In section IV, implementation of proposed model is discussed. In section V, experimental results are discussed and Section VI presents the Conclusion.

II. RELATEDWORK

The optimization problem of software release time roots back to 1980s. In past, many authors have discussed the optimization problem. The optimization problems discussed in literature were single, bi-criteria crisp optimization or fuzzy optimization. A glimpse of optimization work done in past is presented in this section.

The problem of determining the optimum time as to when to stop the testing of system was discussed by Okumoto and Goel [21]. Their optimization problem was dependent on the failure phenomenon of software and the criterion that they used was readiness of the software system. The decision policies involving cost and reliability optimization on existing software were investigated by Yamada et al [27].

A Proposed Fuzzy Optimization Technique for

Software Release Time Problem

(2)

Optimal release policies of software systems by maximizing expected gain were discussed by Kapur et al. [14] and simultaneously they discussed the effect of testing effort expenditure to achieve a given level of failure intensity for SRGMs.

Huang et al [6] discussed the consequences of using different testing techniques or tools to increase the efficiency of testing of software. They formulated an economic policy for software that gives the comprehensive analysis based on the cost of software and its test efficiency. Their policy helped project managers to determine when to stop testing and what is the right time to release the software.

Yun et al. [28] considered three different cost components and used average total profit as criterion. The optimal value of release time was found to be finite and unique. They also found that the optimal release time is inversely proportional to the error rate. The optimization problem considering effect of imperfect fault debugging was proposed by Kapur et al [15]. Pham et al. [22] addressed the questions like How the resources can be scheduled to confirm on-time delivery and Is the software system sufficiently reliable to release. They included warranty cost along with risk cost due to software failure in their cost function. Their models were used to evaluate the accurate total software cost.

Jha et al [10] first discussed the software release time decision problem under fuzzy environment. One of the important decisions for a project manager is to plan the delivery of software in the scheduled expected time. When to stop testing and release the software the software is the most crucial decision for the management. Several factors like size of development team, its experience, cost, etc effect the release of the software. In real, these values cannot be taken as fixed as certain amount of uncertainty or fuzziness is always attached with them. A bi-criterion release time problem with two conflicting objective functions cost reliability and taking available budget as a constraint was discussed by Jha et al.

Further researchers discussed various single or bi-criterion optimization methods using different mean value function and cost function in consideration. The fuzzy rule base optimization of release time is proposed in this study. The proposed model would help in determining the release time of the software and thus improving the quality of software product significantly.

III. PROPOSEDFUZZYOPTIMIZATIONPROBLEM The various optimization problem proposed in history for software release time problem have considered the static or crisp values only. A static or crisp value can have a value as True(1) or False(0) i.e. it either completely belongs to or does not belong to. However, in reality these values cannot have crisp values always. A degree of uncertainty is always attached to the input values as the inputs are dependent on several other factors like experience of team, team size, technology used etc. These value effect our inputs in such a way that the input can have values as somewhat true or somewhat false instead of a complete true and complete false.

A degree of uncertainty is attached with the input values. To accommodate this uncertainty we use fuzzy inputs and propose the problem in fuzzy environment [2]. A fuzzy environment deals with the fuzziness of the inputs and transforms the fuzzy inputs into crisp output. In fuzzy environment; a membership value is attached with every variable. The membership values have values like no membership, complete membership or full membership.

In fuzzy optimization vague or ambiguous information is expressed as precise value and quantify the uncertainty involved in the inputs[1]. Fuzzy optimization is considered to be more flexible as it saves time since it operates on the fuzzy values.

In case of imprecise and uncertain environment of decision making, fuzzy inference systems are best to employ [26].It uses human like reasoning of if-then statements which are termed as rules [29].It also involve understanding of fuzzy variables, their membership functions and knowledge of if-then rules [19].In order to find the optimal release time a fuzzy optimization model with if-then rules is proposed.

A. Features of the proposed model

The proposed model uses the if-then rules of fuzzy logic and is implemented in MATLAB. Mamdani inference system is used in this study. Two inputs and one output are identified for the proposed fuzzy optimization model. The input features used are as follows:

Cost (Ct): Ct describe the cost function i.e. it is the total testing cost [13]. Ct is defined as

1 2 ( ) 3( ( ') – ( )).

t t t

CtCC m tC m t tm t (1)

Here, Ct1, 2, 3 are different testing cost and t’ is warranty

period. Total cost is always minimized by the software development team.

Reliability (Rt): Reliability is described as “a function which gives the probability of a fault-free function of any software for a specific period of time within certain given environment”[25].

It is defined as

( ’) – ( ) .

Rtexpm tt m t (2)

(3)

The mean number of failure m(t) used above in cost and reliability function is defined by Sharma et al. [24] considering imperfect debugging with learning function and is defined as

( ) * (1 ((1 * ) **( * /

.

/ )

exp * )

* *

* / )

m t a b t p b b b

p t b

 

   

 (3)

Where a is initial number of fault in software b is constant fault removal rate

α, β are constant of intelligence function p is probability of perfect debugging

The output feature is

Time (Tt): The time Tt is the optimal time of release of the software. It is the time at which the software should be released considering the cost function as minimum and reliability function as maximum [5].

B. Proposed Fuzzy Model:

A system which use the concept of fuzzy set theory for mapping fuzzy I/O into fuzzy O/P resulting in the crisp optimization problem is referred as Fuzzy Inference System (FIS). The two types of fuzzy inference systems are Mamdani fuzzy inference system and Sugeno fuzzy inference system [4].

In this research study, Mamdani inference system is used for mapping of inputs into outputs. It uses following steps for mapping of fuzzy input to fuzzy output.

1. Identify fuzzy rules.

2. Fuzzify inputs using membership function. 3. Decide fuzzy rules.

4. Determine the strength of fuzzy rules by using rule base with fuzzified inputs.

5. Identify the effect of the strength of fuzzy rule with the membership function of output.

6. Merge the result of step 5 to find the distribution pattern of output, and

7. Defuzzify the above output distribution in order to get the crisp output, if needed.

[image:3.595.304.550.55.277.2]

The fig 1 below gives the proposed fuzzy model in soft computing tool MATLAB. The fuzzy model below shows the relationship between cost (Ct) and reliability (Rt) (Input variables) and Time (Tt) (output variable).

Fig.1: Proposed Fuzzy Model

The values of input variables, reliability (Rt) and cost (Ct), and output variable Time (Tt) are not precise and hence are described in linguistic terms [23].

We have considered fuzzy triangular membership function of Mamdani inference system. Fuzzy triangular membership function considers three different levels of linguistic values for each input and output variable. The three different level of linguistic value is defined as:

COST: Low (LC), Medium (MC), High (HC)

RELIABILITY: Low (LR), Medium (MR), High (HR) TIME: Low (LT), Medium (MT), High (HT)

On the basis of the knowledge and skill of the development team, a fuzzy rule base is defined. The fuzzy rule base gives the relationship between the linguistic values of inputs with the linguistic value of output.

Table I: Rule base

If Cost and Reliability Then Time

Rule Cost Reliability Time

1 LC LR LT

2 MC LR LT

3 HC LR MT

4 LC MR MT

5 MC MR MT

6 HC MR MT

7 LC HR MT

8 MC HR HT

[image:3.595.320.534.517.681.2]
(4)
[image:4.595.315.534.48.278.2]

The rule base of fuzzy input/output defined above in table 1 can be implemented in fuzzy software, MATLAB and is viewed on the fuzzy rule viewer as in Fig 2. The 3D graph of the fuzzy rule base defined above is shown in fig. 3.

[image:4.595.57.272.114.307.2]

Fig 2: Fuzzy Rule base for DS

Fig. 3: Cost, Reliability and Time Relationship

The bi criterion optimization problem is solved by using fuzzy rule base(with triangular membership function) as defined in section III(B).

C. Datasets:

A real time dataset is used from Jeske and Zhang [8] for implementation of our method. The software testing period is of 36 weeks and 181 total faults were discovered. By focusing more on System level testing there is a scope to improve overall release quality, reduce defects and timely release of the software in next release.

Table II: Number of Faults

Table III: Cost per fault

Timeline Phase Description Cost ($)

Cost statistics of

Release 1

Cost per defect found during testing

Cost incurred to remove fault during testing

254

Cost per defect before system level testing

Cost incurred to remove fault found in s/w build test or entity level testing before SLT

906

Cost per fault after release of s/w

Cost incurred to remove fault

found by

customer

1760

The above values of number of faults and cost are used to estimate the values of total cost and reliability .The values so obtained are used to find the optimal time of release.

IV. IMPLEMENTATION

[image:4.595.299.553.315.561.2]

Fuzzy Logic Toolbox of MATLAB [7] is used for implementing the proposed optimization model. It takes fuzzy input values and generates crisp output value. Table IV below gives the details of set up for proposed model.

TABLE IV: Details of Fuzzy logic set up

Features Fuzzy Logic Toolbox

[image:4.595.58.279.348.532.2]
(5)

Editor Fuzzy Toolbox Membership Function Triangular

Inputs Reliability and Cost

Output Time

[image:5.595.44.296.57.110.2]

In triangular membership function, each of the fuzzy variables, cost, reliability and time, are represented in three range i.e. Low(L), Medium(M) and High(H). The fuzzy model defines the membership function for three fuzzy inequality and constraint corresponding to the objective function, each representing one fuzzy set and is described as

Table V: Cost, Reliability and Time Membership Function

Variable Membership Function

Cost

0

*

*

1 * 0

0

*

1 ;

( ) ;

0 ;

CC

C C

T C CC

C C

C C

  

 

 

   

 

 

 

 

Reliability

1 ; 0

* *

( ) ;

2 * 0

0

*

0 ;

 

 

    

 

 

  

 

R R

R R

T R R R

R R

R R

Time

0 *

*

3 * 0

0

*

1 ;

( ) ;

0 ;

T T T T

T T T T

T T

T T

  

 

 

   

 

 

 

 

Where C0, R0, and T0 are the restriction or aspiration level of

cost, reliability and time respectively and C*,R* and T* are the corresponding tolerance levels. These membership functions are depicted graphically in below figures 3(a-c):

(a)

(b)

[image:5.595.323.529.59.386.2]

(c)

Fig 3: Cost, Reliability & Time Membership Function

V. EXPERIMENTALRESULTS

Methods of Fuzzy mathematical programming are used for solving the optimization problem [9]. In section 4, we have defined the membership function of cost and reliability. Soft computing tool, MATLAB, is used to implement the membership functions.

[image:5.595.48.292.226.402.2]

The function used for defuzzification of fuzzy inputs is F′(A)=(aL+2a+aU)/4 where aL, a, aUis the lower, middle and upper range of the input or output respectively. Management decides the restriction levels of input parameters. The various parameters of SRGM used in the study are estimated and their values are given in table VI below:

Table VI: Parameters of SRGM

a b Α β p

378.938 0.050 0.009 0.009 0.783

The values of restriction (or aspiration) level and tolerance levels of fuzzy inequalities cost, reliability and time as decided by management are given in table VII below:

Table VII: Aspiration and Tolerance level of Cost and

[image:5.595.57.279.485.685.2]
(6)

Cost Reliability

C0 C* R0 R*

13000 14680 0.99 0.70

[image:6.595.42.294.50.90.2]

Using the above values the optimal release time is found by using the fuzzy function. The model is tested on fuzzy rule base as described above and implemented on MATLAB. The fuzzy rule base of proposed model can be viewed on rule viewer and is shown in fig. 4 below:

Fig 4: Rules as viewed on rule viewer

The proposed model is tested for different restriction levels of cost and reliability, the time obtained to release the software is summarized in table VIII below:

Table VIII: Optimal Release time for different set of Cost and Reliability

S. No. Cost($) Reliability Time(weeks)

1 13000 0.99 34

2 12000 0.20 14

3 14500 0.20 19

4 13000 0.51 20

From the above table we can see that for the restriction levels of inputs, Reliability and cost taken as 0.99 and 13000$ respectively and the release time obtained is 34 weeks. The proposed model was further tested on other restriction levels values of reliability and cost and corresponding value of release time is recorded. The proposed model is tested on other datasets as well and proved to be of considerable use for software developers as it provides an insight of how much time it will take to release the software under different constraints of cost and reliability. The software schedules can be made accordingly software release with high reliability and within the time budget and time constraint. This will remove any tradeoff between the quality of software developed and budget constraint of the development team. Eventually, there will be an increase in the confidence level of development team and at the same time will ensure trust of the customer on the team.

VI. CONCLUSION

This paper proposes a bi-criteria fuzzy optimization problem for software release time problem. Many researchers have discussed the optimization of software release time, but they have not considered the fuzziness of the input values. As cost and reliability both are dependent on various external factors, the authors have considered inputs as fuzzy inputs. Fuzzy logic is the field of soft computing that deals with imprecision of the values. A bi-criterion fuzzy optimization problem is formulated with two inputs as cost and reliability and output as time of release. To validate the proposed model, different fuzzy rules are defined, and numerical example is taken to show the results of proposed model. The results are compared with existing optimization models and results show better goodness of fit. There are other factors as well which affect the software release time like team size, working environment etc. These factors can also be taken as input values with cost and reliability to determine the optimal release time. This can be considered as future research in this area.

REFERENCES

1. Bector CR and Suresh C(2005), “Fuzzy Mathematical Programming and Fuzzy Matrix Games”, Springer-Verlag Berlin Heidelberg, 2005. 2. Bellman RE and Zadeh LA(1973), “Decision making in a fuzzy

environment”, Management Science, 17,141-164,1973.

3. Brooks, W. D. and R.W. Motley (1980), Analysis of Discrete Software Reliability Models-Technical Report (RADC-TR-80-84), Rome Air Development Center, New York, 1980.

4. Chaudhari S , Patil M(2014), “Study and Review of Fuzzy Inference Systems for Decision Making and Control”, American International Journal of Research in Science, Technology, Engineering & Mathematics, pp 88-92,2014

5. Gautam S, Kumar D, Patnaik L.M(2015)., “Fuzzy Multi-Objective Software Release Time Problem with Learning Function” paper presented and published in CSI Golden Jubilee ‘Digital Life’, Delhi, December 2015 6. 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.

7. J.R.N Gulley and Jang (1996), Fuzzy logic toolbox for use with MATLAB, Mathworks Inc. 1996.

8. Jeske, D.R.; Zhang, X. “Some successful approaches to software reliability modeling in industry”, J. Syst. Softw. 2005, 74, 85–99.

9. Jha P. C., Kumar Deepak, Kapur P. K. “Fuzzy Release Time Problem” Proceedings of 3rd International Conference in Quality, Reliability and Infocom Technology (ICQRIT’2006) pp. 304-310, 2006.

10. Jha P.C. , Indumati, Singh O , Deepali Gupta “Bi-criterion release time problem for a discrete SRGM under fuzzy environment”, Int. J. Mathematics in Operational Research, Vol. 3, No. 6, 2011

11. Kapur P.K., "Reliability growth modeling and optimal release policy under fuzzy environment of an N-version programming system incorporating the effect of fault removal efficiency", International Journal of Automation and Computing, 10/2007

12. Kapur PK, Garg RB, Kumar S. “Contributions to hardware and software reliability” 1999; Singapore: World Scientific Publishing Co. Ltd. 13. Kapur PK, Jha PC, Gupta D, Yadav K,”Identification of different stages in

the testing phase of a software reliability growth model”, Advances in performance and safety of complex systems;

14. Kapur, P.K. and Garg, R. B., Optimal Software Release policies for Software Systems with testing Effort, International Journal System Science, 22(9), 1563-1571, 1991.

15. Kapur, P.K., Garg, R. B. and Bhalla, V. K., Release Policy with Random Software Life Cycle and Penalty Cost, Microelectron Reliability, 33(1), 7-12, 1993.

16. Kapur, P.K., Gupta, D., Gupta, A. and Jha, P.C. ‘Effect of introduction of fault and imperfect debugging on

[image:6.595.57.281.171.344.2]
(7)

17.Kumar Deepak, “Software Reliability Engineering: A Brief Description” Lambert Academic Publishing, Germany, 2010.

18.Kumar Deepak, Sharma S. G., Saini S., Mrinal N.” Development of Software Reliability S-shaped Models” Review of Business and Technology Research Vol. 6, No. 1, pp. 101-110,2012.

19.Mendel J.M., Fuzzy Logic Systems for Engineering: A tutorial, IEEE, vol 83,pp. 345-377,1995.

20.Ohba M. and Chou, X.M., “Does Imperfect Debugging Effect Software Reliability Growth”, proceedings of 11th International Conference of Software Engineering, pp 237-244, 1989.

21.Okumoto K, A. L. Goel, "Optimum Release Time fora Software Systems Based on Reliability and Coat Criteria", Journal of system Software, vol. 1, pp. 315-318, 1980.

22.Pham H., “System software Reliability”, Springer, Reliability Engineering Series, 2006

23.Roya M.A and Niaki S T, “Fuzzy Optimization in Cost, Time and Quality Trade-off in Software Projects with Quality Obtained by Fuzzy Rule Base”, International Journal of Modeling and Optimization 04/2013; 3(2):176-179

24.Sharma D.K, Kumar D, Gautam S(2016) “Flexible Software Reliability Growth Model under Imperfect debugging using learning function”, Journal of Management Information Decision System.

25.Sharma S.G., Kumar D, Kapur P.K, “Software Release Time Problem with Learning Function under Fuzzy Environment” paper presented and published in 2014, 3rd International Conference on Reliability, Infocom Technologies and Optimization (ICRITO) (Trends and Future Directions) 26.Sivanandam S.N., Sumanthi S., Deepa S.N., Introduction to Fuzzy Logic

using MATLAB,2006.

27.Yamada S, Osaki S. “Optimal Software Release Policies with Simultaneous Cost and Reliability Requirements”, European Journal of Operational Research, vol. 31, no. 1, pp. 46–51, 1987.

28.Yun, W.Y. and Bai, D.S., Optimum Software Release Policy with Random Life Cycle, IEEE transactions on Reliability, 39(2), 338-353, 1990. 29.Zadeh L. A., Outline of a New Approach to the Analysis of Complex

Systems and Decision Processes, no.1,pp 28-44,1973.

30.Zimmermann, H.J., “Fuzzy set theory and its applications”, 1991; Academic Publisher.

AUTHORSPROFILE

Ms. Shubhra Gautam is pursuing Ph.D. from Amity University, Uttar Pradesh, Noida. She has done Master of Computer Applications. She has more than 13 years of teaching experience. She has published several research papers in various international conferences & journals in India and abroad. Her research area includes Software

Testing and Software Reliability.

Dr. Deepak Kumar is Professor at Amity University, Noida and Visiting Professor at Fayetteville State University (A Constituent Institution of the University of North Carolina), USA. and Professor of Amity Institute of Information Technology, Amity University, Noida. He has done M. Tech. in Computer Science from Birla Institute of Technology, Mesra. He is awarded Ph.D. from University of Delhi, India. He is Associate Editor of International Journal of System Assurance Engineering and Management, Springer. He is Guest editor of many International Journals. He is member of editorial and advisory Board of Amity Journal of Interdisciplinary Research and Associate Editor of Proceedings of the 3rd International Conference on Reliability, Infocom Technology and Optimization(Trends and Future Directions). He has been conferred a award as “Significant contribution in the field of Software Reliability Engineering” by 6th International Conference in Quality, Reliability and Infocomm Technology and Industrial Management (ICQRITITM, 2012) organized by University of Delhi and SREQOM..

Prof. L.M. Patnaik obtained his Ph.D in 1978 in the area of Real-Time Systems, D.Sc. in 1989 in the areas of Computer Systems and Architectures, both from the Indian Institute of Science, Bangalore. During March 2008 – August 2011, he was the Vice Chancellor, Defence Institute of Advanced Technology, Deemed University, Pune.

Figure

Table I: Rule base If Cost and Reliability
Table III: Cost per fault
Fig 3: Cost, Reliability & Time Membership Function
Fig 4: Rules as viewed on rule viewer

References

Related documents

A conservative mutation to aspartate (E106D) [44,62,65] , or of the homologous residue in Drosophila Orai (E180D) [44,68] , produces a channel that retains activation by store

In order to present that close analysis the specific work the breast care nurse participants offered as the nature and scope of their work associated with sexuality and body image

Two possible events are meant to resume the activity of waiting tasks: an I/O operation on a SCSI or network device performed by other tasks or the expiration of their timer. When

By drawing on seven audio-recordings of conversations about classroom practices that occurred during the school-based professional experience (the practicum), this paper

This effect could also depend on the risk of forbearance lending (or “zombie lending”) where banks may delay the recognition of losses on their credit portfolio by

Systems/Process Engineer Tupperware Production Executive Umicore Purchaser Umicore Industrial/Manufacturing Engineer Umicore Production Manager Umicore Technical Manager

With Google Voice, you can make free phone calls, free PC to phone calls (via Google Talk browser plugin), and free PC to PC calls (also via Google Talk).- Free calls you make

The usability test consists of two phases: Solving tasks and Debriefing.. In this test, the phases contained the