Extracting
Facts with Columbus from C++ Code
Rudolf Ferenc, Árpád Beszédes and Tibor
Gyimóthy
Fact extraction from software systems is the fundamental
building block in the process of understanding the relationships among
the system's elements. It is evident that in real life situations
manual fact extraction must be supported by software tools which are
able to analyze the subject system and provide useful information about
it in various forms. These forms are most useful if they adhere to
prescribed schemas and this way promote tool interoperability. In this
work we outline our solution to tool supported fact extraction, which
is built upon the reverse engineering framework Columbus and is
supported by schemas for the C++ language. We describe the extraction
process in detail and show how the extracted facts can be used in
practice by processing the schema instances. We also introduce new
features of the Columbus system not published previously, which among
others include compiler wrapping and source code auditing.
Keywords: Reverse engineering, fact extraction, tool interoperability,
standard exchange format, schema, C, C++, Columbus, CAN, CANPP
Back