Practical data exchange for reverse engineering frameworks: some requirements, some experience, some headaches

  • Authors:
  • Michael W. Godfrey

  • Affiliations:
  • University of Waterloo, Waterloo, Ontario, Canada, N2L 3G1

  • Venue:
  • ACM SIGSOFT Software Engineering Notes
  • Year:
  • 2001

Quantified Score

Hi-index 0.00

Visualization

Abstract

Reverse engineering systems hold great promise in aiding developers regain control over long-lived software projects whose architecture has been allowed to "drift". However, it is well known that these systems have relative strengths and weaknesses, and to date relatively little work has been done on integrating various subtools within other reverse engineering systems. The design of a common interchange format for data used by reverse engineering tools is therefore of critical importance.In this position paper, we describe some of our previous work with TAXFORM (Tuple Attribute eXchange FORMat) [2,6], and in integrating various "fact extractors" into the PBS reverse engineering system. For example, we have recently created translation mechanisms that enable the Acacia system's C and C++ extractors to be used within PBS, and we have used these mechanisms to create software architecture models of two large software systems: the Mozilla web browser (2.2 MLOC of C++ and C) and the VIM text editor (150 KLOC of C) [6]. We also describe our requirements for an exchange format for reverse engineering tools and some problems that must be resolved.