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: Combining Clustering and Pattern Detection for the Reengineering of Component-based Software Systems |
Booktitle: Proceedings of the 7th International Conference on the Quality of Software Architectures |
Written by: M. von Detten, S. Becker: |
in: 2011 |
Volume: Number: |
on pages: |
Chapter: |
Editor: |
Publisher: ACM Press |
Series: QoSA 2011 |
Address: Boulder, Colorado, USA |
Edition: |
ISBN: |
how published: |
Organization: |
School: |
Institution: |
ISSN: |
Doi: |
File: qosa10c-von-detten.pdf |
URL: |
Note:
Abstract: During the software lifecycle, software systems have to be continuously maintained to counteract architectural deterioration and retain their software quality. In order to maintain a software it has to be understood first which can be supported by (semi-)automatic reverse engineering approaches. Reverse engineering is the analysis of software for the purpose of recovering its design documentation, e.g., in form of the conceptual architecture. Today, the most prevalent reverse engineering approaches are (1) the clustering-based approach which groups the elements of a given software system based on metric values in order to provide an overview of the system and (2) the pattern-based approach which tries to detect pre-defined patterns in the software which can give insight about the original developers' intentions. In this paper, we present an approach towards combining these techniques: we show how the detection and removal of certain bad smells in a software system can improve the results of a clustering-based analysis. We propose to integrate this combination of reverse engineering approaches into a reengineering process for component-based software systems.
Eintrag als Bibtex exportieren