Hier finden Sie wissenschaftliche Publikationen aus den Fraunhofer-Instituten.

Reference architectures for software analysis platform extensions

: Rost, Dominik
: Knauber, Peter; Knodel, Jens; Lindvall, Mikael

Mannheim, 2009, X, 137 S.
Mannheim, FH, Master Thesis, 2009
Master Thesis
Fraunhofer IESE ()
software architecture; reference architecture; software analysis; reverse engineering; fact extraction; framework; SAVE

Software architecture documentation is one of the most important and crucial artifacts in the life cycle of a software system. As the first solution-oriented artifacts it serves as the key source of information on the system for various stakeholders. This master-thesis defines reference architectures for three typical software analysis platform extensions, building blocks in the domain of tools analyzing existing software itself. Examples are tools that provide features like compliance checking, code metrics, visualization, static or dynamic analyses, etc.. Logically all such features can be classified as either one of the following types extractor, analyzer or generator, whereas extractors extract relevant facts from software systems and build models from them, analyzers process existing data, calculate results and enhance existing model elements with additional data and generators create system artifacts based on the information given in a model. The three reference architectures have been designed for the Fraunhofer SAVE tool. SAVE (Software Architecture Visualization and Evaluation) is a plug-in for the Eclipse platform with various software analysis features and its main focus on software architecture compliance checking. The design comprises documentation and guidance on an architectural level, as well as source code frameworks imposing a predefined, architecture-compliant structure and control flow on extensions. The usefulness of the reference architecture has been investigated in an empirical study with students of the University of Applied Sciences Mannheim. Additionally, selected SAVE extensions have been reimplemented and refactored as a proof of concept. Overall, preliminary validation results indicate that the investments made into architecting are beneficial to improve the quality of extensions and to reduce the overall development time.