An Enumerative Embedding of the Python Type System in ACL2s

Python is a high-level interpreted language that has become an industry standard in a wide variety of applications.In this paper, we take a first step towards using ACL2s to reason about Python code by developing an embedding of a subset of the Python type system in ACL2s.The subset of Python types we support includes many of the most commonly used type annotations as well as user-defined types comprised of supported types.We provide ACL2s definitions of these types, as well as defdata enumerators that are customized to provide code coverage and identify errors in Python programs.Using the ACL2s embedding, we can generate instances of types that can then be used as inputs to fuzz Python programs, which allows us to identify bugs in Python code that are not detected by state-of-the-art Python type checkers.We evaluate our work against four open-source repositories, extracting their type information and generating inputs for fuzzing functions with type signatures that are in the supported subset of Python types.Note that we only use the type signatures of functions to generate inputs and treat the bodies of functions as black boxes.We measure code coverage, which ranges from about 68% to more than 80%, and identify code patterns that hinder coverage such as complex branch conditions and external file system dependencies.We conclude with a discussion of the results and recommendations for future work.

Authors

Institutions

Publication Details

Journal
Electronic Proceedings in Theoretical Computer Science
Published
2025-07-24
DOI
https://doi.org/10.4204/eptcs.423.11
Primary Topic
Algorithms and Data Compression
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

An Enumerative Embedding of the Python Type System in ACL2s

Panagiotis Manolios, Andrew T. Walter, William Robertson, Samuel Xifaras
Electronic Proceedings in Theoretical Computer Science
Algorithms and Data Compression
article

An Enumerative Embedding of the Python Type System in ACL2s

Panagiotis Manolios, Andrew T. Walter, William Robertson, Samuel Xifaras
article en

Abstract

Python is a high-level interpreted language that has become an industry standard in a wide variety of applications.In this paper, we take a first step towards using ACL2s to reason about Python code by developing an embedding of a subset of the Python type system in ACL2s.The subset of Python types we support includes many of the most commonly used type annotations as well as user-defined types comprised of supported types.We provide ACL2s definitions of these types, as well as defdata enumerators that are customized to provide code coverage and identify errors in Python programs.Using the ACL2s embedding, we can generate instances of types that can then be used as inputs to fuzz Python programs, which allows us to identify bugs in Python code that are not detected by state-of-the-art Python type checkers.We evaluate our work against four open-source repositories, extracting their type information and generating inputs for fuzzing functions with type signatures that are in the supported subset of Python types.Note that we only use the type signatures of functions to generate inputs and treat the bodies of functions as black boxes.We measure code coverage, which ranges from about 68% to more than 80%, and identify code patterns that hinder coverage such as complex branch conditions and external file system dependencies.We conclude with a discussion of the results and recommendations for future work.

Electronic Proceedings in Theoretical Computer ScienceVol. 423
Universidad del Noreste (MX)
Openalex Percentile: Top 91%
Algorithms and Data Compression
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.

An Enumerative Embedding of the Python Type System in ACL2s — Panagiotis Manolios, Andrew T. Walter, et al. · Electronic Proceedings in Theoretical Computer Science (2025) | TGRS Research Map | TGRS