Hier finden Sie wissenschaftliche Publikationen aus den Fraunhofer-Instituten.

Static analysis of software architecture trends with eclipse

: Knieling, S.
: Rombach, H.D.; Knodel, J.

Kaiserslautern, 2006, 116 pp. : Ill., Lit.
Kaiserslautern, TU, Dipl.-Arb., 2006
Fraunhofer IESE ()
Eclipse; software architecture; architecture evaluation

Software architecture is the foundation of any software system. Thus, it is crucial for a successful development and evolution of the system that its architecture is well-defined and has a high quality. To ensure the quality of the architecture, there exist several popular methods for software architecture evaluation which can be applied at different stages of the development process. These methods all have in common that they are applied to an architecture at a single point in time and evaluate one single state of an architecture.
This diploma thesis is concerned with the analysis of software architecture trends. Trends can be considered as successive changes to the architecture leading to a certain kind of direction in the evolution of the architecture. To identify trends, an architecture needs to be evaluated over several points in time or in space. Detection of trends leads to an early raise of awareness concerning possible problems in the architecture like inflation or an increase of complexity. This enables architects to timely intervene and thus contributes to a higher quality and better maintainability.
Currently, the SAVE (Software Architecture Visualization and Evaluation) tool is developed at the Fraunhofer Institute for Experimental Software Engineering (IESE) to evaluate and simultaneously visualize software architectures.
This diploma thesis developed a new trend analysis component as an extension to the existing functionality of the SAVE tool. The developed analyses offer the possibility to analyse changes between pairs of versions or variants of a software system. Furthermore, the long term trends of a software system represented by a set of versions or variants can be analysed. The results gained are visualized either by SAVE's existing visualization component or by a set of different chart types. Main drivers for these analyses are the detection of differences between single versions or variants and the detection of trends over time. This allows architects to control the evolution of the architecture and initiate counter measures in case of negative trends.
The new trend analysis component was validated performing four case studies with two small software systems to prove its correctness and with two larger systems to gain some performance results. One case study showed that the new trend analysis component is able to detect changes with a detection rate of about 83 percent. Further on, it is able to analyse a reference system of 45 components and approximately 1000 relations in about 53 seconds.