Alastair F. Donaldson

Orcid: 0000-0002-7448-7961

Affiliations:
  • Imperial College London, UK


According to our database1, Alastair F. Donaldson authored at least 125 papers between 2004 and 2023.

Collaborative distances:

Timeline

Legend:

Book 
In proceedings 
Article 
PhD thesis 
Dataset
Other 

Links

Online presence:

On csauthors.net:

Bibliography

2023
Simulating Operational Memory Models Using Off-the-Shelf Program Analysis Tools.
IEEE Trans. Software Eng., December, 2023

Taking Back Control in an Intermediate Representation for GPU Computing.
Proc. ACM Program. Lang., January, 2023

Program Reconditioning: Avoiding Undefined Behaviour When Finding and Reducing Compiler Bugs.
Proc. ACM Program. Lang., 2023

Model Checking Futexes.
Proceedings of the Model Checking Software - 29th International Symposium, 2023

RustSmith: Random Differential Compiler Testing for Rust.
Proceedings of the 32nd ACM SIGSOFT International Symposium on Software Testing and Analysis, 2023

GrayC: Greybox Fuzzing of Compilers and Analysers for C.
Proceedings of the 32nd ACM SIGSOFT International Symposium on Software Testing and Analysis, 2023

Industrial Deployment of Compiler Fuzzing Techniques for Two GPU Shading Languages.
Proceedings of the IEEE Conference on Software Testing, Verification and Validation, 2023

Grammar Mutation for Testing Input Parsers (Registered Report).
Proceedings of the 2nd International Fuzzing Workshop, 2023

MOD2IR: High-Performance Code Generation for a Biophysically Detailed Neuronal Simulation DSL.
Proceedings of the 32nd ACM SIGPLAN International Conference on Compiler Construction, 2023

2022
High-coverage metamorphic testing of concurrency support in C compilers.
Softw. Test. Verification Reliab., 2022

Workshop Summary: 7th International Workshop on Metamorphic Testing (MET 2022).
ACM SIGSOFT Softw. Eng. Notes, 2022

CsmithEdge: more effective compiler testing by handling undefined behaviour less conservatively.
Empir. Softw. Eng., 2022

Combining static analysis error traces with dynamic symbolic execution (experience paper).
Proceedings of the ISSTA '22: 31st ACM SIGSOFT International Symposium on Software Testing and Analysis, Virtual Event, South Korea, July 18, 2022

Metamorphic Fuzzing of C++ Libraries.
Proceedings of the 15th IEEE Conference on Software Testing, Verification and Validation, 2022

2021
Specifying and testing GPU workgroup progress models.
Proc. ACM Program. Lang., 2021

The semantics of shared memory in Intel CPU/FPGA systems.
Proc. ACM Program. Lang., 2021

Test-case reduction and deduplication almost for free with transformation-based compiler testing.
Proceedings of the PLDI '21: 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation, 2021

C4: the C compiler concurrency checker.
Proceedings of the ISSTA '21: 30th ACM SIGSOFT International Symposium on Software Testing and Analysis, 2021

Dreaming up Metamorphic Relations: Experiences from Three Fuzzer Tools.
Proceedings of the 6th IEEE/ACM International Workshop on Metamorphic Testing, 2021

2020
Putting Randomized Compiler Testing into Production (Artifact).
Dagstuhl Artifacts Ser., 2020

A report on the first virtual PLDI conference.
CoRR, 2020

Slow and Steady: Measuring and Tuning Multicore Interference.
Proceedings of the IEEE Real-Time and Embedded Technology and Applications Symposium, 2020

Closer to the Edge: Testing Compilers More Thoroughly by Being Less Conservative About Undefined Behaviour.
Proceedings of the 35th IEEE/ACM International Conference on Automated Software Engineering, 2020

Test-Case Reduction via Test-Case Generation: Insights from the Hypothesis Reducer (Tool Insights Paper).
Proceedings of the 34th European Conference on Object-Oriented Programming, 2020

Putting Randomized Compiler Testing into Production (Experience Report).
Proceedings of the 34th European Conference on Object-Oriented Programming, 2020

2019
The Next 7000 Programming Languages.
Proceedings of the Computing and Software Science - State of the Art and Perspectives, 2019

Compiler fuzzing: how much does it matter?
Proc. ACM Program. Lang., 2019

