University of Amsterdam / Amsterdam University of Applied Sciences
Browse

Karkour (2022), Py*: Formalization of Python's Verifiable Bytecode and Virtual Machine in F*

Download (451.36 kB)
Version 3 2022-07-28, 13:06
Version 2 2022-07-25, 17:49
Version 1 2022-07-25, 12:20
conference contribution
posted on 2022-07-28, 13:06 authored by Ammar Karkour
<h4><a href="https://figshare.com/projects/Proceedings_of_the_ESSLLI_2022_Student_Session/144189" target="_blank">Proceedings of the ESSLLI 2022 Student Session</a></h4> <h2>Py*: Formalization of Python's Verifiable Bytecode and Virtual Machine in F*</h2> <h3>Ammar Karkour</h3> <p>In order to avoid implementation bugs and inconsistencies of defining programming languages, computer scientists define formal semantics rules that guide the implementation process. In the case of Python, it lacks a formal implementation as it doesn't have formal semantics that describe the behavior of its complex functionalities. Previous attempts to provide formal implementation for Python didn't fully succeed. Since direct formalization of Python source code is hard, in this project, we define formal semantics rules for Python's Bytecode instead, and embed them in the theorem prover F*. Following that we extract efficient executable OCaml code of our embedding, which could be used to interpret Python Bytecode and to find bugs in other interpreters.</p>

History

Retention period

2099-07-01

Usage metrics

    University of Amsterdam / Amsterdam University of Applied Sciences

    Licence

    Exports

    RefWorks
    BibTeX
    Ref. manager
    Endnote
    DataCite
    NLM
    DC