Rigi-An environment for software reverse engineering, exploration, visualization, and redocumentation

  • Authors:
  • Holger M. Kienle;Hausi A. Müller

  • Affiliations:
  • University of Victoria, Canada;University of Victoria, Canada

  • Venue:
  • Science of Computer Programming
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.