Alastair F. Donaldson (Ally) is a Professor in the Department of Computing at Imperial College London, where he leads the Multicore Programming Group. He was also Founder and Director of GraphicsFuzz, which was acquired by Google in 2018. As a result he is also a Software Engineer in the Android Graphics Team at Google. Read more.

Latest News

  • Tool demonstration at ISSTA (July 2021)

    I’m excited that Matt Windsor will be giving a demonstration today of C4, the C Compiler Concurrency Checker, at ISSTA 2021. Check out our tool demonstartion paper on C4.

    3 months ago
  • Two papers at OOPSLA (July 2021)

    We have had two papers conditionally accepted at OOPSLA 2021, which I’m very much hoping to be able to attend in person in October.

    “The semantics of shared memory in Intel CPU/FPGA systems” was led by PhD student Dan Iorga, and is a collaboration with John Wickerson, Tyler Sorensen and myself. In this paper we study the memory model of a recent combined CPU/FPGA system from Intel, presenting operational and axoimatic versions of the memory model, and show how formal specification and tools can be used to reason about and generate litmus tests. Check out John’s blog post about the paper!

    “Specifying and testing GPU workgroup progress models” was led by Tyler Sorensen, and is a collaboration with former Princeton undergraduates Lucas Salvador and Harmit Raval, Hugues Evrard at Google, myself and John Wickerson at Imperial, and Margaret Martonosi at Princeton. Rather like the CPU/FPGA paper, we also apply formal specification and tooling, but this time to the domain of GPU execution models, allowing a variety of GPU schedulers to be described at a high level of abstraction using process algebra, using model checking to determine whether particular execution model litmus tests are guaranteed to terminate with respect to a given progress model, and using the Alloy tool to synthesise execution model conformance tests.

    Drafts available after we make changes requested by the reviewers.

    3 months ago
  • PLDI 2021 song (May 2021)

    Check out this song, “Pure Implementation”, based on the music of “Pure Imagination” but with new lyrics by John Wickerson, arrangements and production by me, and contributions from many members of the PL community, to help promote the upcoming PLDI 2021 conference:

    5 months ago
  • Welcoming Vasileios Klimis (April 2021)

    I’m delighted that Vasileios Klimis has joined us as a Postdoctoral Research Associate, to work with John Wickerson and myself as part of the IRIS Programme Grant. Welcome Vasileios!

    6 months ago
  • Paper on transformation-based compiler testing and spirv-fuzz accepted at PLDI (April 2021)

    I’m really happy that our paper, “Test-Case Reduction and Deduplication Almost for Free with Transformation-Based Compiler Testing”, has been accepted at PLDI 2021! Check out the paper; check out the artifact.

    This paper shows that transformation-based compiler testing - a kind of metamorphic testing that involves applying semantics-preserving transformations to an initial program to obtain an equivalent program that should yield the same result when executed - can be designed in a manner that yields a form of test case reduction and a heuristic for bug de-duplication automatically. We devised this take on transformation-based testing when building the spirv-fuzz compiler testing tool, for the SPIR-V programming model, one of the main open source projects I contributed to while at Google.

    This is joint work with Paul Thomson at Google (former Multicore group member), and with Vasyl Teliman and André Perez Maselco, who did Google Summer of Code with us during 2020, and Stefano Milizia and Antoni Karpiński, who did internships in our team at Google during 2020.

    6 months ago
  • Best Paper at MET workshop (April 2021)

    We were delighted to hear that our paper, “Dreaming Up Metamorphic Relations: Experiences from Three Fuzzer Tools”, was selected as Best Paper at the upcoming MET workshop on Metamorphic Testing. Check out the paper, which is joint work with Andrei Lascu, Matt Windsor, Tobias Grosser, John Wickerson and myself.

    6 months ago
  • Back in academia (February 2021)

    After a thrilling 2.5 years being mainly an industrialist, with a part time position in academia, I’m excited to have returned full time to my Professor position at Imperial College London!

    8 months ago

View all news »

Latest Publications

  • C4: The C Compiler Concurrency Checker

    Matt Windsor, Alastair F. Donaldson, John Wickerson

    Proceedings of the 30th ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA'21)

  • Test-Case Reduction and Deduplication Almost for Free with Transformation-Based Compiler Testing

    Alastair F. Donaldson, Paul Thomson, Vasyl Teliman, Stefano Milizia, André Perez Maselco, Antoni Karpiński

    42nd Annual ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI'21)

  • Dreaming up Metamorphic Relations: Experiences from Three Fuzzer Tools

    Andrei Lascu, Matt Windsor, Alastair F. Donaldson, Tobias Grosser, John Wickerson

    6th International Workshop on Metamorphic Testing, in concunction with the 43rd International Conference on Software Engineering

  • The Semantics of Shared Memory in Intel CPU/FPGA Systems

    Dan Iorga, Alastair F. Donaldson, Tyler Sorensen, John Wickerson

    Proceedings of the ACM Programming Languages

  • Specifying and Testing GPU Workgroup Progress Models

    Tyler Sorensen, Lucas F. Salvador, Harmit Raval, Hugues Evrard, Margaret Martonosi, Alastair F. Donaldson.

    Proceedings of the ACM Programming Languages

View all publications »