Fri 17 Jun 2022 15:30 - 15:50 at Toucan - Testing & Synthesis Chair(s): Caroline Lemieux
Sat 18 Jun 2022 03:30 - 03:50 at Toucan - Testing & Synthesis

Modern language implementations using Virtual Machines feature diverse execution engines such as byte-code interpreters and machine-code dynamic translators, a.k.a. JIT compilers. Validating such engines requires not only validating each in isolation, but also that they are functionally equivalent. Tests should be duplicated for each execution engine exercising the same execution paths on each of them.

In this paper we present a novel automated testing approach for virtual machines featuring byte-code interpreters. Our solution uses concolic meta-interpretation: it applies concolic testing to a byte-code interpreter to explore all possible execution interpreter paths and obtain a list of concrete values that explore such paths. We then use such values to apply differential testing on the VM interpreter and JIT compiler. This solution is based on two insights: (1) both the interpreter and compiler implement the same language semantics and (2) interpreters are simple executable specifications of those semantics and thus promising targets to (meta-)~interpretation using concolic testing. We validated it on 4 different compilers of the open-source Pharo Virtual Machine and found 468 differences between them, produced by 91 different causes, organized in 6 different categories.

Fri 17 Jun

Displayed time zone: Pacific Time (US & Canada) change

15:30 - 16:50
Testing & SynthesisPLDI at Toucan +12h
Chair(s): Caroline Lemieux University of British Columbia
15:30
20m
Talk
Interpreter-guided Differential JIT Compiler Unit Testingvirtual
PLDI
Guillermo Polito Univ. Lille, CNRS, Inria, Centrale Lille, UMR 9189 CRIStAL, Pharo Consortium, Stéphane Ducasse Inria, Pablo Tesone Univ. Lille, Inria, CNRS, Centrale Lille, UMR 9189 CRIStAL, Pharo Consortium
DOI
15:50
20m
Talk
Landmarks and Regions: A Robust Approach to Data Extractionvirtual
PLDI
Suresh Parthasarathy Microsoft Research, Lincy Pattanaik Microsoft Research, Anirudh Khatry Microsoft Research, Arun Iyer Microsoft Research, Arjun Radhakrishna Microsoft, Sriram Rajamani Microsoft Research, Mohammad Raza Microsoft
DOI
16:10
20m
Talk
Odin: On-Demand Instrumentation with On-the-Fly Recompilationvirtual
PLDI
Mingzhe Wang Tsinghua University, Jie Liang Tsinghua University, Chijin Zhou Tsinghua University, Zhiyong Wu Tsinghua University, Xinyi Xu Tsinghua University, Yu Jiang Tsinghua University
DOI
16:30
20m
Talk
Quickstrom: Property-based acceptance testing with LTL specificationsvirtual
PLDI
Liam O'Connor University of Edinburgh, Oskar Wickström Monoid Consulting
DOI

Sat 18 Jun

Displayed time zone: Pacific Time (US & Canada) change

03:30 - 04:50
Testing & SynthesisPLDI at Toucan
03:30
20m
Talk
Interpreter-guided Differential JIT Compiler Unit Testingvirtual
PLDI
Guillermo Polito Univ. Lille, CNRS, Inria, Centrale Lille, UMR 9189 CRIStAL, Pharo Consortium, Stéphane Ducasse Inria, Pablo Tesone Univ. Lille, Inria, CNRS, Centrale Lille, UMR 9189 CRIStAL, Pharo Consortium
DOI
03:50
20m
Talk
Landmarks and Regions: A Robust Approach to Data Extractionvirtual
PLDI
Suresh Parthasarathy Microsoft Research, Lincy Pattanaik Microsoft Research, Anirudh Khatry Microsoft Research, Arun Iyer Microsoft Research, Arjun Radhakrishna Microsoft, Sriram Rajamani Microsoft Research, Mohammad Raza Microsoft
DOI
04:10
20m
Talk
Odin: On-Demand Instrumentation with On-the-Fly Recompilationvirtual
PLDI
Mingzhe Wang Tsinghua University, Jie Liang Tsinghua University, Chijin Zhou Tsinghua University, Zhiyong Wu Tsinghua University, Xinyi Xu Tsinghua University, Yu Jiang Tsinghua University
DOI
04:30
20m
Talk
Quickstrom: Property-based acceptance testing with LTL specificationsvirtual
PLDI
Liam O'Connor University of Edinburgh, Oskar Wickström Monoid Consulting
DOI