Rigi es una herramienta interactiva de edición gráfica para la ingeniería inversa de software que utiliza el método de caja blanca , es decir, requiere el código fuente , [ 1 ] [ 2 ] : 88 por lo que está principalmente orientada a la comprensión del programa . [ 3 ] : 99 Rigi es distribuida por su autor principal, Hausi A. Müller y el grupo de investigación Rigi en la Universidad de Victoria . [ 4 ] : 143
Rigi proporciona enlaces interactivos desde los gráficos que produce hasta el código fuente, pero no al revés. Rigi renderiza árboles y gráficos con diseño de cuadrícula utilizando su propio motor interno, pero se basa en GraphEd de la Universidad de Passau para diseños más avanzados. [ 3 ] : 99
La versión pública de Rigi tiene analizadores integrados ("extractores de hechos") para C y Cobol, y puede aprovechar el analizador de C++ de IBM Visual Age . También puede aceptar datos externos en formato RSF (que introdujo), por lo que analizadores externos también pueden proporcionarle datos, por ejemplo, el analizador de Java de la herramienta SHriMP . [ 1 ] : 250 Se hicieron algunos esfuerzos para integrar Rigi en Microsoft Visual Studio .NET. [ 2 ] Las primeras versiones de Bauhaus también se construyeron sobre Rigi; el autor de esta última herramienta señala que la combinación era bastante lenta para gráficos con más de 500 nodos. [ 4 ] : 143–145 Según se informa, Rigi se utilizó para analizar software embebido (no revelado) en Nokia , en el rango de cientos de miles de líneas de código, y recibió comentarios positivos de los ingenieros de Nokia. [ 5 ] : 170–171
El desarrollo activo de Rigi cesó en 1999, y la última versión oficial se publicó en 2003. [ 1 ] : 254 Un artículo de 2008 señaló que "Rigi es una herramienta madura que todavía se usa en la investigación y es popular en la enseñanza, pero actualmente ya no se desarrolla activamente y está en modo de corrección de errores". [ 6 ] : 90
Véase también
Referencias
- 1 2 3 Kienle, Holger M. (2010). "Rigi: un entorno para la ingeniería inversa, exploración, visualización y redocumentación de software" . Science of Computer Programming . 75 (4): 247– 263. doi : 10.1016/j.scico.2009.10.007 .
- 1 2 Moise, DL; Wong, K.; Sun, D. (2004). "Integración de una herramienta de ingeniería inversa con Microsoft Visual Studio .NET". CSMR 2004: Octava Conferencia Europea sobre Mantenimiento y Reingeniería de Software : actas : 24-26 de marzo de 2004, Tampere, Finlandia . IEEE Computer Society. pp. 85–92 . doi : 10.1109/CSMR.2004.1281409 . ISBN 978-0769521077. S2CID 5563060 .
- 1 2 Koschke, Rainer (2003). "Visualización de software en el mantenimiento, la ingeniería inversa y la reingeniería de software: una revisión de investigación" . Journal of Software Maintenance and Evolution: Research and Practice . 15 (2): 87– 109. doi : 10.1002/smr.270 .
- 1 2 Koschke, Rainer (2002). "Visualización de software para ingeniería inversa". Visualización de software . Notas de clase en ciencias de la computación. Vol. 2269. pp. 138–150 . CiteSeerX 10.1.1.465.3117 . doi : 10.1007/3-540-45875-1_11 . ISBN 978-3-540-43323-1.
- ↑ Riva, Claudio (2002). "Reconstrucción arquitectónica en la práctica". Arquitectura de software . IFIP Advances in Information and Communication Technology. Vol. 97. pp. 159–173 . doi : 10.1007/978-0-387-35607-5_10 . ISBN 978-1-4757-6538-0.
- ↑ Roel Wuyts; Holger M. Kienle; Kim Mens; Mark van den Brand; Adrian Kuhn (2009). "Herramientas y técnicas para el desarrollo de software académico. Informe del 1er Taller WASDeTT en ECOOP 2008". En Patrick Eugster (ed.). Tecnología orientada a objetos. Lector del taller ECOOP 2008: Talleres ECOOP 2008 Pafos, Chipre, 7-11 de julio de 2008. Informes finales . Subbiblioteca LNCS: Programación e ingeniería de software. Vol. 5475. Springer Science & Business Media. págs. 87–103 . doi : 10.1007/978-3-642-02047-6_10 . ISBN 978-3642020469.
Lecturas adicionales
- H. Müller; J. Uhl. "Composición de estructuras de subsistemas mediante grafos (k,2)-partitos" (PDF) . Actas de la Conferencia de Mantenimiento de Software de 1990 (CSM 1990) .
- M.-AD Storey ; HA Müller (1995). "Estrategias de ajuste del diseño de gráficos" (PDF) . Dibujo de gráficos [Actas (GD 1995)] .
- Storey, M.-AD ; HA Müller; K. Wong (1996). "Manipulación y documentación de estructuras de software" (PDF) . En P. Eades y K. Zhang (eds.). Visualización de software . Serie sobre ingeniería de software e ingeniería del conocimiento. Vol. 7. Editor en jefe de la serie: SK Chang. World Scientific Publishing. ISBN 978-981-02-2826-2.
- KK Aggarwal; Yogesh Singh (2005). Ingeniería de software . New Age International. pág. 460. ISBN 978-8122416381.
- Patrick Finnigan, Richard C. Holt, Ivan Kalas, Scott Kerr, Kostas Kontogiannis, Hausi A. Müller, John Mylopoulos , Stephen G. Perelgut, Martin Stanley, Kenny Wong (2002). «The Software Bookshelf». En Hakan Erdogmus; Oryal Tanir (eds.). Advances in Software Engineering: Comprehension, Evaluation, and Evolution . Springer Science & Business Media. p. 315. doi : 10.1007/978-0-387-21599-0_14 . ISBN 978-0387951096.
{{cite book}}: CS1 maint: varios nombres: lista de autores ( enlace ) - William G. Griswold; Robert W. Bowdidge (1996). «Reestructuración de programas mediante manipulación a nivel de diseño». En David Alex Lamb (ed.). Estudios de diseño de software: Taller ICSE'93, Baltimore, Maryland, EE. UU., mayo (17-18), 1993. Artículos seleccionados . LNCS: Lecture Notes in Artificial Intelligence. Vol. 1078. Springer Science & Business Media. pág. 137. ISBN 978-3540612858.
- Bellay, B.; Gall, H. (1997). «Una comparación de cuatro herramientas de ingeniería inversa». Ingeniería inversa, 1997. Actas de la Cuarta Conferencia de Trabajo, Ámsterdam 1997. IEEE. doi : 10.1109/WCRE.1997.624571 . ISBN 978-0-8186-8162-2. S2CID 29298934 . Compara Rigi con Refine/C , Imagix 4D y SNiFF+ .
Enlaces externos
- Sitio web de Rigi (descarga gratuita y lista de publicaciones)
- Software para dibujar gráficos
- Software para modelado de software