Dl. Lanning et Tm. Khoshgoftaar, THE IMPACT OF SOFTWARE ENHANCEMENT ON SOFTWARE-RELIABILITY, IEEE transactions on reliability, 44(4), 1995, pp. 677-682
This paper exploits the 'relationship between functional-enhancement (
FE) activity and the distribution of software defects' to develop a di
scriminant model that identifies high-risk program modules. 'FE activi
ty' and 'defect data captured during the FE of a commercial programmin
g language professing utility' serve to fit & test the predictive qual
ity of this model, The model misclassification rates demonstrate that
FE information is sufficient for developing discriminant models identi
fying high-risk program modules. Consideration of the misclassified fu
nctions leads us to suggest that: 1) the level of routines in the call
ing hierarchy introduces variation in defect distribution; 2) the impa
ct of a defect indicates the risk that it presents, Thus consideration
of defect impact can improve the discriminant results. Sources of var
iation other than FE activity - differences in the product to be enhan
ced, in programmer skill level, in programmer product understanding, a
nd in the software development process - are not modeled, but remained
constant throughout the development effort that yielded the modeled d
ata, The discriminant model is intended for classifying the program mo
dules that result from the nest iteration of the same development proc
ess, in production of the nest release of the modeled product, with th
e same key people implementing the software changes, Thus, models of t
his type apply to software development organizations that iteratively
produce enhanced releases of the same product. In these applications,
the unmodeled sources of variation contribute little to the distributi
on of defects, However, we anticipate the learning experience of the p
revious release to result in some change in programming skill level an
d product understanding. These changes vary with individuals, the scop
e of their responsibility, and the time between releases. For software
development organizations that lack stable assignments of development
responsibility, variations in programming skill level and product und
erstanding should be controlled by careful assignment of key people, T
he discriminant technique scales to larger development efforts involvi
ng several key people by either developing unique models for each area
of responsibility, or adding independent variables that account for v
ariation introduced by differing skill and understanding levels.