The Rigi environment is a mature research tool that provides functionality to reverse engineer software systems. With Rigi large systems can be analyzed, interactively explored, summarized, and documented. This is supported with parsers to extract information from source code, an exchange format to store extracted information, analyses to transform and abstract information, a scripting language and library to automate the process, and a visualization engine to interactively explore and manipulate information in the form of typed, directed, hierarchical graphs. In this paper we describe Rigi's main components and functionalities, and assess its impact on reverse engineering research. Furthermore, we discuss Rigi's architecture and design decisions that led to a decoupling of major functionalities, and enable tool extensibility, interoperability and end-user programmability. © 2009 Elsevier B.V. All rights reserved.
Kienle, H. M., & Müller, H. A. (2010). Rigi-An environment for software reverse engineering, exploration, visualization, and redocumentation. Science of Computer Programming, 75(4), 247–263. https://doi.org/10.1016/j.scico.2009.10.007