Reverse engineering, visualization, query, software metrics, constraints, design pattern, Hy+, GraphLog

The increased reuse of software components, facilitated and supported by object-oriented programming, makes program comprehension even more important as existing software must be understood during both development and maintenance. Far too often the only information a programmer can trust is the source code. It is the only accurate, complete and up-to-date representation of a program. However, source code listings are hardly suited to represent design decisions, global system structure or interactions among components. The extraction of high-level structural information from code is called reverse engineering.
The goal of this project was to explore the use of a general-purpose data visualization system called Hy+ for querying and visualizing information about object-oriented software systems, rather than using special-purpose tools. Hy+ supports visualization and visual querying of arbitrary graph-like databases.

Reverse Engineering


A. Mendelzon, J. Sametinger, Reverse Engineering by Visualizing and Querying, Software, Concepts and Tools, Vol. 16/4, pp. 170-182, Dec. 1995
Journal Article