Query-based Debugging and Visualization in JIVE

Jeffrey Czyz (University at Buffalo)

Java · Short Talk
Presentation
Thursday, 11:50, 10 minutes | Room 203/204 | Download in iCal Format

7
·
8
·
9
·
10
·
11
·
12
·
13
·
14
·
15
·
16
·
17
·
18
·
19

Jeffrey Czyz

Traditional debugging is a procedural process in that a programmer must proceed step-by-step and object-by-object in order to uncover the cause of an error. This can be a tedious and time consuming process notwithstanding the availability of modern IDEs, whose graphical interfaces mainly serve as front-ends for traditional text-based debugging. In this talk, we present a novel platform called JIVE for runtime debugging of Java programs. JIVE (Java Interactive Visualization Environment) is an interactive execution environment for Eclipse that supports a declarative and visual approach to debugging object-oriented software. JIVE extends JDT’s debugging facilities with interactive visualization, query-based debugging, and reverse stepping.

JIVE depicts both the runtime state and execution history of a program in a visual manner. The runtime state is visualized as an enhanced object diagram, showing object structure as well as method activations in their proper object contexts. The execution history is depicted as a sequence diagram, clarifying the object interactions that occur at runtime. The diagrams are scalable and can be filtered to show only information pertinent to the task at hand. JIVE’s visualizations also make it an ideal pedagogic tool for teaching object-oriented programming.

JIVE provides an extensible set of queries over a program's execution history. Queries are formulated visually using the source code or the diagrams, and the results are shown in a tabular format and also as diagram annotations. Declarative debugging complements procedural debugging just as web searching complements web browsing. JIVE’s visualizations and query capabilities give the programmer greater insight into the execution of Java programs.

JIVE supports both forward and reverse stepping of Java programs. Often, a programmer may discover that an error has occurred only after the errant statement has been executed. Providing the ability to step backwards saves a programmer the time and effort of re-executing the program until the point of error. JIVE also provides the ability to jump directly back to any previous point in the execution history in order to observe the object diagram at that point. Reverse stepping and jumping work closely with query-based debugging to narrow down the cause of program errors.

Jeffrey Czyz is a PhD candidate studying under the supervision of Dr. Bharat Jayaraman at the University at Buffalo. He is currently researching declarative and visual execution environments for object-oriented software development. Jeff is the lead developer of the JIVE platform for Eclipse. JIVE is an interactive execution environment that supports a declarative and visual approach to debugging object-oriented software.

Floor Plan

Gold sponsors

BEA logo

IBM logo

Wind River logo

Replay Solutions logo

JBoss logo

SOPERA logo

Cloudsmith logo

BIRT Exchange logo

Skyway Software logo

Oracle

BlackBerry logo

AMD logo

Silver sponsors

Sybase

Google

Genuitec

Instantiations

Teamprise

Telelogic

Innoopract

Business Objects

LynuxWorks logo

Hardware sponsor

AMD logo

Media sponsors

Extension Media

Methods and Tools

ACM

Addison-Wesley logo

SD Times logo

Open Systems Publishing

Software Test & Performance logo

SDForum

Be a Sponsor