Zur Webseite der Informatik

Programmiersprachen und Übersetzerbau

Projekt Bauhaus

 

Publikationen
2012, 2011, 2010, 2009, 2008, 2007, 2006, 2005, 2004, 2003, 2002, 2001, 2000, 1999 - 1996

2012

Wittiger, Martin; Keul, Steffen
* Extraktion von Interthread-Kommunikation in eingebetteten Systemen
In: Automotive - Safety & Security 2012, Lecture Notes in Informatics, volume P-210, pages 55-67, Nov. 2012
Received Best Paper Award.


2011

Raza, Aoun; Franke, Stefan; Plödereder, Erhard
* Detecting High-Level Synchronization Errors in Parallel Programs.
In: Reliable Software Technologies, Ada-Europe 2011, LNCS(6652), Juni 2011, S.17-30
Received Best Paper Award.

Prokharau, Mikhail; Gerlach, Daniel; Keul, Steffen
* Static Analysis of Predicate-based Synchronisation.
In: 13. Workshop Software-Reengineering (WSR 2011), Softwaretechnik-Trends, Band 31, Heft 2, S.16-17. GI, Mai 2011


2010

Keul, Steffen
* Static Versioning of Global State for Race Condition Detection.
In: Ada-Europe 2010, volume 6106 of LNCS, pages 111-124. Springer, 2010

Keul, Steffen; Prokharau, Mikhail; Gerlach, Daniel; Jenke, Carola; Raza, Aoun
* RaceVis: Ein Werkzeug zur Visualisierung von Data Races.
In: 12. Workshop Software-Reengineering, Softwaretechnik-Trends, Band 30, Heft 2. S. 82-83. GI, Mai 2010


2009

Staiger-Stöhr, Stefan
* Messwerte zur Dissertation: Kombinierte statische Ermittlung von Zeigerzielen, Kontroll- und Datenfluss
[PDF]


2008

Raza, Aoun; Vogel, Gunther
* RCanalyser: A  Flexible Framework for the Detection of Data Races in Parallel Programs.
In: Reliable Software Technologies, Ada-Europe 2008, LNCS(5026), Juni 2008, S.226-239

Wiebe, Eduard; Keul, Steffen; Staiger, Stefan; Vogel, Gunther; Haufler, Andreas; Scherer, Wolfgang
* Entwurfsmuster-Erkennung mit Bauhaus
In: Lecture Notes in Informatics (LNI), Proceedings of the 10th Workshop Software Reengineering (P-126), S. 181-185, 2008


2007

Staiger, Stefan; Vogel, Gunther; Keul, Steffen; Wiebe, Eduard
* Interprocedural Static Single Assignment Form
In: Proceedings of the 14th Working Conference on Reverse Engineering (WCRE), p. 1-10, IEEE Computer Society, 2007

Staiger, Stefan
* Static Analysis of Programs with Graphical User Interface
(In: Proceedings of the 11th European Conference on Software Maintenance and Reengineering (CSMR 2007), Amsterdam, p. 252 - 261)


2006

Simon, Daniel
* Lokalisierung von Merkmalen in Softwaresystemen
A Semi-Automatic Method for Visualization, Analysis, and Restructuring of Variability in Product Lines
Dissertation, Institut für Softwaretechnologie, Fakultät Informatik, Elektrotechnik und Informationstechnik, 2006, Logos Verlag, Berlin, ISBN 978-3-8325-1176-8, 2006

Koschke, Rainer
* What architects should know about reverse engineering and reengineering
In:  IEEE/IFIP Working Conference on Software Architecture, IEEE computer Society Press, 2006, S. 4-10

Koschke, Rainer; Canfora, Gerardo; Czeranski, Jörg
* Revisiting the Delta-IC Approach
In: Journal of Science of Computer Programming 70 (2006), Nr. 2, S. 171-188

Quante, Jochen; Koschke, Rainer
* Dynamic Object Process Graphs
In: Conference on Software Maintenance an Reengineering. Washington, DC, USA: IEEE Computer Society, 2006, S. S.81-90

Raza, Aoun
* A Review of Race Detection Mechanisms
In: First International Computer Science Symposium in Russia CSR 2006, 2006, S. 534-543

Raza, Aoun; Vogel, Gunther; Plödereder, Erhard
* Bauhaus - A Tool Suite for Program Analysis and Reverse Engineering
In: Reliable Software Technologies, Ada-Europe 2006, LNCS(4006), Juni 2006, S.71-82

Vogel, Gunther
* Statische Extraktion von Protokollen
In: 8. Workshop Software-Reengineering, Universität Koblenz-Landau, Mai 2006


