title: "The Essence of Program Semantics Visualizers: A Three-Axis Model" authors: Josh Pollock, Grace Oh, Eunice Jun, Philip J. Guo, Zachary Tatlock venue: Workshop on Evaluation and Usability of Programming Languages and Tools (PLATEAU) year: 2020 abstract: > A program semantics visualizer (PSV) helps illuminate a language's semantics by explaining the runtime execution of programs. PSVs are often used in introductory programming (CS1) courses to help introduce a notional machine, an abstraction of the computer that executes the language. But what information should PSVs present to fully explain such notional machines? In this paper we propose a three-axis model to assess the design of PSVs that visualize execution traces. PSVs should help users by clearly answering three questions: What is the machine's configuration at each execution step? Why did an execution step take place? How did an execution step change the machine's configuration? We demonstrate our model's utility for assessing PSVs by explaining why, in actual classroom use, instructors have resorted to manually extending PSV output. In particular, we study instructors' additions to visualizations generated by Python Tutor, the most popular PSV. bibtex: > @inproceedings{Pollock2020, title={The Essence of Program Semantics Visualizers: A Three-Axis Model}, author={Pollock, Josh and Oh, Grace and Jun, Eunice and Guo, Philip J. and Tatlock, Zachary}, booktitle = {11th annual workshop on the intersection of HCI and PL}, series = {PLATEAU '20}, year={2020} }