Rigi (software)
{{Short description|Graph editor tool}}
__NOTOC__
Rigi is an interactive graph editor tool for software reverse engineering using the white box method, i.e. necessitating source code,{{cite book | chapter=Integrating a reverse engineering tool with Microsoft Visual Studio .NET | author1=Moise, D.L. | author2=Wong, K. | author3=Sun, D. | pages=85–92 | doi=10.1109/CSMR.2004.1281409 |
title=CSMR 2004: Eighth European Conference on Software Maintenance and Reengineering : proceedings : 24-26 March, 2004, Tampere, Finland | publisher=IEEE Computer Society | year=2004 | isbn=978-0769521077 | s2cid=5563060 }}{{rp|88}} thus it is mainly aimed at program comprehension.{{cite journal | doi = 10.1002/smr.270 | title=Software visualization in software maintenance, reverse engineering, and re-engineering: a research survey | journal=Journal of Software Maintenance and Evolution: Research and Practice | date=2003 | volume=15 | issue=2 | pages=87–109 | first=Rainer | last=Koschke| doi-access=free }}{{rp|99}} Rigi is distributed by its main author, Hausi A. Müller and the Rigi research group at the University of Victoria.{{rp|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.{{rp|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.{{rp|250}} 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.{{cite book | doi = 10.1007/3-540-45875-1_11 | chapter=Software Visualization for Reverse Engineering | volume=2269 | date=2002 | pages=138–150 | first=Rainer | last=Koschke| series=Lecture Notes in Computer Science | title=Software Visualization | isbn=978-3-540-43323-1 | citeseerx=10.1.1.465.3117 }}{{rp|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.{{cite book | doi = 10.1007/978-0-387-35607-5_10 | chapter=Architecture Reconstruction in Practice | volume=97 | date=2002 | pages=159–173 | first=Claudio | last=Riva| title=Software Architecture | series=IFIP Advances in Information and Communication Technology | isbn=978-1-4757-6538-0 }}{{rp|170–171}}
Active development of Rigi has ceased in 1999, with the last official version released in 2003.{{cite journal | doi = 10.1016/j.scico.2009.10.007 | title=Rigi—An environment for software reverse engineering, exploration, visualization, and redocumentation | journal=Science of Computer Programming | date=2010 | volume=75 | issue=4 | pages=247–263 | first=Holger M. | last=Kienle| doi-access=free }}{{rp|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
See also
References
Further reading
- {{cite book|title=Proceedings of the 1990 Conference on Software Maintenance (CSM 1990)|author1=H. Müller | author2=J. Uhl|chapter=Composing subsystem structures using (k,2)-partite graphs|chapter-url=http://rigi.cs.uvic.ca/downloads/papers/pdf/k2partite.pdf}}
- {{cite book|chapter-url=http://rigi.cs.uvic.ca/downloads/papers/pdf/gd95.pdf|chapter=Graph layout adjustment strategies|author1=M.-A. D. Storey | author2=H. A. Müller|title=Graph Drawing [Proceedings (GD 1995)]|year=1995}}
- {{cite book|author1=Storey, M.-A.D. | author2=H.A. Müller | author3=K. Wong|chapter=Manipulating and Documenting Software Structures|editor=P. Eades and K. Zhang|title=Software Visualization|volume=7|series=Series on Software Engineering and Knowledge Engineering | others=Series Editor-in-Chief S.K. Chang|publisher=World Scientific Publishing|isbn=978-981-02-2826-2|year=1996|chapter-url=http://rigi.cs.uvic.ca/downloads/papers/pdf/manipulating.pdf}}
- {{cite book | title=Software Engineering | author1=K.K. Aggarwal | author2=Yogesh Singh | publisher=New Age International | year=2005 | isbn=978-8122416381 | page=460 }}
- {{cite book | title=Advances in Software Engineering: Comprehension, Evaluation, and Evolution | editor1=Hakan Erdogmus | editor2=Oryal Tanir | publisher=Springer Science & Business Media | year=2002 | isbn=978-0387951096 | page=315 | chapter = The Software Bookshelf | author = Patrick Finnigan, Richard C. Holt, Ivan Kalas, Scott Kerr, Kostas Kontogiannis, Hausi A. Müller, John Mylopoulos, Stephen G. Perelgut, Martin Stanley, Kenny Wong | doi=10.1007/978-0-387-21599-0_14}}
- {{cite book | title=Studies of Software Design: ICSE'93 Workshop, Baltimore, Maryland, USA, May (17-18), 1993. Selected Papers | series=LNCS: Lecture Notes in Artificial Intelligence | volume=1078 | editor=David Alex Lamb | publisher=Springer Science & Business Media | year=1996 | isbn=978-3540612858 | author1=William G. Griswold | author2=Robert W. Bowdidge | chapter=Program restructuring via design-level manipulation | page=137 }}
- {{ 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 | s2cid=29298934 }} Compares Rigi with Refine/C, Imagix 4D, and SNiFF+.
External links
- Rigi [http://www.rigi.cs.uvic.ca site] (free download and publications list)