An approach for measuring software evolution using source code features
Citations Over TimeTop 10% of 2003 papers
Abstract
One of the characteristics of large software systems is that they evolve over time. Evolution patterns include modifications related to the implementation, interfaces and the overall system structure. Consequently, system understanding and maintainability tend to degrade over time unless particular attention is paid to measure, assess and evaluate the effects of the evolution activities. Traditionally, the assessment of evolution activities has focused on the architectural level. However, in many cases it is easier to extract low-level program information from the Abstract Syntax Tree rather than to discover the full architecture of a large legacy system. This paper presents techniques for analyzing the evolution of large systems even in cases where no complete architectural views of the system exist, from information obtained solely from the AST. It presents experimental results by analyzing the evolution patterns across different versions of two popular systems, the Apache Web server and the Bash shell.
Related Papers
- → Improving Legacy Systems Maintainability(1997)19 cited
- → Towards a Benchmark for the Maintainability Evolution of Industrial Software Systems(2016)6 cited
- → Comprehension and Evolution of Legacy Software(1997)6 cited
- SOME OBSERVATION ON MAINTAINABILITY METRICS AND MODELS FOR WEB BASED SOFTWARE SYSTEM(2012)
- → A knowledge-based maintenance of legacy systems: METASOFT(1997)