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...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:Proceedings / International Symposium on Code Generation and Optimization S. 359 - 372
Hauptverfasser: Barollet, Theo, Guillon, Christophe, Selva, Manuel, Broquedis, Francois, Bouchez-Tichadou, Florent, Rastello, Fabrice
Format: Tagungsbericht
Sprache:Englisch
Veröffentlicht: IEEE 02.03.2024
Schlagworte:
ISSN:2643-2838
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Abstract 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.
AbstractList 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.
Author Rastello, Fabrice
Barollet, Theo
Guillon, Christophe
Broquedis, Francois
Bouchez-Tichadou, Florent
Selva, Manuel
Author_xml – sequence: 1
  givenname: Theo
  surname: Barollet
  fullname: Barollet, Theo
  email: theo.barollet@inria.fr
  organization: Univ. Grenoble Alpes,Inria, CNRS, Grenoble INP, LIG,Grenoble,France,38000
– sequence: 2
  givenname: Christophe
  surname: Guillon
  fullname: Guillon, Christophe
  email: christophe.guillon@inria.fr
  organization: Univ. Grenoble Alpes,Inria, CNRS, Grenoble INP, LIG,Grenoble,France,38000
– sequence: 3
  givenname: Manuel
  surname: Selva
  fullname: Selva, Manuel
  email: manuel.selva@inria.fr
  organization: Univ. Grenoble Alpes,Inria, CNRS, Grenoble INP, LIG,Grenoble,France,38000
– sequence: 4
  givenname: Francois
  surname: Broquedis
  fullname: Broquedis, Francois
  email: francois.broquedis@inria.fr
  organization: Univ. Grenoble Alpes,Inria, CNRS, Grenoble INP, LIG,Grenoble,France,38000
– sequence: 5
  givenname: Florent
  surname: Bouchez-Tichadou
  fullname: Bouchez-Tichadou, Florent
  email: florent.bouchez-tichadou@inria.fr
  organization: Univ. Grenoble Alpes,Inria, CNRS, Grenoble INP, LIG,Grenoble,France,38000
– sequence: 6
  givenname: Fabrice
  surname: Rastello
  fullname: Rastello, Fabrice
  email: fabrice.rastello@inria.fr
  organization: Univ. Grenoble Alpes,Inria, CNRS, Grenoble INP, LIG,Grenoble,France,38000
BookMark eNo1j8FOAjEURavRREH-wJj-wODrex06dUcmiCREWOCadDpvcBRa0hkT-Xs16urmbE7OHYiLEAMLcadgrBTY-3K-ys2EYIyAeqxAa10gnYmRNbagHMjmYO25uMaJpgwLKq7EoOveANBoRdfieea60yY5_87pQU7l-tS_xiCXbZVcOskmJlnG0Ke437dhJ12o5SJ0R_b9D65T3CV3kLNP9h99G8ONuGzcvuPR3w7Fy-NsUz5ly9V8UU6XmUMLfVYgg1UVG0TjvNLKsyHMuVZ1ww5rIvC-MlgB2wpdVeSEzoNDk2sD2NBQ3P56W2beHlN7-K7d_v-nL_XNUX8
ContentType Conference Proceeding
DBID 6IE
6IL
CBEJK
RIE
RIL
DOI 10.1109/CGO57630.2024.10444823
DatabaseName IEEE Electronic Library (IEL) Conference Proceedings
IEEE Xplore POP ALL
IEEE Xplore All Conference Proceedings
IEEE Electronic Library (IEL)
IEEE Proceedings Order Plans (POP All) 1998-Present
DatabaseTitleList
Database_xml – sequence: 1
  dbid: RIE
  name: IEEE Electronic Library (IEL)
  url: https://ieeexplore.ieee.org/
  sourceTypes: Publisher
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISBN 9798350395099
EISSN 2643-2838
EndPage 372
ExternalDocumentID 10444823
Genre orig-research
GroupedDBID 29O
6IE
6IF
6IK
6IL
6IN
AAJGR
ABLEC
ADZIZ
ALMA_UNASSIGNED_HOLDINGS
BEFXN
BFFAM
BGNUA
BKEBE
BPEOZ
CBEJK
CHZPO
IEGSK
IPLJI
OCL
RIE
RIL
ID FETCH-LOGICAL-a290t-82e091be7227ac141ce7325ed1dfea2d330ccb72b0e9b2ab8532ac0a2754702f3
IEDL.DBID RIE
ISICitedReferencesCount 1
ISICitedReferencesURI http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=001179185400029&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
IngestDate Wed Aug 27 02:08:26 EDT 2025
IsPeerReviewed false
IsScholarly true
Language English
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-a290t-82e091be7227ac141ce7325ed1dfea2d330ccb72b0e9b2ab8532ac0a2754702f3
PageCount 14
ParticipantIDs ieee_primary_10444823
PublicationCentury 2000
PublicationDate 2024-March-2
PublicationDateYYYYMMDD 2024-03-02
PublicationDate_xml – month: 03
  year: 2024
  text: 2024-March-2
  day: 02
