Software metrics and software maintenance

The term “software crisis” refers to the huge amount of resources needed for the development and maintenance of software. A major problem with research in these areas is the lack of solid data. In particular, there is little data that can be used to predict the types of problems that are likely to occur during the software's maintenance. This paper describes the results of an analysis of a software system that underwent several revisions. Maintenance of the system was performed by distinct programming teams. At each revision of the software system, the analysis was performed by doing measurements of module complexity based on three quantities: Halstead's Software Science Effort, McCabe's cyclomatic complexity, and coupling analyses. The relationships of Software Science Effort to unchangeability of modules, of cyclomatic complexity to path coverage, and coupling analysis to measurement of modularity and coherence during the maintenance are given.