Rigi (software)

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

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.[3]:99

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.[1]:250 Some efforts were made to integrate Rigi in Microsoft Visual Studio .NET.[2] 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.[4]:143–145 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.[5]:170–171

Active development of Rigi has ceased in 1999, with the last official version released in 2003.[1]:254 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."[6]:90

See also

References

  1. 1.0 1.1 1.2 Kienle, Holger M. (2010). "Rigi—An environment for software reverse engineering, exploration, visualization, and redocumentation". Science of Computer Programming 75 (4): 247–263. doi:10.1016/j.scico.2009.10.007.
  2. 2.0 2.1 Moise, D.L.; Wong, K.; Sun, D. (2004). "Integrating a reverse engineering tool with Microsoft Visual Studio .NET". CSMR 2004: Eighth European Conference on Software Maintenance and Reengineering : proceedings : 24-26 March, 2004, Tampere, Finland. IEEE Computer Society. pp. 85–92. doi:10.1109/CSMR.2004.1281409. ISBN 076952107X.
  3. 3.0 3.1 Koschke, Rainer (2003). "Software visualization in software maintenance, reverse engineering, and re-engineering: a research survey". Journal of Software Maintenance and Evolution: Research and Practice 15 (2): 87–109. doi:10.1002/smr.270.
  4. 4.0 4.1 Koschke, Rainer (2002). "Software Visualization for Reverse Engineering". Lecture Notes in Computer Science: 138–150. doi:10.1007/3-540-45875-1_11.
  5. Riva, Claudio (2002). "Architecture Reconstruction in Practice". Software Architecture: 159–173. doi:10.1007/978-0-387-35607-5_10.
  6. Roel Wuyts, Holger M. Kienle, Kim Mens, Mark van den Brand, Adrian Kuhn (2009). "Academic Software Development Tools and Techniques. Report on the 1st Workshop WASDeTT at ECOOP 2008". In Patrick Eugster. Object-Oriented Technology. ECOOP 2008 Workshop Reader: ECOOP 2008 Workshops Paphos, Cyprus, July 7-11, 2008 Final Reports. LNCS sublibrary: Programming and software engineering 5475. Springer Science & Business Media. pp. 87–103. doi:10.1007/978-3-642-02047-6_10. ISBN 3642020461.

Further reading

External links