Differential Testing of a Verification Framework for Compiler Optimizations (Experience Paper)

12/04/2022
by   Mark Utting, et al.
0

We want to verify the correctness of optimization phases in the GraalVM compiler, which consist of many thousands of lines of complex Java code performing sophisticated graph transformations. We have built high-level models of the data structures and operations of the code using the Isabelle/HOL theorem prover, and can formally verify the correctness of those high-level operations. But the remaining challenge is: how can we be sure that those high-level operations accurately reflect what the Java is doing? This paper addresses that issue by applying several different kinds of differential testing to validate that the formal model and the Java code have the same semantics. Many of these validation techniques should be applicable to other projects that are building formal models of real-world code.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
06/28/2019

Pinpointing Performance Inefficiencies in Java

Many performance inefficiencies such as inappropriate choice of algorith...
research
08/23/2019

Contract-based verification of a realistic quantum compiler

In this paper, we present CertiQ, a mostly-automated verification framew...
research
03/01/2022

Specialized Accelerators and Compiler Flows: Replacing Accelerator APIs with a Formal Software/Hardware Interface

Specialized accelerators are increasingly used to meet the power-perform...
research
09/10/2018

A case study in formal verification of a Java program

We describe a successful attempt to formally verify a simple genetic alg...
research
12/09/2018

Practical Optional Types for Clojure

Typed Clojure is an optional type system for Clojure, a dynamic language...
research
11/16/2021

Is CADP an Applicable Formal Method?

CADP is a comprehensive toolbox implementing results of concurrency theo...
research
03/07/2023

Certified Compilation of Choreographies with hacc

Programming communicating processes is challenging, because it requires ...

Please sign up or login with your details

Forgot password? Click here to reset