A Systematic Impact Study for Fuzzer-Found Compiler Bugs.
CoRR, 2019

Just fuzz it: solving floating-point constraints using coverage-guided fuzzing.
Proceedings of the ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, 2019

Sparse record and replay with controlled scheduling.
Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation, 2019

Performance Evaluation of OpenCL Standard Support (and Beyond).
Proceedings of the International Workshop on OpenCL, 2019

One Size Doesn't Fit All: Quantifying Performance Portability of Graph Applications on GPUs.
Proceedings of the IEEE International Symposium on Workload Characterization, 2019

Metamorphic testing of Android graphics drivers.
Proceedings of the 4th International Workshop on Metamorphic Testing, 2019

2018
Implementing and Evaluating Candidate-Based Invariant Generation.
IEEE Trans. Software Eng., 2018

Do Your Cores Play Nicely? A Portable Framework for Multi-core Interference Tuning and Analysis.
CoRR, 2018

GPU Schedulers: How Fair Is Fair Enough?.
Proceedings of the 29th International Conference on Concurrency Theory, 2018

2017
Certified Roundoff Error Bounds Using Semidefinite Programming.
ACM Trans. Math. Softw., 2017

Termination analysis for GPU kernels.
Sci. Comput. Program., 2017

Automated testing of graphics shader compilers.
Proc. ACM Program. Lang., 2017

Analysis and Synthesis of Floating-point Programs (Dagstuhl Seminar 17352).
Dagstuhl Reports, 2017

Testing and Verification of Compilers (Dagstuhl Seminar 17502).
Dagstuhl Reports, 2017

Cooperative Kernels: GPU Multitasking for Blocking Algorithms (Extended Version).
CoRR, 2017

Cooperative kernels: GPU multitasking for blocking algorithms.
Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering, 2017

Dynamic race detection for C++11.
Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming Languages, 2017

Floating-point symbolic execution: a case study in n-version programming.
Proceedings of the 32nd IEEE/ACM International Conference on Automated Software Engineering, 2017

Forward Progress on GPU Concurrency (Invited Talk).
Proceedings of the 28th International Conference on Concurrency Theory, 2017

2016
Concurrency Testing Using Controlled Schedulers: An Empirical Study.
ACM Trans. Parallel Comput., 2016

Overhauling SC atomics in C11 and OpenCL.
Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, 2016

Exposing errors related to weak memory in GPU applications.
Proceedings of the 37th ACM SIGPLAN Conference on Programming Language Design and Implementation, 2016

Portable inter-workgroup barrier synchronisation for GPUs.
Proceedings of the 2016 ACM SIGPLAN International Conference on Object-Oriented Programming, 2016

The Hitchhiker's Guide to Cross-Platform OpenCL Application Development.
Proceedings of the 4th International Workshop on OpenCL, 2016

Automatic Test Case Reduction for OpenCL.
Proceedings of the 4th International Workshop on OpenCL, 2016

Symbooglix: A Symbolic Execution Engine for Boogie Programs.
Proceedings of the 2016 IEEE International Conference on Software Testing, 2016

Metamorphic testing for (graphics) compilers.
Proceedings of the 1st International Workshop on Metamorphic Testing, 2016

Analysing the program analyser.
Proceedings of the 38th International Conference on Software Engineering, 2016

Uncovering Bugs in Distributed Storage Systems during Testing (Not in Production!).
Proceedings of the 14th USENIX Conference on File and Storage Technologies, 2016

2015
The Design and Implementation of a Verification Technique for GPU Kernels.
ACM Trans. Program. Lang. Syst., 2015

Selected papers on Programming Language Approaches to Concurrency and Communication-cEntric Software (PLACES 2014).
J. Log. Algebraic Methods Program., 2015

Integrating a large-scale testing campaign in the CK framework.
CoRR, 2015

The lazy happens-before relation: better partial-order reduction for systematic concurrency testing.
Proceedings of the 20th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, 2015

Many-core compiler fuzzing.
Proceedings of the 36th ACM SIGPLAN Conference on Programming Language Design and Implementation, 2015

Asynchronous programming, analysis and testing with state machines.
Proceedings of the 36th ACM SIGPLAN Conference on Programming Language Design and Implementation, 2015

