Estimation of Software Defects Fix Effort Using Neural Networks
Estimation of Software Defects Fix Effort Using Neural Networks
Estimation of Software Defects Fix Effort Using Neural Networks
David Rine
Department of Computer Science
George Mason University
Fairfax, VA 22030
drine@cs.gmu.edu
Hui Zeng
School of Information and Technologies
George Mason University
Fairfax, VA 22030
hzeng@gmu.edu
Abstract
Software defects fix effort is an important software
development process metric that plays a critical role in
software quality assurance. People usually like to apply
parametric effort estimation techniques using historical
Lines of Code and Function Points data to estimate effort of
defects fixes. However, these techniques are neither efficient
nor effective for a new different kind of projects fixing
defects when code will be written within the context of a
different project or organization. In this paper, we present a
solution for estimating software defect fix effort using Selforganizing Neural Networks.
1. Introduction
Accurately estimating software defects fix effort within a
software development organization can improve the
management and control of an organizations software
quality costs, resources directed toward software quality,
and software maintenance efforts. Recently several
researches show special interested in estimation of defects
fix effort [1][2]. Most general techniques applied to
estimate software development effort use parametric project
size techniques using as Line of Code (LOC) and Function
Points (FP) that are based on certain historical data.
However, these estimation techniques do not perform well
when they are used to estimate defects fix time [3]. The
main reason is because defects fixes are not based on
counting lines of rewritten code or function points within
the application, but instead are based upon counts of defects
and efforts in fixing them. There are no good relationships
between project size and defects fix time. For example, a
hidden bug may cause much more fix effort than general
public bugs. Moreover, because defects exist in various
domains, it is not easy to use FP approach to cluster all
defects in the proper domains. Numbers of defects in
different domains cause different defects fix time. Another
limitation is parametric techniques require adequate
historical data, and they fail to offer much help when
estimating defects fix effort prior to a new project without
enough historical data.
Fix_Hour
Severity
How_Found
Mode
Problem_Type
SLOC_COUNT
Description
The actual number of
man hours the fix took to
implement
The severity of the defect
the stage in which the
defect was found
The mode the system
was operating in
Specific reason for
closure of error report
The actual number of
SLOC changed or added
Types
Integer
1,2,3,4,5
Acceptance Test, Analysis,
Customer Use, Engineering
Test Inspection, Mission
Critical, Planned Test,
Regression Test, Release_I&T
DEV02, DEV03,
DEV04, OPS, Other, TS1,TS2
Configuration, COTS/OS,
Design, not a bug, source code
Integer
Proceedings of the 28th Annual International Computer Software and Applications Conference (COMPSAC04)
1
0730-3157/04 $20.00 2004 IEEE
3. Performance Evaluation
Sample j
Sample i
sum
a+b
c+ d
sum
a+c b+d
d (i , j) =
b+ c
a + b +c
(1)
4. Conclusions
We present our strategic solution of estimating software
defects fix effort by using dissimilarity matrix and selforganizing neural networks for software defects clustering
and effort prediction instead of existing project size
techniques , in which defects fix effort (time) can be
estimated by the number of defects in various domains. The
experimental results indicate good performance when
applied to estimates for similar software development
projects. However, poorer performance results when
applied to defects fix effort estimated for software projects
with totally different development environments.
Estimation techniques only perform well in family oriented
software development environments, like product line
development.
5. References
[1] A. Mockus, D. Weiss, and P. Zhang, Understanding and
Predicting Effort in Software Projects, 25th International
Conference on Software Engineering. May 03 - 10, 2003
[2] S. Chulani, Bayesian Analysis of Software Cost and Quality
Models, Ph.D Dissertation, Univ. of South California, 1999
[3] K. Manzoor, A Practical Approach to Estim Defect-fix Time,
http://homepages.com.pk/kashman/defectsEstimation.htm
[4] M. R. Lyu, Handbook of Software Reliability Engineering,
McGraw Hill, 1996.
[5] T. Menzies and R. Lutz, Better Analysis of Defect Data at
NASA, the 15th Intnl Conf. on Software Engineering and
Knowledge Engineering, July, 2003.
[6] NASA Metrics Data Program Site. http://mdp.ivv.nasa.gov/
[7] Kohonen T. The Self-Organizing Maps, Proceedings of the
IEEE, 1990 78, 1464-1480
Proceedings of the 28th Annual International Computer Software and Applications Conference (COMPSAC04)
2
0730-3157/04 $20.00 2004 IEEE