HOME

TheInfoList



OR:

__NOTOC__ Rigi is an interactive graph editor tool for software
reverse engineering Reverse engineering (also known as backwards engineering or back engineering) is a process or method through which one attempts to understand through deductive reasoning how a previously made device, process, system, or piece of software accompli ...
using the white box method, i.e. necessitating
source code In computing, source code, or simply code, is any collection of code, with or without comments, written using a human-readable programming language, usually as plain text. The source code of a program is specially designed to facilitate the wo ...
, thus it is mainly aimed at
program comprehension Program comprehension (also program understanding or ourcecode comprehension) is a domain of computer science concerned with the ways software engineers maintain existing source code. The cognitive and other processes involved are identified and s ...
. Rigi is distributed by its main author, Hausi A. Müller and the Rigi research group at the
University of Victoria The University of Victoria (UVic or Victoria) is a public research university located in the municipalities of Oak Bay and Saanich, British Columbia, Canada. The university traces its roots to Victoria College, the first post-secondary instit ...
. 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 The University of Passau (''Universität Passau'' in German) is a public research university located in Passau, Lower Bavaria, Germany. Founded in 1973, it is the youngest university in Bavaria and consequently has the most modern campus in the s ...
's GraphEd for more advanced layouts. The public version of Rigi has built-in
parser Parsing, syntax analysis, or syntactic analysis is the process of analyzing a string of symbols, either in natural language, computer languages or data structures, conforming to the rules of a formal grammar. The term ''parsing'' comes from Lati ...
s ("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 Shrimp are crustaceans (a form of shellfish) with elongated bodies and a primarily swimming mode of locomotion – most commonly Caridea and Dendrobranchiata of the decapod order, although some crustaceans outside of this order are refer ...
tool's Java parser. Some efforts were made to integrate Rigi in Microsoft
Visual Studio Visual Studio is an integrated development environment (IDE) from Microsoft. It is used to develop computer programs including web site, websites, web apps, web services and mobile apps. Visual Studio uses Microsoft software development platfor ...
.NET. Early versions of
Bauhaus The Staatliches Bauhaus (), commonly known as the Bauhaus (), was a German art school operational from 1919 to 1933 that combined crafts and the fine arts.Oxford Dictionary of Art and Artists (Oxford: Oxford University Press, 4th edn., 200 ...
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 Nokia Corporation (natively Nokia Oyj, referred to as Nokia) is a Finnish multinational corporation, multinational telecommunications industry, telecommunications, technology company, information technology, and consumer electronics corporatio ...
, 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."


See also

*
Imagix 4D Imagix 4D is a source code analysis tool from Imagix Corporation, used primarily for understanding, documenting, and evolving existing C, C++ and Java software. Applied technologies include full semantic source analysis. Software visualization su ...
*
Rational Rose Rational Rose XDE, an "eXtended Development Environment" for software developers, integrates with Microsoft Visual Studio .NET and Rational Application Developer. The Rational Software division of IBM, which previously produced Rational Rose, w ...
*
Sourcetrail Sourcetrail was a FOSS source code explorer that provided interactive dependency graphs and support for multiple programming languages including C, C++, Java and Python. History The project was started by Eberhard Gräther after an internship a ...


References


Further reading

* * * * * * * {{ cite book , chapter=A comparison of four reverse engineering tools , author1=Bellay, B. , author2=Gall, H. , title=Reverse Engineering, 1997. Proceedings of the Fourth Working Conference, Amsterdam 1997 , doi=10.1109/WCRE.1997.624571 , publisher=IEEE , isbn=978-0-8186-8162-2 , year=1997 Compares Rigi with Refine/C,
Imagix 4D Imagix 4D is a source code analysis tool from Imagix Corporation, used primarily for understanding, documenting, and evolving existing C, C++ and Java software. Applied technologies include full semantic source analysis. Software visualization su ...
, and SNiFF+.


External links

* Rig
site
(free download and publications list) Graph drawing software Software for modeling software