I have very broad interests in Software Engineering and Artificial Intelligence but in particular focus on Empirical Software Engineering, Mining Software Repositories, AI4SE and SE4AI.
Research tools5
Open datasets3
Years of focus2016-2025
Research agenda, 2026–2030
Where the research programme is heading over the next funding cycle.
Trustworthy AI4SE agents
Moving from LLM-assisted code recommendation to autonomous coding and security agents whose outputs can be verified and repaired automatically — the direction underpinning the VulGuard-Agent proposal. Targets ARC Discovery/Linkage and industry co-funding (e.g. cloud/security partners).
Design pattern & architecture intelligence
Extending feature-based and LLM-based pattern detection/summarisation into full architecture-recovery tooling, so teams can inventory reuse and technical debt at scale. Builds on the CodeLabeller/CFS/PRST line of work, targeting Discovery Early Career and industry-linkage schemes.
Empirical methods for AI-assisted development
Rigorous, replication-ready studies of how AI coding assistants change developer behaviour, code quality and maintainability — mixed-methods work suited to ARC Discovery and international collaboration grants.
AI4SE in computing education
Translating AI4SE and MSR findings into curriculum and assessment design, connecting the research programme to the teaching and curriculum-review work already underway. A natural fit for OLT/teaching-innovation grants alongside the research-council schemes above.
Research areas
Tip: Selecting an area filters the projects below.
Click All areas to reset the list.
Empirical Software Engineering
Advancing evidence‑based software practice through rigorous empirical methods—large‑scale mining, experiments and mixed‑method studies of developer workflows, artefacts and socio‑technical systems—to evaluate and improve tools and processes.
Mining Software Repositories
Analysing version control, issue and code review repositories, Q&A archives, CI/build servers and runtime telemetry with data science, ML/AI and qualitative methods to surface actionable insights that improve software engineering practice and guide project evolution.
AI4SE
Advancing AI‑driven Software Engineering through human‑centred, trustworthy, sustainable and collaborative methods - spanning LLM‑enabled automation, AI‑assisted design, recommender systems for code and repair, prompt engineering, and rigorous efficacy measurement beyond traditional metrics.
SE4AI
Engineering reliable, reproducible AI‑enabled systems—spanning SE for models and AI‑infused systems; AI code, libraries and datasets; autonomic and self‑healing systems with automated model repair; rigorous testing, verification, validation and user‑based evaluation; and requirements engineering.
Ongoing projects
Since 2025
Design Pattern Identification and Summarisation
A feature-based and LLM-based design pattern summarisation system that parses Java systems with JavaParser, produces JSON knowledge graphs and turns them into readable English generated narratives.
Captures both the structural context and usage intent for every detected pattern.
A machine-learning model that detects Gang-of-Four patterns inside Java projects, combining structural fingerprints with semantic cues so teams can inventory reuse opportunities.
Ships both a classic pipeline and a Python 3 refactor for modern toolchains.
Provides a reproducible corpus for benchmarking new detection heuristics.
Feeds summaries and diagrams into the Design Pattern Summariser pipeline.
A web-based annotation environment where researchers and practitioners label Java design pattern instances and summaries to bootstrap supervised learning datasets.
Streamlines the end-to-end labeling workflow for machine-learning-ready corpora.
Supports collaborative review cycles so multiple experts can converge on gold data.
Exports datasets compatible with the detection and summarisation pipelines below.