EasyTracker: A Python Library for Controlling and Inspecting Program Execution - CORSE - Computer Optimization and Run-time SystEms
Communication Dans Un Congrès Année : 2024

EasyTracker: A Python Library for Controlling and Inspecting Program Execution

Résumé

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.
Fichier principal
Vignette du fichier
main-camera-8-3c66a2d.pdf (1.13 Mo) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-04368835 , version 1 (01-01-2024)
hal-04368835 , version 2 (09-01-2024)
hal-04368835 , version 3 (13-03-2024)

Licence

Identifiants

  • HAL Id : hal-04368835 , version 3

Citer

Théo Barollet, Christophe Guillon, Manuel Selva, François Broquedis, Florent Bouchez-Tichadou, et al.. EasyTracker: A Python Library for Controlling and Inspecting Program Execution. CGO 2024 - International Symposium on Code Generation and Optimization, Mar 2024, Edinburgh, United Kingdom. pp.1-14. ⟨hal-04368835v3⟩
557 Consultations
131 Téléchargements

Partager

More