Effective Size: An Example of Use from Legacy Systems
Ned Chapin, TONY S. LAU · Journal of Software Maintenance Research and Practice · 1996
As part of a quality assurance effort directed at legacy systems, we examined a high-cost hard-to-maintain COBOL program. Although written originally in 1968, it had been restructured in 1985 and has been well maintained since. It has the reputation of being 100 per cent well-structured in the software engineering sense, of being very reliable in execution in overnight batch, but of being expensive and difficult to maintain. Our examination covered cyclomatic complexity, iteration, language use, IF-nesting depth, program structure and hierarchical depth. Our most significant finding was the effective size of this nearly 600 module program. Instead of having an effective size (exampled in the paper) of nearly 1.0, its effective size exceeded 13000! This extreme effective size made the program much harder to understand when in maintenance than the program's source-list size and other characteristics would suggest. Our findings included identifying the cause of the extreme effective size. From our experience with this program, we learned seven lessons applicable to improving the maintenance of legacy systems.