An Executable Structural Operational Formal Semantics for Python

09/07/2021
by   Maximilian A. Köhl, et al.
0

Python is a popular high-level general-purpose programming language also heavily used by the scientific community. It supports a variety of different programming paradigms and is preferred by many for its ease of use. With the vision of harvesting static analysis techniques like abstract interpretation for Python, we develop a formal semantics for Python. A formal semantics is an important cornerstone for any sound static analysis technique. We base our efforts on the general framework of structural operational semantics yielding a small-step semantics in principle allowing for concurrency and interaction with an environment. The main contributions of this thesis are twofold: first, we develop a meta-theoretic framework for the formalization of structural operational semantics in tandem with the necessary tool support for the automated derivation of interpreters from such formal semantics, and, second, we validate the suitability of this approach for the formalization of modern programming languages developing a semantics for Python.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
05/26/2023

Meta-MeTTa: an operational semantics for MeTTa

We present an operational semantics for the language MeTTa....
research
08/04/2021

Reasoning about Iteration and Recursion Uniformly based on Big-step Semantics

A reliable technique for deductive program verification should be proven...
research
10/31/2011

On the Formal Semantics of Speech-Act Based Communication in an Agent-Oriented Programming Language

Research on agent communication languages has typically taken the speech...
research
09/13/2023

The Way We Were: Structural Operational Semantics Research in Perspective

This position paper on the (meta-)theory of Structural Operational Seman...
research
11/03/2020

Towards Conceptual Modeling Semantics: Eventizing Tarski's Truth Schema

Modeling languages in software engineering (e.g., UML) evolved from soft...
research
02/24/2022

Scalpel: The Python Static Analysis Framework

Despite being the most popular programming language, Python has not yet ...
research
05/12/2018

π: Towards a Simple Formal Semantic Framework for Compiler Construction

This paper proposes π, a formal semantic framework for compiler construc...

Please sign up or login with your details

Forgot password? Click here to reset