Papers
Click on the title of a paper for full details, pdf download and bibtex.
I am always keen to discuss my research and related work, so please feel free to email me about it.
Also, please let me know if any pdf links do not work.
PhD Thesis
Automatic Techniques for Detecting and Exploiting Symmetry in Model Checking
Edited Volumes
Symmetry in Constraint Satisfaction Problems
Proceedings of the 6th International Workshop on Symmetry and Constraint Satisfaction Problems
Proceedings of SymNet Workshop on Almost-Symmetry in Search
Papers published in journals and proceedings of conferences/workshops
2012
GPUVerify: a Verifier for GPU Kernels
SatAbs: A Bit-Precise Verifier for C Programs - (Competition Contribution)
Counterexample-guided Abstraction Refinement for Symmetric Concurrent Programs
2011
Safe Asynchronous Memory Operations
Making Software Verification Tools Really Work
Software Verification Using k-Induction
Automatic Analysis of DMA Races Using Model Checking and k-Induction
Symmetry-Aware Predicate Abstraction for Shared Variable Concurrent Programs
Static Analysis of Device Drivers: We Can Do Better!
SCRATCH: a Tool for Automatic Analysis of DMA Races
Automatic Safety Proofs for Asynchronous Memory Operations
Strengthening Induction-Based Race Checking with Lightweight Static Analysis
2010
Tightening Test Coverage Metrics: a Case Study in Equivalence Checking Using k-Induction
Programming Heterogeneous Multicore Systems using Threading Building Blocks
Type Inference and Strong Static Type Checking for Promela
Replication and Abstraction: Symmetry in Automated Formal Verification
Automatic Analysis of Scratch-pad Memory Code for Heterogeneous Multicore Processors
Automatic Offloading of C++ for the Cell BE Processor: a Case Study Using Offload
Offload - Automating Code Migration to Heterogeneous Multicore Systems
2009
On the Constructive Orbit Problem
Language-level Symmetry Reduction for Probabilistic Model Checking
Towards Metaprogramming for Parallel Systems on a Chip
Deriving Efficient Data Movement From Decoupled Access/Execute Specifications
2008
Automatic Symmetry Detection for Promela
Tackling Online Game Development Problems with a Novel Network Scripting Language
Compile-time and Run-time Issues in an Auto-parallelisation System for the Cell BE Processor
2007
Auto-parallelisation of Sieve C++ Programs
Efficient Approximate Verification of Promela via Symmetry Markers
GRIP: Generic Representatives in PRISM
Extending Symmetry Reduction Techniques to a Realistic Model of Computation
2006
Symmetry in Temporal Logic Model Checking
Symmetry Reduction for Probabilistic Model Checking Using Generic Representatives
Exact and Approximate Strategies for Symmetry Reduction in Model Checking
A Computational Group Theoretic Symmetry Reduction Package for the SPIN Model Checker
2005
ETCH: An Enhanced Type Checking Tool for Promela
Automatic Symmetry Detection for Model Checking Using Computational Group Theory
SPIN-to-GRAPE: A Tool for Analysing Symmetry in Promela Models
Finding Symmetry in Models of Concurrent Systems by Static Channel Diagram Analysis
Papers and extended abstracts appearing in unpublished conference/workshop proceedings
2010
Analysing DMA Races in Multicore Software
2009
Decoupled Access/Execute Specifications for GPGPU-Accelerated Systems
2008
Automating Generation of Data Movement Code for Parallel Architectures with Distributed Memories
Strict and Relaxed Sieving for Multi-Core Programming
2007
Symmetry Reduction Methods for Model Checking
Symmetry Reduction Techniques for Explicit State Model Checking
2006
Evaluating a Formal Methods Technique via Student Assessed Exercises
2005
Pen-based Input of UML Activity Diagrams for Business Process Modelling
Symmetry Reduction for Probabilistic Systems
Automatic Symmetry Detection Techniques for Model Checking
2004
Comparing the Use of Symmetry in Constraint Processing and Model Checking