Graham Njal Cameron Kirby


  • KY16 9SS

    United Kingdom

Accepting Postgraduate Research Students

PhD projects

Distributed systems; record linkage; historical records; population reconstruction; synthetic data generation

Personal profile

Profile Keywords

Distributed systems; record linkage; historical records; population reconstruction; synthetic data generation


I've worked in Computer Science at St Andrews since 1991, initially as a research assistant, and then lecturing since 1999. Within the School I've been Adviser of Studies, Admissions Officer and Director of Teaching. At Faculty level I held the roles of Pro Dean Advising and then Associate Dean Students from 2016-22, and jointly the role of Acting Dean of Science for six months in 2019.

Teaching activity

In 2023-24 I'm teaching on CS1002 and CS5033.

For current students: here are some project proposals for Honours projects in 2024-25.

Here are some Honours projects that I’ve supervised previously:

  • literate programming in Java (Amy Boyce, 2024)
  • steganographic messaging (Calum Naughton, 2024)
  • code defactoring tool (Anna Peddie, 2023)
  • marine VHF radio simulator (James Topley, 2023)
  • terrain-sensitive routing (Will Evans, 2023)
  • forward planning tool for advising (Sahl Blakey, 2023)
  • Napier88 to Java compiler (Jodie Love, 2018)
  • S-algol to Javascript compiler (William Trend, 2016)
  • exam typesetting tool (Jamie Maclean, 2016)
  • adaptable curriculum analysis (Ryan Hamilton, 2016)
  • lightweight threads and asynchronous I/O (Hamish Morrison, 2015)
  • uncertainty in linked data (Tom Dalton, 2015)
  • FUSE diagnostic tool (Matthew Dooler, 2014)
  • understanding thread interactions (Ivan King, 2014)
  • race performance analyser (Chukwudi Anyiam-Osigwe, 2013)
  • arbitrary-precision Mandelbrot viewer (Paul Cox, 2012)
  • policy-driven distributed file synchronisation (Lewis Headden, 2012)
  • XML schema generation from examples (Robert Tomsick, 2010)
  • apache configuration editor (Owen Rudge, 2009)
  • online course planning tool (Ashley Sole, 2008)

And Masters dissertations:

  • a programming game in Python (Chunyuan Peng, 2023)
  • steganographic messaging (Punit Jain, 2023)
  • visualisation of uncertain genealogical structures, jointly supervised with Miguel Nacenta (James Williamson, 2017)
  • an email client supporting causality analysis and disclosure control (Raghubir Singh, 2016)
  • athletics performance analytics tool (Yiming Ren, 2016)
  • a database using plain text files (Iswariya Raghu, 2016)
  • module delivery system (Sunaiyana Thakuria, 2014)
  • second-hand business-to-business e-market solutions (Antoine Casanova, 2013)
  • a web-only content management system (Georgios Chrysafidis, 2013)

Research overview

I'm involved in the ESRC-funded Digitising Scotland project, which aims to construct a linked genealogy of Scottish historical records, with Chris DibbenLee Williamson and Zhiqiang Feng at Edinburgh, and Alan Dearle and Özgür Akgün in Computer Science at St Andrews. This work also includes Eilidh Garrett and Alice Reid at Cambridge, and Peter Christen at ANU.

I previously led a work package on linkage methodology within the ESRC-funded Administrative Data Research Centre - Scotland, with Alan DearleÖzgür AkgünPeter Christen and Alasdair Gray at Heriot-Watt.

I'm also interested in distributed systems and programming languages in general.

Previous PhD Students

Second Supervisor

Previous Projects

  • H2O: autonomic resource-harvesting database
  • ASA: secure location-independent autonomic storage architectures
  • RAFDA: reflective architecture for distributed applications
  • DIAS: evolving sensornet design through co-design
  • ACT: automatic configuration testing
  • Archware: architecting evolvable software
  • GLOSS: global smart spaces
  • XBase: generic storage architecture
  • orthogonal persistence, hyper-programming and linguistic reflection

Other expertise

programming languages, orthogonal persistence, databases, operating systems

Academic/Professional Qualification

PhD Computer Science, University of St Andrews; BSc Computational Science, University of St Andrews

Expertise related to UN Sustainable Development Goals

In 2015, UN member states agreed to 17 global Sustainable Development Goals (SDGs) to end poverty, protect the planet and ensure prosperity for all. This person’s work contributes towards the following SDG(s):

  • SDG 3 - Good Health and Well-being
  • SDG 7 - Affordable and Clean Energy


Dive into the research topics where Graham Njal Cameron Kirby is active. These topic labels come from the works of this person. Together they form a unique fingerprint.
  • 1 Similar Profiles