Deriving Abstract Interpreters from Skeletal Semantics

09/13/2023
by   Thomas Jensen, et al.
0

This paper describes a methodology for defining an executable abstract interpreter from a formal description of the semantics of a programming language. Our approach is based on Skeletal Semantics and an abstract interpretation of its semantic meta-language. The correctness of the derived abstract interpretation can be established by compositionality provided that correctness properties of the core language-specific constructs are established. We illustrate the genericness of our method by defining a Value Analysis for a small imperative language based on its skeletal semantics.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
09/25/2018

Skeletal Semantics and their Interpretations

Many meta-languages have been proposed for writing rule-based operationa...
research
04/29/2015

Automating Abstract Interpretation of Abstract Machines

Static program analysis is a valuable tool for any programming language ...
research
02/22/2019

Reducing Total Correctness to Partial Correctness by a Transformation of the Language Semantics

We give a language-parametric solution to the problem of total correctne...
research
07/15/2017

Abstracting Definitional Interpreters

In this functional pearl, we examine the use of definitional interpreter...
research
08/27/2021

A denotational semantics for PROMELA addressing arbitrary jumps

PROMELA (Process Meta Language) is a high-level specification language d...
research
09/11/2022

Formal Semantics of the Kconfig Language

The Kconfig language defines a set of symbols that are assigned a value ...
research
12/14/2022

Verifying term graph optimizations using Isabelle/HOL

Our objective is to formally verify the correctness of the hundreds of e...

Please sign up or login with your details

Forgot password? Click here to reset