Research

Research Outline

I am interested in automated techniques for helping developers to write reliable software that runs efficiently on modern hardware.

Formal verification techniques for multicore software. I am especially interested in lightweight, automatic formal verification techniques, capable of operating directly on source code, that can be implemented as efficient tools to be used in day-to-day software development.

My current research in this area is on static data-race analysis for multicore programs, based on:

Other verification-related interests include predicate abstraction for concurrent programs, and symmetry reduction techniques for model checking.

Software performance optimization for multicore processors. To take advantage of modern multicore processors, we need suitable abstractions to allow programmers to write high-level, portable programs, from which efficient parallel code can be generated. I got interested in this area while working as a Research Engineer at Codeplay Software Ltd., and continue to collaborate with Codeplay on this topic, as well as with the group of Prof. Paul Kelly at Imperial College London.

Selected Papers

List of all my papers.

Tools