Real-time Software Execution Visualization: Design and Implementation
- Author(s): Han, Zizhao
- Advisor(s): Jones, James
- et al.
Software is invisible. In order to understand how the software works, Software Engineers invent many ways for software representation, such as Software Architecture Diagrams and Class Diagrams. These methods help us understand the software from a high-level perspective. However it is hard for the developers to relate the run-time behavior with the source code. With Object-Orientated Programming, the software can be decomposed into several modules. Every feature needs different modules to cooperate. It is even harder for developers to match the feature and the underlying source code. This work presents a visualization that includes a Seesoft view of the overall source code and a dynamic live execution view of the run-time software. In order to demonstrate the execution as live as possible, we used different techniques and test them with two programs (JPacman and JEdit) to validate the the design decisions we made to achieve the best performance. Furthermore, the results demonstrate our visualization is capable of visualizing program execution in real time with lower delay time than without my improvements.