Based on Fujaba, there are currently two reengineering tools under development:
Reclipse is a Reverse Engineering tool suite. It allows the graphical specification and automated detection of strcutural and behavioral patterns in source code. We support the analysis of Java, C++ and Delphi code.
Archimetrix is a tool for the iterative recovery and reengineering of component-based software architectures. It allows to recover component architectures from source code. Moreover, bad smells can be detected and ranked according to their influence on the architetcure. Finally, automated reenginering strategies can be used to remove the bad smells and the impact on the architecture can be analyzed.
Title: An Interactive and Scalable Approach to Design Pattern Recovery |
Booktitle: |
Written by: J. Niere, L. Wendehals, A. Zündorf: |
in: 2003 |
Volume: Number: tr-ri-03-236 |
on pages: |
Chapter: |
Editor: |
Publisher: |
Series: |
Address: Paderborn, Germany |
Edition: |
ISBN: |
how published: |
Organization: |
School: |
Institution: University of Paderborn |
ISSN: |
Doi: |
File: tr-ri-03-236.pdf |
URL: |
Note:
Abstract: Reverse engineering is a process highly influenced by assumptions and hypotheses of a reverse engineer, who has to analyse a syste m manually, because tools are often not applicable to large systems with many different implementation styles. Successful tools have to support an interactive process, where the engineer is able to steer the analysis process by proving certain assumptions and hypotheses. Consequently, the input format of the analysis tool must support a kind of impreciseness to formulate weak presumptions. In this paper we present a reverse engineering process based on fuzzy graph transformation rules. We use graph rewrite rules in addition with fuzzy logic to detect design patterns in Java source code. Impreciseness is expressed by assigning fuzzy values to graph transformation rules and thresholds are used to look up only firmed occurrences of patterns. Underlying the transformation rules is an object-oriented graph model providing composition and inheritance, which reduces the complexity of the rules. We propose a reverse engineering process starting with imprecise rules and refining and specifying the rules during the analysis. Preliminary results applying our process are promising, i.e., we present the results of detecting design patterns in Java's Abstract Window Toolkit (AWT) library.
Eintrag als Bibtex exportieren