Shimba—an environment for reverse engineering Java software systems
- 22 February 2001
- journal article
- research article
- Published by Wiley in Software: Practice and Experience
- Vol. 31 (4) , 371-394
- https://doi.org/10.1002/spe.386
Abstract
Shimba is a reverse engineering environment to support the understanding of Java software systems. Shimba integrates the Rigi and SCED tools to analyze and visualize the static and dynamic aspects of a subject system. The static software artifacts and their dependencies are extracted from Java byte code and viewed as directed graphs using the Rigi reverse engineering environment. The run‐time information is generated by running the target software under a customized SDK debugger. The generated information is viewed as sequence diagrams using the SCED tool. In SCED, statechart diagrams can be synthesized automatically from sequence diagrams, allowing the user to investigate the overall run‐time behavior of objects in the target system.Shimba provides facilities to manage the different diagrams and to trace artifacts and relations across views. In Shimba, SCED sequence diagrams are used to slice the static dependency graphs produced by Rigi. In turn, Rigi graphs are used to guide the generation of SCED sequence diagrams and to raise their level of abstraction. We show how the information exchange among the views enables goal‐driven reverse engineering tasks and aids the overall understanding of the target software system. The FUJABA software system serves as a case study to illustrate and validate the Shimba reverse engineering environment. Copyright © 2001 John Wiley & Sons, Ltd.Keywords
Funding Information
- Academy of Finland
- National Technology Agency of Finland (TEKES)
- Nokia
- Neles Automation
- Sensor Software Consulting
- Acura Systems
- Plenware
This publication has 8 references indexed in Scilit:
- Playing Detective: Reconstructing Software Architecture from Available EvidenceAutomated Software Engineering, 1999
- Automated support for modeling OO softwareIEEE Software, 1998
- Object-oriented program tracing and visualizationComputer, 1997
- UNDERSTANDING SOFTWARE SYSTEMS USING REVERSE ENGINEERING TECHNOLOGYPublished by World Scientific Pub Co Pte Ltd ,1995
- PROGRAMMABLE REVERSE ENGINEERINGInternational Journal of Software Engineering and Knowledge Engineering, 1994
- Automatic synthesis of state machines from trace diagramsSoftware: Practice and Experience, 1994
- A metrics suite for object oriented designIEEE Transactions on Software Engineering, 1994
- A fast string searching algorithmCommunications of the ACM, 1977