Proceedings oI International ConIerence on Computing Sciences
WILKES100 ICCS 2013
ISBN: 978-93-5107-172-3 A Iuzzy logic approach Ior soItware quality modeling Harikesh Bahadur Yadav 1* and Dilip Kumar Yadav 2
1, 2 Department of Computer Applications, National Institute of Technology, Jamshedpur 831 014, India Abstract The prediction oI soItware deIect in a soItware project has recently attracted the attention oI many researchers. Phase wise soItware deIect prediction could improve the reliability oI soItware project and helps soItware manager to archive more quality soItware within time and costs. Conventional prediction models usually have lower prediction accuracy. The reliability relevant soItware metrics impose major impact on the quality oI soItware project at each soItware development stage. ThereIore, a Fuzzy logic approach Ior soItware quality modelling is proposed in this paper. The proposed model is validated with the real soItware projects data sets. Validation results are very promising. 2013 Elsevier Science. All rights reserved. Keywords: Fuzzy logic, SoItware DeIect, SoItware Reliability, SoItware Metrics, DeIect Density ,Fuzzy inIerence system 1. Introduction SoItware reliability is an important Iactor oI soItware quality. All stakeholders e.g. users, customer, developer, development manager etc. are concerned about Quality oI soItware projects. The reason behind unsuccessIul project is that oIten too late to correct these problems by the time they are detected. ThereIore, it is necessary to predict the soItware deIect Ior every phases oI SoItware Development LiIe cycle (SDLC). A general method to measure the reliability oI soItware is to reveal the presence oI deIects in it, and usually the metric used is DeIect Density (DD). The DD is deIined as the total number oI deIects divided by the size oI the soItware |1|. SoItware reliability, which is deIined by IEEE 'The probability that soItware will not cause the Iailure oI a system Ior a speciIied time under speciIied conditions|1|. Reliability is requested to be assured in almost all saIety-critical because Iailure oI this soItware may cause injury or death to human beings. Hence, soItware reliability analysis has become a major research area. SoItware reliability model were designed to quantiIy the likelihood oI soItware Iailure |2| |3|. IEEE deIines Iailure as the termination oI the ability oI a Iunctional unit to perIorm its required Iunction |1|. A deIect can deIined as a product anomaly. Examples include such things as omissions and imperIections Iound during early liIe cycle phases |1|. Various soItware reliability models have been developed in the last three decade |3|. SoItware reliability has played a signiIicant role in each phases oI SDLC |4|. These models can distinguish into two categories. SoItware reliability prediction model (SRPM) and SoItware Reliability estimation model (SRGM). Majority oI model are based on Iailure data. Since Iailure data are not available in the early phases oI SDLC ThereIore, qualitative values oI soItware metrics are used in this model. These qualitative values are associated with imprecision and uncertainty. ThereIore, Iuzzy logic is used to quantiIy the uncertainty in the proposed model. The paper is organized as Iollows: section 2 discusses about related work, proposed model is presented in section 3. Finally, results are discussed in section 4 and the conclusions presented in Section 5. * Corresponding author. Harikesh Bahadur Yadav 32 Elsevier Publications, 2013 Harikesh Bahadur Yadav and Dilip Kumar Yadav
2. Related Work A number oI models have been proposed Ior estimation and prediction soItware reliability |3-7|. A phase based model Ior predicting reliability was proposed by GaIIney and Davis |5-6|. The model is mainly based on the Iault statistics Iound during the review oI various soItware development phases. Air Iorce`s Rome Laboratory developed a model Ior early soItware reliability prediction |8-9|. In this model they selected some Iactors that are related to Iault density in each requirement, design and coding phases. The model is mainly based on the soItware requirement speciIication. For Ada program, Agresti and Evanco proposed a model to predict deIect density on process and product characteristics |10|. There are many Iactors which aIIect the reliability oI soItware in each phase oI SDLC. Hong Pham |11| suggested thirty two Iactors which have impact on the soItware reliability in initial phase. A similar study conducted by Li and Smidt |12| and they have done ranking oI soItware reliability relevant metrics which inIluence the soItware reliability. A model Ior deIect prediction with Bayesian Net is developed by Fenton et al. |13|. The main Ieature is that it does not require detailed domain knowledge and it combines both qualitative and quantitative data. Apart Irom above study recently Danijel Radjenovic |14| suggested that object oriented and process metrics have been reported to be more successIul in Iinding Iaults compared to traditional size and complexity metrics. Can et al. |15| proposed a model Ior soItware deIect prediction using particle swarm optimization and support vector machine. In this model they took advantage oI non-linear computing capability oI SVM and parameters optimization capability oI PSO. Yadav et al. |16| proposed a soItware deIect prediction model. In this Model they consider only uncertainty associated over the assessment oI soItware size metric and three metrics oI requirement analysis phase only. Pandey and Goyal |17| have proposed an early Iault prediction model using process maturity and soItware metrics. They have considered the Iuzzy proIiles oI various metrics in diIIerent scale and have not explained the criteria used Ior developing these Iuzzy proIiles scale. On the basis oI above literature survey and review, soItware reliability is a Iunction oI number oI residual deIect in the soItware, reliability relevant metrics play a vital role in deIect prediction and these metrics are oI Iuzzy nature. ThereIore, a casual Iault prediction model is developed which predicts the number oI residual deIect at the end oI each phase oI SDLC. 3. Proposed model In the proposed model, deIect oI each phase oI SDLC is predicted based on the measures present in Iirst Iour phases oI SDLC. ThereIore, proposed model leverages the most reliability relevant top metrics |12| Irom Iirst Iour phases oI SDLC. The Iollowing steps are involved in this proposed model Step 1. Selection oI soItware metrics Step 2. DeIine membership Iunction oI each input and output variable Step 3. Elicit Fuzzy Rules. Step 4. PerIorm Fuzzy InIerence and DeIuzziIication 3.1. Selection of software metrics In the Requirement Phase (RP) top three reliability relevant metrics such as Requirement Fault Density (RFD), Requirement SpeciIication Change Request (RCR) and Requirement Inspection and Walk through (RIW) are used as inputs to the Iuzzy inIerence system. 33 Elsevier Publications, 2013 A fuzzy logic approach for software quality modeling
The output oI RP (Requirement phase DeIect density indicator (RPDDI)) taken as a input along with Cyclomatic Complexity (CC) and Design Review EIIectiveness (DRE). The output oI design phase (Design phase DeIect density indicator (DPDDI)) along with programmer capability (PC) and process maturity (PM) are taken as input to the coding phase. Similarly output oI coding phase (coding phase deIect density indicator (CPDDI) and two other testing phase metrics such as StaII Experience (SE), Quality oI Documented Test Cases (QDT) are taken as input to the testing phase. 3.2. Define membership function of each input and output variable There are many method oI membership value assignment such as: rank ordering, intuition, inIerence etc |17- 18|. Membership Iunction can have a variety oI shapes like polygonal, trapezoids, triangular, and so on |17-20|. However a triangle and trapezoidal shape provides a convenient representation oI domain expert knowledge and it also simpliIies the process oI computation. In the proposed model membership Iunction oI all the input and output metrics are deIined with the help oI domain expert. In this model triangular and trapezoidal membership are considered Ior representing the linguistic state (L, M, H) Ior input metrics and (VL, L, M, H, VH) Ior output metric oI Iuzzy variable |17-19|. The range oI all input and output metrics are taken 1.
Fuzzy proIiles Ior individual soItware metrics are illustrated in Fig. 2-14.
Fig. 10 Process maturity Fig. 11 Coding phase DeIect density indicator
35 Elsevier Publications, 2013 A fuzzy logic approach for software quality modeling
Fig. 12 StaII Experience Fig. 13 Quality oI documented Test Cases Fig. 14 Testing phase deIect density indicator 3.3. Elicit Fuzzy Rules. In this step Iuzzy rule is deIined in the Iorm oI IFTHEN conditional statement. IF part oI the rule is known as antecedent and THEN part is consequent. In the proposed model Consequent value is assessed with help oI the domain expert. Fuzzy Rules Ior Iirst Iour phases (requirement, design, coding, testing) oI SDLC as Iollows: 3.3.1. Requirements Phase fuzzy rule II RSCR request is more, the deIect will be more similarly iI RFD is more, the deIect will be more but it is not applicable Ior RIW thereIore the Iuzzy rules are interpreted in the Iollowing manner:
Fig. 15 Requirements Phase Iuzzy rule 3.3.2. Design Phase fuzzy rule For lower value oI CC, the deIect will be lower but Ior lower value oI DRE ,the deIct will be higher hene the Iollowing Iuzzy rules are interpreted wih the help oI domain expert. . 36 Elsevier Publications, 2013 Harikesh Bahadur Yadav and Dilip Kumar Yadav
Fig. 16 Design Phase Iuzzy rule 3.3.3. Coding Phase fuzzy rule II the PC and PM is good then deIect will be lower in soItware project thereIore the Iuzzy rules are interpreted in the Iollowing manner:
Fig. 17 Coding Phase Iuzzy rule 3.3.4. Testing Phase fuzzy rule Simillarly in testing phase, lower value oI CPDDI will be cause oI lower value oI TPDDI thereIore the Iollowing rules are designed Irom the project mangement point oI view. ................................................................................................... Fig. 18 Testing Phase Iuzzy rule 3.4. Perform Fuzzy Inference and Defuzzification Fuzzy inIerence engine evaluate and combined result oI each rule. Fuzzy inIerence engine maps Iuzzy set into a Iuzzy set, but in many applications crisp number needs to be obtained at the output oI a Iuzzy system. The deIuzziIication method such as centroid, max-min and bisection etc maps Iuzzy set into crisp number |17-20|. Matlab Fuzzy Toolbox and Centroid method oI deIuzziIication is used in this model. 4. Result and Discussion The proposed model is validated using project dataset provided by Fenton et al. |13|. Fenton proposed a Bayesian Net model Ior soItware deIects prediction Ior the same soItware projects. Table 1 Project No. Size kloc RP DeIect DP DeIect CP DeIect TP DeIect Actual DeIect Fenton (2008) I 1 11 73 89 91 91 91 116 2 21 140 169 173 174 204 280 3 2.5 17 20 20 21 17 57 4 4.8 32 39 39 40 29 203 37 Elsevier Publications, 2013 A fuzzy logic approach for software quality modeling
In literature, it is also shown that the 50 to 60 oI total deIects is occurred due to ambiguous analysis at requirement stages, 15 to 30 at design phase and 10 to 20 deIect occur at implementation phase |21|.The model is validated on Iour projects and the validation result gives great conIidence and robustness oI the model. Fig.19 Compression oI project From the Fig. 19 it is clear that predicated deIect aIter testing phase is closer to actual deIect than the deIect predicated by Fenton et al. 5. Concusion In this paper, a Iuzzy logic based model is proposed using the reliability relevant top soItware metrics oI each phase oI SDLC to predict the deIects in each phase oI SDLC. The result suggests that the reliability relevant metrics can play a vital role in project management such as resource allocation, testing eIIort and soItware release time decision etc. As a Iuture work, the model will be validated using large number oI project data set which gives conIidence and robustness oI the model. References |1| ANSI/IEEE 729-1983, IEEE Standard Glossary oI SoItware Engineering Terminology. |2| M.R. Lyu, Handbook oI soItware Reliability Engineering. McGraw-Hill, 1995. |3| J. D. Musa, A. Iannino, K. Okumoto, Software Reliability: Measurement, Prediction, Application, McGraw-Hill Publishers, New York, 1987. |4| C. Kaner, SoItware Engineering Metrics: What Do They Measure and How Do We Know, 10th International Software Metrics Symposium 2004. |5| J. E. GaIIney, C. F. Davis, An Approach to Estimating SoItware Errors and Availability, Proceedings of 11 th Minnow brook Workshop on Software Reliability 1988. |6| J. E. GaIIney, J. Pietrolewiez, An Automated Model Ior SoItware Early Error Prediction (SWEEP), Proceedings of 13th Minnow brook Workshop on Software Reliability1990. |7| H. Pham, System Software Reliability, Reliability Engineering Series, Springer-Verlag Publisher, London, 2006. |8| Methodology Ior soItware reliability Prediction and assessment, TechRep RL TR-92-95,vol 1-2,1992;rome laboratory. |9| Methodology Ior soItware Prediction,RADAC-TR-87-171,1987;USAF Systems command. |10| W. W. Agresti, W. M. Evanco, Projecting SoItware DeIects Iorm Analyzing Ada Design, IEEE Transaction on Software Engineering, vol. 18, no. 11, pp. 988997, 1992. |11| X. Zhang, H. Pham, An Analysis oI Factors AIIecting SoItware Reliability, The Journal oI Systems and SoItware, vol. 50, no. 1, pp. 43 56, 2000. |12| M. Li, C. Smidts, A Ranking oI SoItware Engineering Measures Based on Expert Opinion, IEEE Transaction on Software Engineering, vol. 29, no. 9, pp. 811824, 2003. |13| Fenton N., Neil M., Marsh W., Hearty P., Radlinski L., Krause P., On the effectiveness of early life cycle defect prediction with Bayesian Nets, Empirical SoItware Engineering , Vol. 13, pp. 499537, 2008. |14| Danijel Radjenovic et al., SoItware Iault prediction metrics: A systematic literature review, InIormation and SoItware Technology Volume 55, Issue 8, August 2013, Pages 13971418 38 Elsevier Publications, 2013 Harikesh Bahadur Yadav and Dilip Kumar Yadav
|15| He Can; Xing Jianchun; Zhu Ruide; Li Juelong; Yang Qiliang; Xie Liqiang, "A new model Ior soItware deIect prediction using Particle Swarm Optimization and support vector machine," Control and Decision Conference (CCDC), 2013 25th Chinese , vol., no., pp.4106,4110, 25-27 May 2013 |16| D.K.Yadav, S.K.Charurvedi and R.B.Mishra, Early SoItware DeIects Prediction Using Fuzzy Logic, International Journal oI PerIormability Engineering Vol. 8, No. 4, pp. 399408, July 2012. |17| K. Pandey, N. K. Goyal, A Fuzzy Model Ior Early SoItware Fault Prediction Using Process Maturity and SoItware Metrics, International Journal of Electronics Engineering, vol. 1, no. 2, pp. 239245, 2009. |18| Ross T. J., Fuzzy Logic with Engineering Applications, John Wiley publications, 2 nd Edition, 2004 |19| L. A. Zadeh, Knowledge representation in Iuzzy logic, IEEE Transactions on Knowledge and Data Engineering, vol. 1, pp. 89100, 1989. |20| D. K. Yadav, S. K. Chaturavedi and R. B. Mishra, 'Forecasting time-between-Iailures oI soItware using Iuzzy time series approach, In IEEE Proceeding oI North American Fuzzy InIormation Processing Society (NAFIPS), Berkley, USA, 6-8 August, PP 18, 2012. |21| Suma V and Gopalakrishnan Nair T.R. (2009). DeIect Management Strategies in SoItware Development,Recent Advances in Technologies, Maurizio A Strangio (Ed.).
39 Elsevier Publications, 2013 Index
B Bayesian Net model for software defects prediction, 3738
F FIS. see Fuzzy inference system (FIS) Fuzzy inference system (FIS), 33, 35, 9092, 94 Fuzzy logic coding phase defect density indicator, 35 cyclomatic complexity, 35 design phase defect density indicator, 35 design review effectiveness, 35 fault density, requirement, 34 inspection and walk through, requirement, 35 phase defect density indicator, requirement, 35 process maturity, 35 programmer capability, 35 quality of documented test cases, 36 specification change request, requirements, 34 staff experience, 36 testing phase defect density indicator, 36
P Proposed model architecture, 34 elicit fuzzy rules, 3637 input and output variable, membership function, 34 selection of software metrics, 3334
R Requirement Fault Density (RFD), 33 Requirement Inspection and Walk through (RIW), 33 Requirement Phase (RP), 33 Requirement Specification Change Request (RCR), 33
S SDLC. see Software Development Life cycle (SDLC) Software defect, 3233, 37 Software Development Life cycle (SDLC), 3233 Software metrics, 32 fuzzy profiles, 3436 selection of, 33 Software reliability, 3233