Comments: Files are in /projects/pvg ContactPerson: pvg@cse.buffalo.edu Remote host: pollux.cse.buffalo.edu ### Begin Citation ### Do not delete this line ### %R 2004-20 %U /projects/pvg/JIVE.ps %A Gestwicki, Paul V. %A Jayaraman, Bharat %T Methodology and Architecture of JIVE %D December 13, 2004 %I Department of Computer Science and Engineering, SUNY Buffalo %K interactive execution, object-oriented program visualization, forward and reverse execution, object diagrams, sequence diagrams, java, jive %X A novel approach to the runtime visualization and analysis of object-oriented programs is presented and illustrated through a prototype system called JIVE: Java Interactive Visualization Environment. The main contributions of JIVE are in its multiple concurrent representations of program state and execution history through an environment that supports forward and reverse execution along with execution queries. This model facilitates program understanding and interactive debugging. Our graphical representation of runtime states clarifies the important point that objects are execution environments. The history of object interaction is displayed via sequence diagrams similar to those of the Unified Modeling Language, and in this way we help close the loop between design-time and run-time representations. Interactive execution is made possible by maintaining a runtime history database, which may be queried for information on variable behavior, method executions, and object interactions. We illustrate the capabilities of this system through examples. JIVE is implemented using the Java Platform Debugger Architecture and supports the Java language and libraries, including multithreaded and GUI applications.