Mark Utting
47 papers 18 citations h-index 2 1992–2025
TypeScript's Evolution: An Analysis of Feature Adoption Over Time
TypeScript is a quickly evolving superset of JavaScript with active development of new features. Our paper seeks to understand how quickly these features are adopted by the developer community....
Verifying term graph optimizations using Isabelle/HOL
Our objective is to formally verify the correctness of the hundreds of expression optimization rules used within the GraalVM compiler. When defining the semantics of a programming language,...
Differential Testing of a Verification Framework for Compiler Optimizations (Experience Paper)
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...
A Formal Semantics of the GraalVM Intermediate Representation
The optimization phase of a compiler is responsible for transforming an intermediate representation (IR) of a program into a more efficient form. Modern optimizers, such as that used in the...
Verification of a Smart Contract for a Simple Casino
We describe the verification of an existing smart contract for a simple casino application, using the Whiley specification and programming language, with a fully automated verification engine...