Remote-scope promotion: clarified, rectified, and verified.
Proceedings of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, 2015

Fast and Precise Symbolic Analysis of Concurrency Bugs in Device Drivers (T).
Proceedings of the 30th IEEE/ACM International Conference on Automated Software Engineering, 2015

GPU Concurrency: Weak Behaviours and Programming Assumptions.
Proceedings of the Twentieth International Conference on Architectural Support for Programming Languages and Operating Systems, 2015

PENCIL: A Platform-Neutral Compute Intermediate Language for Accelerator Programming.
Proceedings of the 2015 International Conference on Parallel Architectures and Compilation, 2015

2014
Automatic verification of active device drivers.
ACM SIGOPS Oper. Syst. Rev., 2014

The GPUVerify Method: a Tutorial Overview.
Electron. Commun. Eur. Assoc. Softw. Sci. Technol., 2014

Concurrency testing using schedule bounding: an empirical study.
Proceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, 2014

A sound and complete abstraction for reasoning about parallel prefix sums.
Proceedings of the 41st Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, 2014

Warps and Atomics: Beyond Barrier Synchronization in the Verification of GPU Kernels.
Proceedings of the NASA Formal Methods - 6th International Symposium, NFM 2014, Houston, TX, USA, April 29, 2014

KernelInterceptor: automating GPU kernel verification by intercepting kernels and their parameters.
Proceedings of the International Workshop on OpenCL, 2014

Automatic Verification of Data Race Freedom in Device Drivers.
Proceedings of the 2014 Imperial College Computing Student Workshop, 2014

Engineering a Static Verification Tool for GPU Kernels.
Proceedings of the Computer Aided Verification - 26th International Conference, 2014

Software Model Checking.
Proceedings of the Computing Handbook, 2014

2013
Correct and Efficient Accelerator Programming (Dagstuhl Seminar 13142).
Dagstuhl Reports, 2013

PENCIL: Towards a Platform-Neutral Compute Intermediate Language for DSLs
CoRR, 2013

Barrier invariants: a shared state abstraction for the analysis of data-dependent GPU kernels.
Proceedings of the 2013 ACM SIGPLAN International Conference on Object Oriented Programming Systems Languages & Applications, 2013

Topic 11: Multicore and Manycore Programming - (Introduction).
Proceedings of the Euro-Par 2013 Parallel Processing, 2013

Interleaving and Lock-Step Semantics for Analysis and Verification of GPU Kernels.
Proceedings of the Programming Languages and Systems, 2013

Estimating the WCET of GPU-Accelerated Applications Using Hybrid Analysis.
Proceedings of the 25th Euromicro Conference on Real-Time Systems, 2013

2012
Counterexample-guided abstraction refinement for symmetric concurrent programs.
Formal Methods Syst. Des., 2012

Automatic Verification of Message-Based Device Drivers
Proceedings of the Proceedings Seventh Conference on Systems Software Verification, 2012

satabs: A Bit-Precise Verifier for C Programs - (Competition Contribution).
Proceedings of the Tools and Algorithms for the Construction and Analysis of Systems, 2012

GPUVerify: a verifier for GPU kernels.
Proceedings of the 27th Annual ACM SIGPLAN Conference on Object-Oriented Programming, 2012

2011
Automatic analysis of DMA races using model checking and <i>k</i>-induction.
Formal Methods Syst. Des., 2011

Symmetry-Aware Predicate Abstraction for Shared-Variable Concurrent Programs (Extended Technical Report)
CoRR, 2011

Strengthening Induction-Based Race Checking with Lightweight Static Analysis.
Proceedings of the Verification, Model Checking, and Abstract Interpretation, 2011

Software Verification Using k-Induction.
Proceedings of the Static Analysis - 18th International Symposium, 2011

SCRATCH: a tool for automatic analysis of dma races.
Proceedings of the 16th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, 2011

Automatic safety proofs for asynchronous memory operations.
Proceedings of the 16th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, 2011

The impact of diverse memory architectures on multicore consumer software: an industrial perspective from the video games domain.
Proceedings of the 2011 ACM SIGPLAN workshop on Memory Systems Performance and Correctness: held in conjunction with PLDI '11, 2011

Safe asynchronous multicore memory operations.
Proceedings of the 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011), 2011

