Support
JIVE is an interactive execution environment developed at the Department of Computer Science and Engineering at the University at Buffalo. It is released under the Eclipse Public License (EPL) agreement. The following people are responsible for its development and maintenance.
- Demian Lessa - Lead JIVE Developer
- Jeffrey K. Czyz - Eclipse/JIVE Developer
- Paul V. Gestwicki - Stand-alone JIVE Developer
- J. Swaminathan - JIVE Plug-in Developer
- K.P. Jevitha - JIVE Plug-in Developer
Questions and comments can be addressed to Bharat Jayaraman.
Development Roadmap
JIVE was originally designed as a stand-alone Java application by Paul Gestwicki during 2002-05. This version is no longer available. In 2006, Jeffrey Czyz, now at Google, initiated the development of JIVE as an Eclipse plug-in. This was continued in 2009 by Demian Lessa, who re-architected the entire system and brought JIVE to a very stable position by 2013. JIVE has been extensively class-tested in undergrad and grad classes, and also been used successfully for corporate training of Java programming.
In order to facilitate enhancements without intimate knowledge of the implementation of JIVE, the execution trace of a run of a Java program can be exported as a CSV or XML file. This in turn facilitates useful extensions, especially the State Diagram view and the Compact Sequence Diagram view. These plug-ins were developed by J. Swaminathan at Amrita University. The most recent development (Dec 2022) is the release of a plug-in for both offline and online (runtime) verification on (abstracted) finite-state models, by K.P. Jevitha at Amrita University.
JIVE continues to be actively researched and developed, and new features and improvements will be announced in the News section as they become available. Those willing to contribute to JIVE should contact the developers for more information. There are several areas that could be investigation: (i) improved layout of sequence diagrams; (ii) custom visualizations for standard data structures; (iii) support for debugging multiple execution traces; etc.
API Documentation
Most of the API documentation for JIVE is available online in Javadoc form. More documentation will be added during future releases.
Changelog
Changes from release-to-release are cataloged and can be viewed in the changelog.
Issue Tracking
An issue tracking system will be put in place in the near future. In the mean time, any problems can be directed to the lead JIVE developer.
Known Issues
- Lifeline heads on the sequence diagram do not scroll.
- Individual object frames cannot be expanded or collapsed.
- Object frames are created for small but not large arrays.
- Assignments to array cells are not monitored.
- Exceptions caught in filtered classes can cause incorrect sequence model behavior.
- Superclass method frames appear next to their context's derived-most frame when frames are stacked.
- Programs generating a large number events can exhaust the heap.