Columbus - Reverse Engineering Tool and Schema for C++
Rudolf Ferenc, Árpád Beszédes, Mikko Tarkiainen
and Tibor Gyimóthy
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.
Keywords: Tool interoperability, standard exchange format, C++ schema, front
end, ASG, Columbus/CAN, GXL