About Me

I am an associate professor at the School of Computing at Dublin City University, Dublin, Ireland.

I joined DCU at the start of 1998. Previously, I was a lecturer in the School of Computing and Mathematics at Keele University in England. I did my Ph.D. in the Department of Computing Science and Mathematics at the University of Stirling in Scotland.


Here’s my contact information.

Teaching and Learning

I teach the following modules:

The resources for these courses can be found on Loop.


My early research work was in the areas of program analysis and program transformation. This included the first extension of the deforestation algorithm to higher-order languages. Similar techniques were then used in an extension of the positive supercompilation algorithm to higher-order languages. A new transformation algorithm called the distillation algorithm was then built on top of positive supercompilation. This is a major advance over previous approaches, and gives orders of magnitude improvement in both the time and space usage of the transformed programs over what can be achieved using deforestation or positive supercompilation. A hierarchy of program transformers was then developed, where the transformer at each level is built on top of those at lower levels, and more powerful transformations are obtained as we move up through this hierarchy. It turns out that these transformers can be applied in many different areas:

  • Theorem Proving

  • Automatic Program Construction

  • Program Verification

  • Program Improvement

  • Program Termination Checking

  • Program Parallelisation

  • Program Complexity Analysis

  • Energy Efficient Computing

Project Ideas

Here are some project ideas for undergraduate projects and M.Sc. practicums.