PublicationDecade 2020
PublicationTitle Proceedings / International Symposium on Code Generation and Optimization
PublicationTitleAbbrev CGO
PublicationYear 2024
Publisher IEEE
Publisher_xml – name: IEEE
SSID ssj0027413
ssib057256076
Score 2.2554808
Snippet Learning to program involves building a mental representation of how a machine executes instructions and stores data in memory. To help students, teachers...
SourceID ieee
SourceType Publisher
StartPage 359
SubjectTerms Buildings
Codes
debug
Debugging
instrumentation
Libraries
Optimization
Python
teaching
Visualization
Title EasyTracker: A Python Library for Controlling and Inspecting Program Execution
URI https://ieeexplore.ieee.org/document/10444823
WOSCitedRecordID wos001179185400029&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
link http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV07T8MwELZoxcBUHkW85YE1xTknccKGqhZYSgeQulX2-SKxpKgPRP89tpMUMTCw2R4s687Wd2d_n4-xWyocCuZYRhlCGSWgMNI6SSOrEMAqUnlqQrEJNZnks1kxbcTqQQtDRIF8RgPfDG_5doEbf1XmTnjisgmQHdZRKqvFWu3mSZUHb4-tu2wrlo0kOBbF3fDxxYXWUriUEJJBO9OvmioBUsa9fy7mkPV_xHl8uoOdI7ZH1THrtdUZeHNYT9hkpFdbB0WeN3HPH_h0678J4I1QgbtglQ9rnrpXpHNdWf5c1cJL153WvC0--iIMe7PP3saj1-FT1FRPiDQUYh3lQC4WMKQAlMY4iZGUhJRsbEvSYKUUiEaBEVQY0MbhNmgUGlSaKAGlPGXdalHRGeMiLl3kgrk1mHn8MjL3d5A5UorClNk563v7zD_qDzLmrWku_hi_ZAfeC4HKBVesu15u6Jrt4-f6fbW8CW79Bia9ohM
linkProvider IEEE
linkToHtml http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV27TsMwFLWgIMFUHkW88cCa4lwndcKGqpZWlJKhSGyVHzcSS4r6QPTvsZ2kiIGBzfZgWX7o3Guf40PILaYWBROdBx0NeRCB0IGUURwYoQGMQJHEyptNiPE4eXtLs0qs7rUwiOjJZ9h2Rf-Wb2Z65a7K7AmPbDYBfJvsOOusSq5Vb59YOPh26LrJt0JeiYJDlt51H19scM2ZTQohatd9_XJV8aDSb_5zOAek9SPPo9kGeA7JFhZHpFn7M9DquB6TcU8u1haMHHPinj7QbO0-CqCVVIHacJV2S6a606RTWRg6LErppa1mJXOL9r5Q-93ZIq_93qQ7CCr_hEBCypZBAmijAYUCQEgdRqFGwSFGE5ocJRjOmdZKgGKYKpDKIjdIzSSIOBIMcn5CGsWswFNCWZjb2EUnRumOQzDFE3cLmWiMNVN554y03PxMP8ovMqb11Jz_0X5D9gaT59F0NBw_XZB9tyKe2AWXpLGcr_CK7OrP5ftifu2X-BvKKaVc
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=proceeding&rft.title=Proceedings+%2F+International+Symposium+on+Code+Generation+and+Optimization&rft.atitle=EasyTracker%3A+A+Python+Library+for+Controlling+and+Inspecting+Program+Execution&rft.au=Barollet%2C+Theo&rft.au=Guillon%2C+Christophe&rft.au=Selva%2C+Manuel&rft.au=Broquedis%2C+Francois&rft.date=2024-03-02&rft.pub=IEEE&rft.eissn=2643-2838&rft.spage=359&rft.epage=372&rft_id=info:doi/10.1109%2FCGO57630.2024.10444823&rft.externalDocID=10444823