SimpliPy: A Source-Tracking Notional Machine for Simplified Python

Fuente: arXiv
Guardado en:
Detalles Bibliográficos
Autores principales: Jain, Moida Praneeth, Choppella, Venkatesh
Formato: Preprint
Publicado: 2025
Materias:
Acceso en línea:
Etiquetas: Agregar Etiqueta
Sin Etiquetas, Sea el primero en etiquetar este registro!
_version_ 1866914102956261376
author Jain, Moida Praneeth
Choppella, Venkatesh
author_facet Jain, Moida Praneeth
Choppella, Venkatesh
contents Misconceptions about program execution hinder many novice programmers. We introduce SimpliPy, a notional machine designed around a carefully chosen Python subset to clarify core control flow and scoping concepts. Its foundation is a precise operational semantics that explicitly tracks source code line numbers for each execution step, making the link between code and behavior unambiguous. Complementing the dynamic semantics, SimpliPy uses static analysis to generate Control Flow Graphs (CFGs) and identify lexical scopes, helping students build a structural understanding before tracing. We also present an interactive web-based debugger built on these principles. This tool embodies the formal techniques, visualizing the operational state (environments, stack) and using the static CFG to animate control flow directly on the graph during step-by-step execution. SimpliPy thus integrates formal semantics, program analysis, and visualization to offer both a pedagogical approach and a practical demonstration of applying formal methods to program understanding.
format Preprint
id arxiv_https___arxiv_org_abs_2510_16594
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle SimpliPy: A Source-Tracking Notional Machine for Simplified Python
Jain, Moida Praneeth
Choppella, Venkatesh
Programming Languages
F.3.2; F.1.1
Misconceptions about program execution hinder many novice programmers. We introduce SimpliPy, a notional machine designed around a carefully chosen Python subset to clarify core control flow and scoping concepts. Its foundation is a precise operational semantics that explicitly tracks source code line numbers for each execution step, making the link between code and behavior unambiguous. Complementing the dynamic semantics, SimpliPy uses static analysis to generate Control Flow Graphs (CFGs) and identify lexical scopes, helping students build a structural understanding before tracing. We also present an interactive web-based debugger built on these principles. This tool embodies the formal techniques, visualizing the operational state (environments, stack) and using the static CFG to animate control flow directly on the graph during step-by-step execution. SimpliPy thus integrates formal semantics, program analysis, and visualization to offer both a pedagogical approach and a practical demonstration of applying formal methods to program understanding.
title SimpliPy: A Source-Tracking Notional Machine for Simplified Python
topic Programming Languages
F.3.2; F.1.1
url https://arxiv.org/abs/2510.16594