An Open Framework for Reverse Engineering Graph Data Visualization
Alexandru Cristian Telea · University of Groningen research database (University of Groningen / Centre for Information Technology) · 2002
Reverse engineering (briefly RE) provides a conceptual framework for describing the process of software understanding and concept abstraction. Most RE software tools for use some form of visual representation and manipulation of the RE data. In most cases, such data consists of an attributed, multi-level, directed graph [4]. The nodes of this graph describe software artifacts at different abstraction levels, such as functions, classes, components, and packages. The graph’s arcs describe the relations between the artifacts, such as containment, requirements and provisions, and modification dependencies. Finally, the graph’s attributes describe properties such as size, cost, modification time, and various software metrics. However powerful, most existing RE tools are based on internal architectures which seriously limit the options for customisation of the several RE tasks such as data abstraction, simplification, and visual presentation. Several attempts have been made to design generic RE frameworks, which allow users to define and customize operations for their specific tasks. However, such frameworks are still too rigid to be easily reusable out of the context for which they were initially designed. We propose here an open toolkit for RE data exploration. Since RE data is mainly graph data, our toolkit is potentially useful in other domains that need graph visualization. The toolkit’s main novel element is a flexible architecture that groups the graph-related operations into several classes and provides a mechanism for these classes to communicate with each other. We experienced that the implementaton of new graph-related operations in the toolkit, such as specific metrics or visualizations, was considerably easier than when using similar toolkits. Moreover, the toolkit strives to minimize the time needed by end users to design custom visualizations for graph data in general and RE data in particular. Since the toolkit was initially targeted for usage in the industry, spcial attention was payed to usability issues.