EasyTracker: A Python Library for Controlling and Inspecting Program Execution
Learning to program involves building a mental representation of how a machine executes instructions and stores data in memory. To help students, teachers often use visual representations to illustrate the execution of programs or particular concepts in their lectures. As a famous example, teachers often represent references/pointers with arrows pointing to objects or memory locations. While these visual representations are mostly hand-drawn, there is a tendency to supplement them with tools.
However, building such a tool from scratch requires much effort and a high level of debugging technical expertise, while existing tools are difficult to adapt to different contexts. This article presents EasyTracker, a Python library targeting teachers who are not debugging experts. By providing ways of controlling the execution and inspecting the state of programs, EasyTracker simplifies the development of tools that generate tuned visual representations from the controlled execution of a program. The controlled program can be written either in Python, C, or assembly languages. To ease the development of visualization tools working for programs in different languages and to allow the building of web-based tools, EasyTracker provides a language-agnostic and serializable representation of the state of a running program.
Tue 5 MarDisplayed time zone: London change
16:10 - 17:30 | |||
16:10 20mTalk | Compiler Testing with Relaxed Memory Models Main Conference | ||
16:30 20mTalk | High-Throughput, Formal-Methods-Assisted Fuzzing for LLVM Main Conference | ||
16:50 20mTalk | EasyTracker: A Python Library for Controlling and Inspecting Program Execution Main Conference Théo Barollet University Grenoble Alpes - Inria - CNRS - Grenoble INP - LIG, Christophe Guillon University Grenoble Alpes - Inria - CNRS - Grenoble INP - LIG, Manuel Selva University Grenoble Alpes - Inria - CNRS - Grenoble INP - LIG, François Broquedis University Grenoble Alpes - Inria - CNRS - Grenoble INP - LIG, Florent Bouchez-Tichadou University Grenoble Alpes - Inria - CNRS - Grenoble INP - LIG, Fabrice Rastello University Grenoble Alpes - Inria - CNRS - Grenoble INP - LIG Pre-print | ||
17:10 20mTalk | OptiWISE: Combining Sampling and Instrumentation for Granular CPI Analysis Main Conference Yuxin Guo University of Cambridge, Alexandra W. Chadwick University of Cambridge, Marton Erdos University of Cambridge, Utpal Bora University of Cambridge, Ilias Vougioukas Arm, Giacomo Gabrielli Arm, Timothy M. Jones University of Cambridge Pre-print Media Attached |