2007 · 197 citations · 22 references
ComputingComputer ScienceInformation TechnologyQuality AssuranceQuality EngineeringSoftware EngineeringQuality MetricsQuality RequirementsQuality StandardsSoftware MaintenanceSoftware MetricsSoftware Quality AssuranceMaintainabilityMaintainability EstimationMaintainability IndexMaintainability ModelsSoftware Maintainability
The amount of effort needed to maintain a software system is related to the technical quality of the source code of that system. The ISO 9126 model for software product quality recognizes maintainability as one of the 6 main characteristics of software product quality, with adaptability, changeability, stability, and testability as subcharacteristics of maintainability. Remarkably, ISO 9126 does not provide a consensual set of measures for estimating maintainability on the basis of a system's source code. On the other hand, the maintainability index has been proposed to calculate a single number that expresses the maintainability of a system. In this paper, we discuss several problems with the MI, and we identify a number of requirements to be fulfilled by a maintainability model to be usable in practice. We sketch a new maintainability model that alleviates most of these problems, and we discuss our experiences with using such as system for IT management consultancy activities.
22
Thomas J. McCabe · IEEE Transactions on Software Engineering · 1976 · 5.8K citations
Clone detection using abstract syntax trees
Ira D. Baxter, A. Yahin, Leonardo de Moura et al. · 2002 · 1.3K citations
Identifying similar code with program dependence graphs
Jens Krinke · 2002 · 622 citations