Understanding the Behavior of Java Programs

  • Authors:
  • Tarja Systä

  • Affiliations:
  • -

  • Venue:
  • WCRE '00 Proceedings of the Seventh Working Conference on Reverse Engineering (WCRE'00)
  • Year:
  • 2000

Quantified Score

Hi-index 0.01

Visualization

Abstract

To fully understand the underlying architecture of an object-oriented software system, both static and dynamic analyses are needed. Dynamic reverse engineering techniques are especially important for understanding the run-time behavior of objects in a distributed object systems and in systems that rely heavily on polymorphism. Shimba, a prototype reverse engineering environment, has been built to support understanding an existing Java software system. The dynamic event trace information is generated automatically as a result of running the target system under a customized sdk [14] debugger and viewed as scenario diagrams using the SCED tool [5]. In SCED, state diagrams can be synthesized automatically from scenario diagrams. This facility is used to visualize the total behavior of a selected object or method, disconnected from the rest of the system. This paper demonstrates how Shimba aids understanding the behavior of Java programs. A case study in made to validate the usefulness of the approach. The system under investigation is the FUJABA environment consisting of almost 700 Java classes.