Shimba is a reverse engineering environment to support the understanding of
Java software systems. Shimba integrates the Rigi and SCED tools to analyz
e and visualize the static and dynamic aspects of a subject system, The sta
tic software artifacts and their dependencies are extracted from Java byte
code and viewed as directed graphs using the Rigi reverse engineering envir
onment, The run-time information is generated by running the target softwar
e under a customized SDK debugger. The generated information is viewed as s
equence diagrams using the SCED tool, In SCED, statechart diagrams can be s
ynthesized automatically from sequence diagrams, allowing the user to inves
tigate the overall run-time behavior of objects in the target system,
Shimba provides facilities to manage the different diagrams and to trace ar
tifacts and relations across views. In Shimba, SCED sequence diagrams are u
sed to slice the static dependency graphs produced by Rigi, In turn, Rigi g
raphs are used to guide the generation of SCED sequence diagrams and to rai
se their level of abstraction, We show how the information exchange among t
he views enables goal-driven reverse engineering tasks and aids the overall
understanding of the target software system, The FUJABA software system se
rves as a case study to illustrate and validate the Shimba reverse engineer
ing environment, Copyright (C) 2001 John Wiley & Sons, Ltd.