Speaker: Dr. Alastair F. Donaldson from Google
Alastair Donaldson is a Senior Software Engineer in the Android Platform Graphics team at Google, where he leads the GraphicsFuzz project for automated testing of graphics drivers. He also holds a part time position at Imperial College London where he is a Reader (US equivalent: Associate Professor).

Before joining Google Alastair was a full time academic at Imperial College London, where he led research into multi-core programming, and Director of GraphicsFuzz Ltd., an Imperial College spin-out company that Google acquired in 2018. Before that, he was a developer at Codeplay Software Ltd.

He holds a PhD from the University of Glasgow. Alastair has published more than 80 peer-reviewed papers on programming languages, verification and testing, has served on the program committees for international conferences in Programming Languages (such as PLDI and POPL), and was recipient of the 2017 British Computer Society Roger Needham Award.

Title: Metamorphic Testing of Android Graphics Drivers
Abstract: Graphics drivers are hard to build and hard to test, yet their correct operation is critical: a mobile device that is functioning perfectly well with the exception of its display is not very useful! In this talk I will describe our experience building and using GraphicsFuzz, an automated testing tool for graphics drivers based on metamorphic testing.

GraphicsFuzz originated as a research project at Imperial College London, which led to the GraphicsFuzz spin-out company that was acquired by Google in 2018. GraphicsFuzz is now a central line of defence in ensuring the quality of graphics drivers for the Android platform. GraphicsFuzz focuses on finding bugs in shader compilers. GraphicsFuzz automatically finds cases where a shader compiler has generated wrong code by:

  1. starting with an original, high-value shader (e.g. captured from a game);
  2. applying semantics-preserving transformations to this original shader to produce a family of equivalent shaders that should render identical or very similar images to the original shader when executed on the same GPU;
  3. calling out compiler bugs by identifying significant mismatch between images;
  4. homing in on the root causes of bugs by automatically reducing a transformed shader for which a mismatch occurs until the difference between the original and transformed shaders is as small as possible whilst still preserving the mismatch.
As well as providing technical details of how the approach works and showcasing some example bugs found by the technique, I will discuss some of the main open problems and opportunities related to applying metamorphic testing automatically at scale, including how to cope with potential false alarms related to round-off error associated with floating-point computation, how to automatically triage and de-duplicate bug reports, and how to test the metamorphic testing tool itself.


Early registration deadline: Monday 1st April, 2019.
It is now possible to register for the MET2019@ICSE workshop via:
the ICSE conference web page
Be sure to include the MET workshop (i.e. to include "Sun-Mon 2-day workshop registration" or "Sun 1-day workshop registration")

Important Dates

Submission deadline: February 1, 2019
Extended to: February 11, 2019 (AOE)
Notification to authors: March 1, 2019
Camera ready copies due: March 15, 2019