The SAVE Story
SAVE automatically extracts and visualizes the architecture manifested in the source code using module-type views and compares it with user-specified models and rules representing the structure of the intended architecture. It can, for example, detect extensive coupling and strong dependencies on commercial off-the-shelf (COTS) components or libraries.
The tool can also help developers understand, rearchitect, reuse, and create more maintainable software. In addition, SAVE can help determine the softwares product-line potential in terms of architectural commonalities and deviations between different software products.
The current SAVE tool is a mature research prototype that we’ve applied to many types of industrial systems including digital cameras, automotive embedded software, ground control systems, space networks, and flight software. The results from these studies are promising and have helped us to reason about and improve the analyzed software systems from a structural point of view.
We continue to conduct R+D with strategic government and industry partners to get SAVE closer to our vision. We’re already in the process of practically testing new dynamic and forward-engineering capabilities as well as integrating the tool with behavior-modeling technologies.
In a project supported by NASA’s Software Assurance Research Program, we’re exploring ways to combine analysis of static and dynamic information in SAVE. While static analysis is easier to perform, it doesn’t detect dynamic structures that are more related to the conceptual architecture. By adding information collected from the system during execution, we can add new view types that give the architect practical ways to analyze and understand the software.
People
SAVE is a collaborative effort between the Fraunhofer Institute for Experimental Software Engineering (IESE) in Kaiserslautern, Germany and the Fraunhofer Center for Experimental Software Engineering (CESE) in Maryland. Our team consists of experts in software architecture design and analysis supported by a development team that is responsible for the implementation of the SAVE tool.
Mikael Lindvall (PhD)
![]() |
Mikael is head of the division for software architecture and embedded systems at CESE. He has extensive experience in the analysis of software architectures and has collaborated with many parnters in industry and academia in conducting qualitative assessments and supporting other development and maintenance tasks. |
Jens Knodel
![]() |
Jens is leading the SAVE efforts at the Fraunhofer Institute for Experimental Software Engineering in Kaiserslautern, Germany. |





