A Tool for Visualizing the Execution of Programs and Stack Traces Especially Suited for Novice Programmers

@inproceedings{Litvinov2017ATF,
  title={A Tool for Visualizing the Execution of Programs and Stack Traces Especially Suited for Novice Programmers},
  author={Stanislav Litvinov and Marat Mingazov and Vladislav Myachikov and Vladimir Ivanov and Yu. P. Palamarchuk and Pavel Sozonov and Giancarlo Succi},
  booktitle={ENASE},
  year={2017}
}
Software engineering education and training have obstacles caused by a lack of basic knowledge about a process of program execution. The article is devoted to the development of special tools that help to visualize the process. We analyze existing tools and propose a new approach to stack and heap visualization. The solution is able to overcome major drawbacks of existing tools and suites well for analysis of programs written in Java and C/C++. 

Figures and Tables from this paper

Measuring Instruction Comprehension by Mining Memory Traces for Early Formative Feedback in Java Courses

TLDR
A data mining approach is presented that allows to automatically detect code fragments that cause systematic difficulties in the group of students and requires the detection of co-occurring problems across multiple Java programs.

Anteater: Interactive Visualization of Program Execution Values in Context.

TLDR
Anteater is introduced, an interactive visualization system for tracing and exploring the execution of Python programs and its organization of trace data enables an intermediate representation which can be leveraged to automatically synthesize a variety of visualizations and interactions.

Anteater: Interactive Visualization for Program Understanding

TLDR
This paper presents Anteater, an interactive visualization system for tracing and exploring the execution of a program, and answers the following question: what should a debugging tool look like if it were designed from the ground up to support interactive visualization principles.

A review of introductory programming research 2003–2017

TLDR
It is timely to conduct and present a comprehensive review of research into introductory programming since that of Robins et al. in 2003 to gain an understanding of the research focuses, to highlight advances in knowledge since 2003, and to indicate possible future directions for research.

Introductory programming: a systematic literature review

TLDR
An ITiCSE working group conducted a systematic review of the introductory programming literature to explore trends, highlight advances in knowledge over the past 15 years, and indicate possible directions for future research.

Influence of listening to music on emotional state of programmers: Preliminary study

TLDR
Electroencephalography is used to understand the influence of music on programmers mental state and finds that the mean Arousal and Valence levels are lower and higher respectively, while listening to music.

Attention and vigilance detection based on electroencephalography - a summary of a literature review

TLDR
A systematic literature review on attention and vigilance detection using Electroencephalography (EEG) to investigate the state of the art in the field, find gaps, suggest future work and find answers to the research questions of the study.

References

SHOWING 1-10 OF 43 REFERENCES

JaVis: A UML-Based Visualization and Debugging Environment for Concurrent Java Programs

TLDR
The JaVis environment for visualizing and debugging concurrent Java programs, implemented using the Java Debug Interface of the Java Platform Debugger Architecture, and integrated into the UML CASE tool Together.

Visualizing the Java heap demonstration proposal

  • S. Reiss
  • Computer Science
    2009 IEEE International Conference on Software Maintenance
  • 2009
TLDR
This work has developed a framework for extracting and building a model of the heap from a running Java system and proposes to demonstrate the tool in action, showing how it works dynamically on running processes and how it is designed to address a variety of specific memory issues.

JAVAVIS: Automatic Program Visualization with Object and Sequence Diagrams Using the Java Debug Interface (JDI)

TLDR
The goal of the JAVAVIS system is to help students understand what is happening in a Java program during execution by showing the dynamic behavior of a running program by displaying several object diagrams and a single sequence diagram.

BlueJ Visual Debugger for Learning the Execution of Object-Oriented Programs?

TLDR
The results of the experiment show that the students who used BlueJ’s debugger did not perform statistically significantly better than the students not using it; both groups profited about the same amount from the exercises given in the experiment.

JIVE: A Pedagogic Tool for Visualizing the Execution of Java Programs

TLDR
A pedagogic tool called JIVE (Java Interactive Visualization Environment) is described for clarifying the dynamic behavior of Java programs, which employs extensions of UML object and sequence diagrams to represent execution state and call history.

Visual Tracing for the Eclipse Java Debugger

TLDR
A tool for visually tracing Java programs in Eclipse that integrates with other features of Eclipse Java debugger and provides detailed information about the hits such as thread, stack trace, and assigned values.

Visualization of Object-oriented (Java) Programs

TLDR
An explicit, consistent, execution model for OO programs, specifically Java, together with a tool that visualizes the model that supports acquiring proficiency with the model in an e-learning setting by giving precise information to hone his/her conceptualization of program execution.

JGRASP: an integrated development environment with visualizations for teaching java in CS1, CS2, and beyond

TLDR
This workshop will include tutorials and example programs to demonstrate how instructors can improve the learning and programming experience of their students with jGRASP.

A relational approach to software metrics

TLDR
This paper presents WebMetrics, an automated tool for software metrics collection that uses, as intermediate layer, a set of intuitive relations to describe the source code structure, stored in a database in order to calculate metrics directly by performing SQL queries.