Maynooth University Logo

Principles of Programming Research Group

Back to Research Groups List
The spines of old books

The Principles of Programming research group at Maynooth University specialises in the static analysis and verification of programs and programming languages. Our work has applications in software reliability, program comprehension and model-driven engineering. We have a strong interest in the formal underpinnings of programming languages, and much of our work has links with formal methods in program design and analysis, such as software specification, refinement, verification and programming language semantics.

Current Group Members
The principal researchers in the group are:
Recent Members:

Recent highlights

For program specification and refinement we use the Event B modelling language and also the Why3 environment. These sit atop a number of theorem-proving tools, but we make most use of the Z3 SMT solver and the Coq proof assistant .

We have also used Maude for algebraic specification and Hets for algebraic specification and modelling. For language and model transformations we use the Rascal Metaprogramming Language , or ATL for rule-based model transformation, and thus EMF for metamodelling and code generation.

We welcome interest from Postdoctoral Researchers and prospective PhD students who wish to collaborate with us on research funding proposals. Funded applications will be advertised via Maynooth University Vacancies

The Maynooth University publication list for Rosemary Monahan is available at: https://www.maynoothuniversity.ie/computer-science/our-people/rosemary-monahan#3 . The Maynooth University publication list for James Power is available at: https://www.maynoothuniversity.ie/computer-science/our-people/james-power#3 .

Current Projects

Alumni: POP graduates
  1. Marie Farrell, Event-B in the Institutional Framework: Defining a Semantics, Modularisation Constructs and Interoperability for a Specification Language, PhD. Thesis, Dept. of Computer Science, Maynooth University, October 2017.
  2. Andrew Healy, Predicting SMT solver performance for software verification, MSc. Thesis, Dept. of Computer Science, Maynooth University, October 2016.
  3. Keith Ó Dúlaigh, A Model Driven Approach for Refactoring Heterogeneous Software Artefacts, MSc. Thesis, Dept. of Computer Science, Maynooth University, February 2016.
  4. Zheng Cheng, Formal Verification of Relational Model Transformations using an Intermediate Verification Language, PhD. Thesis, Dept. of Computer Science, Maynooth University, September 2015.
  5. Jagadeeswaran Thangaraj, Adding Ownership Constraints to OCL to automatically generate Spec# skeletons, MSc. Thesis, Dept. of Computer Science, Maynooth University, August 2015.
  6. Hao Wu, Automated Metamodel Instance Generation Satisfying Quantitative Constraints, PhD. Thesis, Dept. of Computer Science, NUI Maynooth, October, 2013.
  7. Jacqueline A. McQuillan, Using Model Driven Engineering to Reliably Automate the Measurement of Object-Oriented Software, PhD. Thesis, Dept. of Computer Science, NUI Maynooth, March, 2011.
  8. Mark Hennessy, A test-driven development strategy for the construction of grammar-based software, PhD. Thesis, Dept. of Computer Science, NUI Maynooth, October, 2006.
  9. Áine Mitchell, An Empirical Study of Run-Time Coupling and Cohesion Software Metrics, PhD. Thesis, Dept. of Computer Science, NUI Maynooth, October, 2005.
  10. Gareth Carter, Support tools for Object Oriented Software, MSc. Thesis, Dept. of Computer Science, NUI Maynooth, July 2005.