Symmetry-Aware Predicate Abstraction for Shared-Variable Concurrent Programs.
Proceedings of the Computer Aided Verification - 23rd International Conference, 2011

Making Software Verification Tools Really Work.
Proceedings of the Automated Technology for Verification and Analysis, 2011

Static analysis of device drivers: we can do better!
Proceedings of the APSys '11 Asia Pacific Workshop on Systems, 2011

2010
Replication and Abstraction: Symmetry in Automated Formal Verification.
Symmetry, 2010

Type inference and strong static type checking for Promela.
Sci. Comput. Program., 2010

Automatic Analysis of Scratch-Pad Memory Code for Heterogeneous Multicore Processors.
Proceedings of the Tools and Algorithms for the Construction and Analysis of Systems, 2010

Offload - Automating Code Migration to Heterogeneous Multicore Systems.
Proceedings of the High Performance Embedded Architectures and Compilers, 2010

Tightening Test Coverage Metrics: A Case Study in Equivalence Checking Using k-Induction.
Proceedings of the Formal Methods for Components and Objects - 9th International Symposium, 2010

Programming Heterogeneous Multicore Systems Using Threading Building Blocks.
Proceedings of the Euro-Par 2010 Parallel Processing Workshops, 2010

Automatic Offloading of C++ for the Cell BE Processor: A Case Study Using Offload.
Proceedings of the CISIS 2010, 2010

2009
On the constructive orbit problem.
Ann. Math. Artif. Intell., 2009

Language-Level Symmetry Reduction for Probabilistic Model Checking.
Proceedings of the QEST 2009, 2009

Deriving Efficient Data Movement from Decoupled Access/Execute Specifications.
Proceedings of the High Performance Embedded Architectures and Compilers, 2009

Towards Metaprogramming for Parallel Systems on a Chip.
Proceedings of the Euro-Par 2009, 2009

2008
Automatic Symmetry Detection for Promela.
J. Autom. Reason., 2008

Vector Symmetry Reduction.
Proceedings of the Eighth International Workshop on Automated Verification of Critical Systems, 2008

Tackling online game development problems with a novel network scripting language.
Proceedings of the 7th ACM SIGCOMM Workshop on Network and System Support for Games, 2008

Compile-Time and Run-Time Issues in an Auto-Parallelisation System for the Cell BE Processor.
Proceedings of the Euro-Par 2008 Workshops, 2008

2007
Automatic techniques for detecting and exploiting symmetry in model checking.
PhD thesis, 2007

A template-based approach for the generation of abstractable and reducible models of featured networks.
Comput. Networks, 2007

GRIP: Generic Representatives in PRISM.
Proceedings of the Fourth International Conference on the Quantitative Evaluaiton of Systems (QEST 2007), 2007

Auto-parallelisation of Sieve C++ Programs.
Proceedings of the Euro-Par 2007 Workshops: Parallel Processing, 2007

Efficient Approximate Verification of Promela Models Via Symmetry Markers.
Proceedings of the Automated Technology for Verification and Analysis, 2007

2006
Extending Symmetry Reduction Techniques to a Realistic Model of Computation.
Proceedings of the 6th International Workshop on Automated Verification of Critical Systems, 2006

Symmetry in temporal logic model checking.
ACM Comput. Surv., 2006

Exact and Approximate Strategies for Symmetry Reduction in Model Checking.
Proceedings of the FM 2006: Formal Methods, 2006

Symmetry Reduction for Probabilistic Model Checking Using Generic Representatives.
Proceedings of the Automated Technology for Verification and Analysis, 2006

A Computational Group Theoretic Symmetry Reduction Package for the Spin Model Checker.
Proceedings of the Algebraic Methodology and Software Technology, 2006

2005
Etch: An Enhanced Type Checking Tool for Promela.
Proceedings of the Model Checking Software, 2005

Automatic Symmetry Detection for Model Checking Using Computational Group Theory.
Proceedings of the FM 2005: Formal Methods, 2005

2004
Spin-to-Grape: A Tool for Analysing Symmetry in Promela Models.
Proceedings of the 6th AMAST Workshop on Real-Time Systems, 2004

Finding Symmetry in Models of Concurrent Systems by Static Channel Diagram Analysis.
Proceedings of the Fouth International Workshop on Automated Verification of Critical Systems, 2004


  Loading...