Compositional Verification of Compiler Optimisations on Relaxed Memory

02/16/2018
by   Mike Dodds, et al.
0

A valid compiler optimisation transforms a block in a program without introducing new observable behaviours to the program as a whole. Deciding which optimisations are valid can be difficult, and depends closely on the semantic model of the programming language. Axiomatic relaxed models, such as C++11, present particular challenges for determining validity, because such models allow subtle effects of a block transformation to be observed by the rest of the program. In this paper we present a denotational theory that captures optimisation validity on an axiomatic model corresponding to a fragment of C++11. Our theory allows verifying an optimisation compositionally, by considering only the block it transforms instead of the whole program. Using this property, we realise the theory in the first push-button tool that can verify real-world optimisations under an axiomatic memory model.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
12/11/2020

Type-Centric Kotlin Compiler Fuzzing: Preserving Test Program Correctness by Preserving Types

Kotlin is a relatively new programming language from JetBrains: its deve...
research
05/27/2023

External Behavior of a Logic Program and Verification of Refactoring

Refactoring is modifying a program without changing its external behavio...
research
03/23/2021

Row-Polymorphic Types for Strategic Rewriting

We present a type system for strategy languages that express program tra...
research
01/07/2019

Different Maps for Different Uses. A Program Transformation for Intermediate Verification Languages

In theorem prover or SMT solver based verification, the program to be ve...
research
08/27/2019

Compositional Verification of Heap-Manipulating Programs through Property-Guided Learning

Analyzing and verifying heap-manipulating programs automatically is chal...
research
02/25/2023

A Bottom-Up Approach to a Unified Semantic Interface for Verified Compositional Compilation

Verified compositional compilation (VCC) is a notion of modular verifica...
research
07/18/2017

On Thin Air Reads: Towards an Event Structures Model of Relaxed Memory

This is the first paper to propose a pure event structures model of rela...

Please sign up or login with your details

Forgot password? Click here to reset