I hold BSc and MSc degrees from UCD and a PhD from DCU and have been a Computer Science Lecturer at NUIM since 1999. My research is concerned with the development of reliable software systems.
Together with my colleague Dr James Power,I have established the Principles of Programming (POP)
research group at NUIM. The POP group specialise in the static and dynamic analysis of object-oriented programs and programming languages. My main research interest lies here, and more specifically in program verification. As a member of this group, I supervise PhD and MSc students and teach courses relating to Software Verification. The group currently has 4 active PhD students whose research covers topics in software specification, program verification, metamodelling and software language engineering. This research is funded via SFI, EI, Ulysses and NUIM funding. I am the Programme Director for the Erasmus Mundus MSc in Dependable Software Systems (DESEM) (funded from 2012-18), the MSc in Computer Science and the Postgraduate Diploma in Computer Science.
Current research includes collaborations on the Spec# Programming System with the Research in Software Engineering (RiSE) group at Microsoft Research, Redmond, and on Event B with MOSEL Research Group, LORIA. My research on the automatic verification of software correctness currently focuses on “Arís: Analogical Reasoning for reuse of Implementation and Specification”. This collaboration with Dr Diarmuid O’Donoghue, applies models of analogical reasoning to the domain of reliable software development and re-use.
Previous collaborations include work on verifying safety critical properties of PLC’s with TramPower UK and on the verification of SparkAda programs via intermediate representations. Through participating and judging program verification competitions, I also have an intimate knowledge of current state-of-the-art verification tools and am extremely aware of the existing tools strengths and weaknesses.
In 2010, I graduated with my PhD from the School of Computing,Dublin City University. The topic of my dissertation was "Data Refinement in Object-Oriented Verification"
In 2007, I visited Microsoft Research, Redmond labs, where I worked with the Spec# team on the automatic verification of textbook programs using Spec#. Details of this research and some sample programs in Spec# are available here.
Research for my MSc on "Deduction Based Transformational Programming", involved the study of algebraic specifications and their implementation using the method of transformational programming. The design and implementation of a tool to support this program construction was required. This work is based on the theorem prover Isabelle.
During the course of this research I spent three months at the Technical University of Munich working in Professor Broy’s school where I presented my work to members of the school. In August 1996 I obtained a scholarship to attend a Summer School in Mathematical Methods of Program Development in Marktoberdorf , Germany.