Rigi (software)

Rigi is an interactive graph editor tool for software reverse engineering using the white box method, i.e. necessitating source code, thus it is mainly aimed at program comprehension. Rigi is distributed by its main author, Hausi A. Müller and the Rigi research group at the University of Victoria.

Rigi provides interactive links from the graphs it produces to the source code, but not vice versa. Rigi renders trees and grid-layout graphs using its own internal engine, but relies on University of Passau's GraphEd for more advanced layouts.

The public version of Rigi has built-in parsers ("fact extractors") for C and Cobol, and can leverage the C++ parser of IBM Visual Age. It can also accept external data in an RSF format (it introduced), so external parses can also feed it data, for example SHriMP tool's Java parser. Some efforts were made to integrate Rigi in Microsoft Visual Studio .NET. Early versions of Bauhaus were also built on top of Rigi; the author of this latter tool notes that the combination was rather slow for graphs having more than 500 nodes. Rigi was reportedly used to analyze some (undisclosed) embedded software at Nokia, in the range of hundreds of thousands of lines of code, and was met with positive feedback from the Nokia engineers.

Active development of Rigi has ceased in 1999, with the last official version released in 2003. A 2008 paper noted that "Rigi is a mature tool that is still used in research and popular in teaching, but it is currently no longer actively evolved and is in bug-fix mode."