2005

Christl, Andreas; Koschke, Rainer; Storey, Margaret-Anne
* Equipping the Reflexion Method with Automated Clustering.
In: Working Conference on Reverse Engineering, IEEE Computer Society Press, November 2005, S.89-98

Eisenbarth, Thomas; Koschke, Rainer; Vogel, Gunther
* Static Object Trace Extraction for Programs with Pointers
(In: Journal of Systems and Software 77 (2005), Nr. 3, S. 263-284)

Koschke, Rainer; Quante, Jochen
* On Dynamic Feature Loacation.
In: International Conference on Automated Software Engineering, ACM Press, 2005, S. 86-95

Vogel, Gunther; Simon, Daniel; Plödereder, Erhard
* Teaching Software Engineering with Ada95
In: Reliable Software Technologies, Ada-Europe 2005, LNCS (3555=, Juni 2005, S. 115-128


2004

Bellon, Stefan; Czeranski, Jörg; Eisenbarth, Thomas; Simon, Daniel
* A Product Line Asset Management Tool
In: Workshop on Software Variability Management: Software Product Families and Populations. Groningen, Dezember 2004

Vrandecic, Zdenko; Simon, Daniel; Bellon, Stefan
* XML4Ada95: DOM-Zugriff auf die XML in Ada95
Ada Deutschland Tagung, Oktober 2004

Vrandecic, Zdenko; Simon, Daniel
* XML4Ada95 Accessing XML Using the DOM in Ada95
Realiable Software Technologies: Ada-Europe 2004, June, pages 178-189

Koschke, Rainer; Simon, Daniel
* Symphony Fallstudie: Hierarchische Reflexion Modelle
Workshop Software-Reengineering, Mai 2004, Bad Honnef

Koschke, Rainer
* Rekonstruktion von Software-Architekturen: Blickwinkel, Sichten, Ansichten und Aussichten
(In: Informatik - Forschung und Entwicklung, Springer Verlag. 2004)


2003

Koschke, Rainer; Simon, Daniel
* Hierarchical Reflexion Models
In: Proc. of the Working Conference on Reverse Engineering, IEEE Computer Society Press, 2003
Abstract: The reflexion model originally proposed by Murphy and Notkin allows one to structurally validate a descriptive or prescriptive architecture model against a source model. First, the entities in the source model are mapped onto the architectural model, then discrepancies between the architecture model and source model are computed automatically. The original reflexion model allows an analyst to specify only non-hierarchical architecture models, which is insufficient for larger systems that are decomposed into hierarchical subsystems. This paper extends the original reflexion model to hierarchical architecture models, describes a method to apply this technique, and reports on case studies conducted on two large-scale and complex applications (namely, the C compiler sdcc for 8-bit microprocessors and the GNU C compiler gcc).

Koschke, Rainer
* Software Visualization in Software Maintenance, Reverse Engineering, and Reengineering: A Research Survey
Journal on Software Maintenance and Evolution, John Wiley & Sons, Ltd., Vol. 15, No. 2, March/April 2003, pages 87-109.

Bellon, Stefan; Simon, Daniel
* Vergleich von Klonerkennungstechniken
Workshop Software-Reengineering, Mai 2003, Bad Honnef, Germany
In: Softwaretechnik-Trends, Band 23, Heft 2, S. 10-11, GI

Vogel, Gunther
* Extraktion statischer Objekt-Prozess-Graphen
In: 5. Workshop Software-Reengineering, Universität Koblenz-Landau, Mai 2003, S.25-26

Eisenbarth, Thomas; Koschke, Rainer; Simon, Daniel
* Locating Features in Source Code
IEEE Transactions on Software Engineering, Vol. 29, No. 3, March, pages 195-209.


2002

Koschke, Rainer; Zhang, Yan
* Component Recovery, Protocol Recovery and Validation
In: 3. Workshop Software-Reengineering, Bad Honnef (10./11.Mai 2001), Fachberichte Informatik, Universität Koblenz-Landau, Nr. 1/2002, pages 73-76, Januar 2002

Koschke, Rainer
* Software Visualization for Reverse Engineering
In: Springer Lecture Notes on Computer Science (LNCS) 2269: Software Visualization, State-of-the-Art Survey (Herausgeber: Stephan Diehl), 2002

Eisenbarth, Thomas; Koschke, Rainer; Vogel, Gunther
* Static Trace Extraction
In: Proceedings of the Working Conference on Reverse Engineering, IEEE Computer Society Press, Oktober 2002

Eisenbarth, Thomas; Koschke, Rainer; Simon, Daniel
* Incremental Location of Combined Features for Large-Scale Programs
In: Proceedings of the International Conference on Software Maintenance, Montreal, Canada, October 2002

Koschke, Rainer
* Atomic Architectural Component Recovery for Program Understanding and Evolution
In: Proceedings of the International Conference on Software Maintenance, Montreal, Canada, October 2002

Eisenbarth, Thomas; Koschke, Rainer; Simon, Daniel
* A Formal Method for the Analysis of Product Maps
Requirements Engineering for Product Lines Workshop, Essen, Germany, September 2002

Simon, Daniel; Eisenbarth, Thomas
* Evolutionary Introduction of Software Product Lines
(In: Proceedings of the Second International Software Product Line Conference, Springer LNCS 2379, pages 272-283), August 2002, San Diego, CA, USA

Czeranski, Jörg; Eisenbarth, Thomas; Simon, Daniel
* Softwarevisualisierungstool Gravis
Workshop Software-Reengineering, April 2002, Bad Honnef, Germany

Czeranski, Jörg; Eisenbarth, Thomas; Simon, Daniel
* Softwarevisualisierungstool Gravis
In: 4. Workshop Software-Reengineering, Universität Koblenz-Landau, April 2002

Eisenbarth, Thomas; Koschke, Rainer; Simon, Daniel
* Inkrementelle Lokalisierung funktionaler Eigenschaften
Workshop Software-Reengineering, April 2002, Bad Honnef, Germany

Bellon, Stefan
* Vergleich von Techniken zur Erkennung duplizierten Quellcodes
Diplom thesis, No. 1998, Institute for Software Technology, University of Stuttgart, 2002


2001

Eisenbarth, Thomas; Koschke, Rainer; Simon, Daniel
* Aiding Program Comprehension by Static and Dynamic Feature Analysis
In: Proceedings of the International Conference on Software Maintenance, IEEE Computer Society Press, November 2001. Pages 602-611
Received Best Paper Award.
Received 2011 Most Influential Paper Award.
Abstract
: Understanding a system's implementation without prior knowledge is a hard task for reengineers in general. However, some degree of automatic aid is possible. In this paper, we present a technique building a mapping between the system's externally visible behavior and the relevant parts of the source code. Our technique combines dynamic and static analyses to rapidly focus on the system's parts urgently required for a goal-directed process of program understanding.2003

Ferenc, Rudolf; Gyimóthy, Tibor; Sim, Susan Elliott, Holt, Richard C.; Koschke, Rainer
* Towards a standard schema for C/C++
Working Conference on Reverse Engineering, October 2-5, Stuttgart, Germany, pages 49-58, IEEE Computer Society Press, 2001.

Eisenbarth, Thomas; Simon, Daniel
* Guiding Feature Asset Mining for Software Product Line Developement
In: Proceedings of the First International Workshop on Product Line Engineering: The Early Steps: Planning, Modeling, and Managing (PLEES'01), Erfurt, Germany, Fraunhofer IESE, September 2001

Eisenbarth, Thomas; Koschke, Rainer; Simon, Daniel
* Feature-Driven Program Understanding Using Concept Analysis of Execution Traces.
International Workshop on Program Comprehension, Toronto, Canada, IEEE Computer Society Press, May 12-13, 2001

Simon, Daniel; Eisenbarth, Thomas
* Feature Location and Connector Recovery: New Approaches for Software Understanding.
In: 3. Workshop Software-Reengineering, Bad Honnef, Deutschland, Fachberichte Informatik Universität Koblenz, May 2001.

Eisenbarth, Thomas; Koschke, Rainer; Simon, Daniel
* Derivation of the Feature Component Map by means of Concept Analysis
In: Proceedings of the Conference on Software Maintenance and Reengineering, IEEE Computer Society Press, pages 176-179, March 2001

Sim, Susan Elliott; Koschke, Rainer
* WoSEF: Workshop on Standard Exchange Format,
ACM SIGSOFT Software Engineering Notes, Vol 26, No 1, pages 44-49, January, 2001

Koschke, Rainer; Zhang, Yan
* Component Recovery, Protocol Recovery and Validation in Bauhaus
In: 3. Workshop Software-Reengineering, Universität Koblenz- Landau, Mai 2001, S. 73-76


2000

Eisenbarth, Thomas; Koschke, Rainer; Simon, Daniel
* Herleitung der Feature-Komponenten-Korrespondenz mittels Begriffsanalyse
Proceedings of 1. Deutscher Software-Produktlinien Workshop (DSPL-1), Kaiserlautern, November, pages 63-68, 2000.

Sim, Susan Elliott; Holt, Ric; Koschke, Rainer (editors)
* Workshop on standard exchange format (WoSEF) (workshop session).
Proceedings of the 22nd International Conference on Software Engineering, 2000, pages 805-806, ACM.

Sim, Susan Elliott; Holt, Ric; Koschke, Rainer (editors)
* Workshop Proceedings of the Workshop on standard exchange format (WoSEF, W10)
22nd International Conference on Software Engineering, 2000, ACM.

Koschke, Rainer
* Atomic Architectural Component Recovery for Program Understanding and Evolution.
Ph.D. Thesis, Institute for Computer Science, University of Stuttgart, 2000.
Abstract: The literature is rich of fully automatic and semi-automatic techniques for component recovery and their number is still growing. The abundance of published methods calls for frameworks to unify, classify, and compare them in order to make informed decisions. This thesis introduces a classification of component recovery techniques based on a unification of 23 techniques. Focussing on structural techniques, 16 fully automatic techniques are classified into connection-, metric-, graph-, and concept-based subcategories and the commonalities and variabilities of these techniques are discussed in depth. Beyond the qualitative comparison, 12 structural techniques are evaluated quantitatively (concept-based techniques were excluded). To that end, an evaluation scheme is introduced that allows to measure recall and precision of component recovery techniques with respect to a set of reference components ascertained by software engineers. Among the evaluated techniques is our new metric-based technique named Similarity Clustering. The evaluation scheme based on a set of expected components manually compiled by 5 software engineers for four C systems with altogether 136 KLOC shows that Similarity Clustering is among the best techniques for all systems, but it also has more false positives than other techniques. The overall result of this comparison is that none of the fully automatic techniques has a sufficient detection quality.

In order to overcome this problem, a semi-automatic method is presented in this thesis in which computer and maintainer collaborate to detect components. The method is supported by a framework that integrates the existing fully automatic techniques. In this framework, the automatic techniques can be run successively and their results be validated by the user. For this purpose, all the techniques are enhanced to work incrementally. The unification of the automatic techniques makes it possible to implement incremental variants for whole classes of techniques. The results of the techniques can be combined by high-level operators modeled on intersection, union, and difference for fuzzy sets. An alternative way of integration is offered by a voting approach that summarizes the individual agreement of automatic techniques.

Despite of the new ways of combining the automatic techniques, the semi-automatic method inherits weaknesses of the integrated techniques. Future research should investigate whether these weaknesses may be overcome with additional, more precise information gained from dataflow analyses and more domain-oriented information. However, all methods will always have to cope with vagueness and subjectivity of the grouping criteria for components.

Czeranski, Jörg; Eisenbarth, Thomas; Kienle, Holger; Koschke, Rainer;  Simon, Daniel
* Analyzing xfig Using the Bauhaus Tool
Working Conference on Reverse Engineering, WCRE '00, November 23-25, Brisbane, Austrailia, pages 197-199, IEEE Computer Society Press, 2000.
Abstract: We used the Bauhaus tool, which helps program understanding and architecture recovery, to analyze the xfig program. xfig's architecture was recovered and all of the (hypothetical) maintenance tasks described in the Developer Handbook were performed.

Czeranski, Jörg; Eisenbarth, Thomas; Kienle, Holger; Koschke, Rainer; Plödereder, Erhard; Simon, Daniel; Girard, Jean-François; Würthner, Martin
* Data Exchange in Bauhaus
Working Conference on Reverse Engineering, WCRE '00, November 23-25, Brisbane, Austrailia, pages 293-295, IEEE Computer Society Press, 2000.
Abstract: In the context of the Bauhaus project, reengineering environments to support program understanding of legacy code are being developed. Bauhaus defines two formats to represent information that has been extracted from source code. One of these formats, RG, is suitable as an exchange format. This paper introduces RG, describes how it is represented as an exchange format, and discusses schema conversions in RG.

Canfora, Gerard; Czeranski, Jörg; Koschke Rainer
* Revisiting the Delta IC Approach to Component Recovery
Working Conference on Reverse Engineering, WCRE '00, November 23-25, Brisbane, Austrailia, pages 140-149, IEEE Computer Society Press, 2000.
Abstract: Component recovery supports program understanding, architecture recovery, and re-use. Among the best known techniques for detection of re-usable objects (related global variables and their accessor functions) is Delta-IC. This paper re-visits the original approach and extends it in different ways. It describes a variant of Delta-IC suitable for reverse engineering that omits the slicing step of the original approach. The underlying metric of Delta-IC is extended toward types integrating ideas of the Internal Access technique such that abstract data types can also be detected. Furthermore, the connectivity metric of Delta-IC is combined with a cohesion metric based on vertex connectivity. The new metrics and the new algorithm for reverse engineering are quantitatively evaluated using the framework proposed in as a standard evaluation of clustering techniques for component recovery.

Koschke, Rainer; Eisenbarth, Thomas
* A Framework for Experimental Evaluation of Clustering Techniques
International Workshop on Program Comprehension, June 10-11, Limerick, Ireland, pages 201-210, IEEE Computer Society Press, 2000.

Kienle, Holger; Czeranski, Jörg; Eisenbarth Thomas
* Exchange Format Bibliography
Workshop on Standard Exchange Format (WoSEF), June 6, Limerick, Ireland, pages 2-9, 2000.

Kienle, Holger; Czeranski, Jörg; Eisenbarth Thomas
* The API Perspective of Exchange Formats
Workshop on Standard Exchange Format (WoSEF), June 6, Limerick, Ireland, pages 33-39, 2000.

Czeranski, Jörg; Eisenbarth, Thomas; Kienle, Holger; Koschke, Rainer; Simon, Daniel;
* Wiedergewinnung von Architekturinformationen: Ausblicke
2. Workshop Software-Reengineering, Mai 11-12, Bad Honnef, Deutschland, pages 21-23, 2000.

Koschke, Rainer
* Vorlesungen zum Thema Software-Reengineering
2. Workshop Software-Reengineering, Mai 11-12, Bad Honnef, Deutschland, pages 3-7, 2000.

Girard, Jean-François; Koschke, Rainer
* A Comparison of Abstract Data Type and Objects Recovery Techniques.
Journal Science of Computer Programming, Volume 36, Issue 2-3, pp. 149-181, Elsevier, March 2000.


1999

Koschke, Rainer
* An Incremental Semi-Automatic Method for Component Recovery
Working Conference on Reverse Engineering, IEEE Computer Society Press, 1999.

Girard, Jean-François; Koschke, Rainer; Schied, Georg
* A Metric-based Approach to Detect Abstract Data Types and State Encapsulations
Journal Automated Software Engineering, Vol. 6, Number 4, Kluwer Academic Publishers, October 1999.

Eisenbarth, Thomas; Koschke, Rainer; Plödereder, Erhard; Girard, Jean-François; Würthner, Martin
* Projekt Bauhaus: Interaktive und inkrementelle Wiedergewinnung von SW-Architekturen.
Workshop Software-Reengineering, Bad Honnef, Universität Koblenz-Landau, Fachberichte Informatik, Nr. 7-99, pp. 17-26, 1999.

Eisenbarth, Thomas; Koschke, Rainer; Plödereder, Erhard; Girard, Jean-François; Würthner, Martin
* Projekt Bauhaus: Interaktive und inkrementelle Wiedergewinnung von SW-Architekturen.
In: 1. Workshop Software-Reengineering, Universität Koblenz-Landau, Mai 1999, S. 17-26
(International Organization for Standardization (ISO), Genf, 1999.)


1998

Koschke, Rainer; Girard, Jean-François; Würthner, Martin
* An Intermediate Representation for Reverse Engineering Analyses.
Proceedings of the Working Conference on Reverse Engineering - WCRE '98, 1998.

Koschke, Rainer; Girard, Jean-Francois
* An Intermediate Representation for Reverse Engineering Analyses.
In: Working Conference on Reverse Engineering. Hawaii, USA : IEEE Computer Society Press, Oktober 1998, S. 241-250


1997

Girard, Jean-Francois;  Koschke, Rainer
* Finding Components in a Hierarchy of Modules: A Step towards Architectural Understanding
In: Proceedings of the International Conference on Software Maintenance - ICSM'97

Girard, Jean-Francois; Koschke, Rainer; Schied, Georg
* Comparison of Abstract Data Type and Abstract State Encapsulation Detection Techniques for Architectural Understanding
In: Proceedings of the Working Conference on Reverse Engineering - WCRE '97,

Girard, Jean-Francois; Koschke, Rainer; Schied, Georg
* A Metric-based Approach to Detect Abstract Data Types and State Encapsulations
In: Proceedings of the Conference on Automated Software Engineering - ASE'97, 1997.


1996

Koschke, Rainer;  Plödereder, Erhard
* Ansätze des Programmverstehens
In: Franz Lehner (Ed.): Softwarewartung und Reengineering, Deutscher U niversitätsverlag, 1996.