Columbus - reverse engineering tool and schema for C++

One of the most critical issues in large-scale software development and maintenance is the rapidly growing size and complexity of software systems. As a result of this rapid growth there is a need to better understand the relationships between the different parts of a large software system. In this paper we present a reverse engineering framework called Columbus that is able to analyze large C++ projects, and a schema for C++ that prescribes the form of the extracted data. The flexible architecture of the Columbus system with a powerful C++ analyzer and schema makes it a versatile and readily extendible toolset for reverse engineering. This tool is free for scientific and educational purposes and we fervently hope that it will assist academic persons in any research work related to C++ re- and reverse engineering.

[1]  Hausi A. Müller,et al.  Understanding Software Systems Using Reverse Engineering Technology , 1994, COODBSE.

[2]  Richard C. Holt,et al.  E/R schema for the Datrix C/C++/Java exchange format , 2000, Proceedings Seventh Working Conference on Reverse Engineering.

[3]  Kurt Mehlhorn,et al.  LEDA: a platform for combinatorial and geometric computing , 1997, CACM.

[4]  Rudolf Ferenc,et al.  Data exchange with the columbus schema for c++ , 2002, Proceedings of the Sixth European Conference on Software Maintenance and Reengineering.

[5]  Harald C. Gall,et al.  An evaluation of reverse engineering tool capabilities , 1998, J. Softw. Maintenance Res. Pract..

[6]  Kurt Mehlhorn,et al.  The LEDA Platform of Combinatorial and Geometric Computing , 1997, ICALP.

[7]  Alex Quilici Reverse Engineering of Legacy Systems: A Path Toward Success , 1995, 1995 17th International Conference on Software Engineering.

[8]  Rainer Koschke,et al.  Towards a standard schema for C/C++ , 2001, Proceedings Eighth Working Conference on Reverse Engineering.

[9]  Anssi Karhinen,et al.  Software Metrics by Architectural Pattern Mining , 2000 .

[10]  Bruno Laguë,et al.  DATRIX Abstract Semantic Graph Reference Manual , 1999 .

[11]  James H. Cross,et al.  Reverse engineering and design recovery: a taxonomy , 1990, IEEE Software.

[12]  Rudolf Ferenc,et al.  Recognizing Design Patterns in C++ Programs with the Integration of Columbus and Maisa , 2002, Acta Cybern..

[13]  Richard C. Holt,et al.  Union schemas as a basis for a C++ extractor , 2001, Proceedings Eighth Working Conference on Reverse Engineering.

[14]  Andy Schürr,et al.  GXL: toward a standard exchange format , 2000, Proceedings Seventh Working Conference on Reverse Engineering.

[15]  M. N. Armstrong,et al.  Evaluating architectural extractors , 1998, Proceedings Fifth Working Conference on Reverse Engineering (Cat. No.98TB100261).

[16]  Rudolf Ferenc,et al.  Columbus { Tool for Reverse Engineering Large Object Oriented Software Systems , 2001 .

[17]  Jean Mayrand,et al.  System acquisition based on software product assessment , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

[18]  Antero Taivalsaari,et al.  TDE: Supporting Geographically Distributed Software Design with Shared, Collaborative Workspaces , 1997, CAiSE.

[19]  Kai Koskimies,et al.  Environment for Software Assessment , 1999, ECOOP Workshops.

[20]  Michele Lanza,et al.  A hybrid reverse engineering platform combining metrics and program visualization , 1999 .