DocumentCode
2122261
Title
Understanding the nature of software evolution
Author
Nikora, Allen P. ; Munson, John C.
Author_Institution
Jet Propulsion Lab., California Inst. of Technol., Pasadena, CA, USA
fYear
2003
fDate
22-26 Sept. 2003
Firstpage
83
Lastpage
93
Abstract
Over the past several years, we have been developing methods of measuring the change characteristics of evolving software systems. Not all changes to software systems are equal. Some changes to these systems are very small and have low impact on the system as a whole. Other changes are substantial and have a very large impact of the fault proneness of the complete system. In this study we will identify the sources of variation in the set of software metrics used to measure the system. We will then study the change characteristics to the system over a large number of builds. We have begun a new investigation in these areas in collaboration with a flight software technology development effort at the Jet Propulsion Laboratory (JPL) and have progressed in resolving the limitations of the earlier work in two distinct steps. First, we have developed a standard for the enumeration of faults. This new standard permits software faults to be measured precisely and accurately. Second, we have developed a practical framework for automating the measurement of these faults. This new standard and fault measurement process was then applied to a software system´s structural evolution during its development. Every change to the software system was measured and every fault was identified and tracked to a specific code module. The measurement process was implemented in a network appliance, minimizing the impact of measurement activities on development efforts and enabling the comparison of measurements across multiple development efforts. In this paper, we analyze the measurements of structural evolution and fault counts obtained from the JPL flight software technology development effort. Our results indicate that the measures of structural attributes of the evolving software system are suitable for forming predictors of the number of faults inserted into software modules during their development, and that some types of change are more likely to result in the insertion of faults than others. The new fault standard also insures that the model so developed has greater predictive validity.
Keywords
fault diagnosis; software fault tolerance; software maintenance; software quality; JPL; Jet Propulsion Laboratory; fault enumeration; fault measurement automation; fault proneness; flight software technology development; network appliances; software evolution; software faults measurement; software metrics; software systems; structural evolution; variation sources; Collaborative software; Collaborative work; Laboratories; Measurement standards; Propulsion; Software measurement; Software metrics; Software standards; Software systems; Standards development;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Maintenance, 2003. ICSM 2003. Proceedings. International Conference on
ISSN
1063-6773
Print_ISBN
0-7695-1905-9
Type
conf
DOI
10.1109/ICSM.2003.1235409
Filename
1235409
Link To Document