Visualize and understand your Java code execution like never before
A dynamic flowchart representation of your program's control flow. It highlights the active statement, displays current variable values, and allows collapsing/expanding elements and method calls for better overview.
Visualizes the program's memory state including stack, static variables, and heap. Perfect for understanding reference semantics and object relationships in memory.
Displays program execution history in a table format, focusing on primitive value manipulations. Shows executed statements, stack variable values, and conditions of control structures.
Specialized views for list and tree data structures with smooth animations for operations such as insertions and deletions. Shows local node variables alongside referenced nodes, making traversal algorithms easier to understand.
Visualizes arrays as interactive tables with animated index expressions and assignments. Perfect for understanding array operations and data flow between array elements and variables.
Visualizes the input buffer's state using a special In.java
class, showing consumed and unconsumed parts. Displays the latest operation's return value and success status, helping beginners understand input operations.
Weninger, Markus; Grünbacher, Simon; Prähofer, Herbert
Proceedings of the 33rd IEEE/ACM International Conference on Program Comprehension (ICPC 2025), April 27-28, 2025, Ottawa, Canada.
Software development education faces challenges in teaching abstract and complex programming concepts.
Since problems in comprehension can lead to decreased student engagement, we introduce JavaWiz: an educational graphical debugger that addresses these challenges by combining traditional debugging functionality with intuitive, dynamic visualizations of program state and run-time behavior.
JavaWiz's key features include real-time visualization of heap, stack, and static fields; automatically generated flow charts; interactive representations of data structures; and unique time-travel debugging capabilities.
Its step-by-step visual exploration of code execution, including the ability to step backward, bridges the gap between abstract concepts and concrete program understanding.
We present the tool's visualization components in detail and discuss its applications in teaching.
Lecturers report positive influence on their in-class demonstrations and initial student feedback reinforces the tool's usefulness for program comprehension.
Weninger, M., Grünbacher, S., & Prähofer, H. (2025). JavaWiz: A Trace-Based Graphical Debugger for Software Development Education. In Proceedings of the 33rd IEEE/ACM International Conference on Program Comprehension (ICPC 2025). Ottawa, Canada.