Project Bauhaus

Software Architecture, Software Reengineering, and Program Understanding

Deutsche Version




It is well known that programmer efforts are mostly (60-80%) devoted to maintaining systems. 50% of that maintenance effort is spent on understanding the program and data. Within this context, helping maintainers to understand the legacy systems they have to maintain could greatly ease their job. One important first step to assist the maintainer is to provide him/her with a global overview of the system. This overview should indicate the main components of the system, how they are related, and provide some constraints on these relations. This type of overview is often called the system architecture.

An architectural description of a system can guide a maintainer's attention to the parts of the system which need to be understood in more detail to perform the task at hand. Without knowledge about the system architecture maintainers often make changes ignoring the design principles of the system. This leads to an unnecessarily large, obscure, and thus even less maintainable system, and after a few iterations of maintenance the system is not maintainable at all anymore.

Most of the software architecture community focuses on defining and experimenting with formalisms to capture architecture while the system is specified and developed. However, there is a large body of existing code which needs to be maintained and would also benefit from an architectural description. Thus, there is a need to recover architectural descriptions for existing systems.


Goal of the project "Bauhaus" is the development of
  • means to describe a software architecture,
  • methods and tools to analyze and recover the software architecture; in more detail: the following maintenance tasks shall be supported:
    • derivation of different views on the architecture of legacy systems,
    • identification of re-usable components, and
    • estimation of change impact.
The results of the analyses shall be stored persistently as a gradually developing "corporate memory" for maintenance. Advanced compiler technologies for data flow and control flow analysis will be used as basis analyses to support these reverse engineering activities.

A detailled description of Bauhaus, its goals and the used techniques can be found in this article.

A short presentation of Bauhaus with many screenshots: presentation.pdf Tip: Activate automatic page switching in your pdf-viewer, lean back and watch.


Bauhaus received a prize at the DoIT Award 2003 for outstanding scientific achievements of universities in the German state Baden-Württemberg.


Are you curious what Bauhaus offers? Then, follow us to a guided online tour through Bauhaus that demonstrates the tools and capabilities of Bauhaus.

Participating Institutions




  • Torsten Görg (University of Stuttgart)
  • Sandro Degiorgi (University of Stuttgart)
  • Mikhail Prokharau (University of Stuttgart)
  • Steffen Keul (University of Stuttgart)
  • Daniel-Robert Gerlach (University of Stuttgart)
  • Eva Kern (University of Stuttgart)
  • Dr. Stefan Staiger (University of Stuttgart)
  • Gunther Vogel (University of Stuttgart)
  • Eduard Wiebe (University of Stuttgart)
  • Stefan Bellon (University of Stuttgart)
  • Dr. Daniel Simon (University of Stuttgart)
  • Jörg Czeranski (University of Stuttgart)
  • Thomas Eisenbarth (University of Stuttgart)
  • Prof. Dr. Rainer Koschke (University of Stuttgart)
  • Yan Zhang (University of Stuttgart)
  • Hiltrud Betz (University of Stuttgart)
  • Hartmut Keller (University of Stuttgart)
  • Holger Kienle (University of Stuttgart)
  • Dr. Georg Schied (University of Stuttgart)
  • Jean-François Girard (FhG-IESE)
  • Martin Würthner (FhG-IESE)


For a collection of all Bauhaus papers see our virtual Bauhaus library.

Reengineering Bibliography

We maintain the official bibliography of the IEEE TCSE Committee on Reverse Engineering.

Historical Origins

Our project's title goes back to the former German art school, namely Bauhaus, whose ideas and motivations we share. Here is a bit of background information on the original Bauhaus.

Coined by the architect Walter Gropius, the name Bauhaus combines the root of the German verb "bauen" (to build) with "haus"(house). It is the name given to the art school founded by Gropius under the original title of the Staatliches Bauhaus Weimar. The Bauhaus, which lasted from 1919-1933, has come to represent the distillation of the Modern movement and the fundamentalist design ethics. Yet, its intellectual origins lay with the Arts and Crafts movement and its early years (before Gropius moved the school to the building he designed in Dessau where it became known simply as the "Bauhaus") were dominated by Expressionist arts, thought and behavior. Under Gropius the Bauhaus became an art school of immense creativity and influence. The approach to design was to stress aesthetic fundamentals and strive for geometrically pure forms, but unlike the practitioners of the Arts and Crafts movement, machines were not disdained. Some of the greatest painters, graphic designers, architect/designers and thinkers of the period participated in the movement.

Valid HTML 4.01! Last modified: Mon Oct 08 11:59:22 CEST 2012