Sei sulla pagina 1di 10

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. 2 Requirements speciIication change request Fig. 3 Requirement Iault density


Fig. 1 Proposed Model Architecture

F
I
S
SE
QDT
TPDDI
RSCR F
I
S
F
I
S
F
I
S

D
E
F
U
Z
Z
I
F
A
C
T
I
O
N

N
O

O
F

D
E
F
E
C
T
PC
CC
DRE
PM
RIW
RPDDI
DPDDI
RFD
CPDDI
34 Elsevier Publications, 2013
Harikesh Bahadur Yadav and Dilip Kumar Yadav



Fig. 4 Requirement inspection and walk through Fig. 5 Requirement phase deIect density indicator



Fig. 6 Cyclomatic complexity Fig. 7 Design review eIIectiveness



Fig. 8 Design phase deIect density indicator Fig. 9 Programmer capability





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

D
Defect density (DD), 3233

E
Elicit fuzzy rules
coding phase, 37
design phase, 36
fuzzy inference and defuzzification, 37
requirements phase, 36
testing phase, 37

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

Potrebbero piacerti anche