In this paper we present an infrastructure that supports interoperability among various reverse engineering tools and applications. We include an Application Programmer’s Interface that permits extraction of information about declarations, including classes, functions and variables, as well as information about scopes, types and control statements in C++ applications. We also present a hierarchy of canonical schemas that capture minimal functionality for middle-level graph structures. This hierarchy facilitates an unbiased comparison of results for different tools that implement the same or a similar schema. We have a repository, hosted by SourceForge.net, where we have placed the artifacts of our infrastructure.
Nicholas A. Kraft, Brian A. Malloy, James F. Power