Mon 15 Jul 2019 16:30 - 16:45 at Epernay - Session Three

MiniJava is a subset of the object-oriented programming language Java. Standard ML is the canonical representative of the ML family of functional programming languages, which includes F# and OCaml. Different program analysis and verification tools and techniques have been developed for both Java-like and ML-like languages. Naturally, the tools developed for a particular language emphasise accurate treatment of language features commonly used in that language. In Java, this means objects with mutable properties and dynamic method dispatch. In ML, this means higher order functions and algebraic datatypes with pattern matching.

We propose to translate programs from one language into the other and use the target language’s tools for analysis and verification. By doing so, we hope to identify areas for improvement in the target language’s tools and suggest techniques, perhaps as used in the source language’s tools, that may guide their improvement. More generally, we hope to develop tools for reasoning about programs that are more resilient to changes in the style of code and representation of data. We begin our programme by outlining a translation from MiniJava to ML that uses only the core features of ML; in particular, it avoids the use of ML’s mutable references.

I received my undergraduate degree in Computer Science from the University of Cambridge. I completed a master’s degree, doctorate and postdoc at the University of Oxford. My thesis was on information flow and metaprogramming, considering specifically the eval construct as found in JavaScript. Since September 2018, I have been a lecturer at the University of Reading.

Mon 15 Jul

Displayed time zone: Belfast change

15:30 - 17:00
Session ThreeFTfJP at Epernay
15:30
30m
Full-paper
Towards Deductive Verification of C11 Programs with Event-B and ProB
FTfJP
Sadegh Dalvandi University of Surrey, Brijesh Dongol University of Surrey
16:00
30m
Full-paper
Specifying I/O using Abstract Nested Hoare Triples in Separation Logic
FTfJP
Willem Penninckx KU Leuven, Amin Timany imec-Distrinet KU-Leuven, Bart Jacobs KU Leuven
16:30
15m
Short-paper
Analysis of MiniJava Programs via Translation to ML
FTfJP
Martin Lester University of Reading
16:45
15m
Short-paper
Translating Classes to First-Order Logic: An Example
FTfJP