Inferring Architectural Evolution from Source Code Analysis A tool-supported approach for the detection of architectural tactics
Abstract
Information about the evolution of a software is useful data for software developers and maintainers as well as project managers. Versioning systems have been used in many proposals to provide such data but very few approaches analyze and interpret this information at the architectural level. In this paper, we propose an approach that supports the understanding of software evolution at the architectural level. Our approach relies on the idea that an architectural tactic can be mapped to a number of operational representations, each of which is a transformation described using a set of elementary actions on source code entities (e.g., adding a package, moving a class from a package to another, etc.). These operational representations make it possible to: 1) detect architectural tactics' application (or cancellation) by analyzing different versions of the source code of analyzed systems, and 2) understand the architectural evolution of these systems. To evaluate the proposed approach, we carried out a case study on the JFreeChart open source software. We focused on the modifiability tactics and we analyzed a number of available releases of JFreeChart to infer the modifiability trend through the system's evolution.
Origin | Publisher files allowed on an open archive |
---|
Loading...