Profile image of me

Hi! I'm a Professor of Software Engineering at the University of Sheffield.

I care about software quality and reliability. My research and teaching place an important emphasis on software testing.

From AI-driven systems to traditionally programmed software, my research seeks to understand how software tests can be better designed to reveal bugs, and how to best equip developers with automated techniques that enable the discovery of software failures.

Research

My research focusses on developing automated techniques for software testing, to help developers maintain "healthy" test suites that find bugs.

Recently my work has centred on helping developers detect and mitigate "flaky" software tests. I have also worked on mutation analysis approaches to help developers assess the quality of their test suites, including finding areas of code that while executed by tests may only be pseudo-tested. Other past areas of work have included detecting and repairing presentation failures and automatically generating tests using search-based test generation.

My work has been funded by the EPSRC and Meta. I am currently an associate editor for the Empirical Software Engineering and Software Testing, Verification and Reliability journals, and I lead Sheffield's Testing Research Group.

Team

Testing group October 2025

We are part of the Testing Research Group at the University of Sheffield, one of the largest software testing groups in the UK.

I have previously supervised 11 PhD students to completion as first supervisor.

Publications

See my full list of my publications, also recorded on my Google Scholar and DBLP profiles.

Some of my papers that have recently appeared include:

Empirically Comparing Hazard-Guided LLM Mutation Techniques with Existing LLM- and Rule-Based Approaches
M Maton, GM Kapfhammer, and P McMinn
International Conference on Evaluation and Assessment in Software Engineering (EASE), 2026
[PDF]
[]
@inproceedings{Maton2026,
  author    = "Maton, Megan and Kapfhammer, Gregory M. and McMinn, Phil",
  title     = "Empirically Comparing Hazard-Guided LLM Mutation Techniques with Existing LLM- and
               Rule-Based Approaches",
  booktitle = "International Conference on Evaluation and Assessment in Software Engineering (EASE)",
  year      = "2026"
}

A Comprehensive Empirical and Theoretical Analysis of Batching Algorithms for Efficient, Safe, Parallel Mutation Analysis in Rust
Z Lévai, D Shin, and P McMinn
ACM Transactions on Software Engineering and Methodology, 2026
[PDF]
[DOI]
[]
@article{Levai2026,
  author  = "L{\'e}vai, Zal{\'a}n and Shin, Donghwan and McMinn, Phil",
  title   = "A Comprehensive Empirical and Theoretical Analysis of Batching Algorithms for
             Efficient, Safe, Parallel Mutation Analysis in Rust",
  journal = "ACM Transactions on Software Engineering and Methodology",
  year    = "2026"
}

mutest-rs: Flexible, Efficient Mutation Analysis Tool for Rust Programs, using Extensive Static Analysis
Z Lévai, D Shin, and P McMinn
International Conference on Software Testing, Verification and Validation (ICST), 2026
[PDF]
[]
@inproceedings{Levai2026b,
  author    = "L{\'e}vai, Zal{\'a}n and Shin, Donghwan and McMinn, Phil",
  title     = "{mutest-rs}: {Flexible}, Efficient Mutation Analysis Tool for Rust Programs, using
               Extensive Static Analysis",
  booktitle = "International Conference on Software Testing, Verification and Validation (ICST)",
  year      = "2026"
}

Test Flimsiness: Characterizing Flakiness Induced by Mutation to the Code Under Test
O Parry, M Hilton, GM Kapfhammer, and P McMinn
International Conference on Software Engineering (ICSE), 2026
[PDF]
[]
@inproceedings{Parry2026,
  author    = "Parry, Owain and Hilton, Michael and Kapfhammer, Gregory M. and McMinn, Phil",
  title     = "Test Flimsiness: Characterizing Flakiness Induced by Mutation to the Code Under Test",
  booktitle = "International Conference on Software Engineering (ICSE)",
  year      = "2026"
}

Teaching

I teach the first-year COM1001 Introduction to Software Engineering module. Key to the module is team-based software development, writing automated tests, and improving code design through refactoring.

I also teach the third-year COM3529 Software Testing and Analysis module. Topics include how to write effective, maintainable tests, and how to analyse their quality. The module also covers more research-oriented topics such as automatically generating test cases (e.g., through fuzzing and search-based techniques), mutation analysis, and methods for test case priortisation.

I also supervise a range of third year dissertation projects on topics in software engineering, software testing, and on those provided by local industry partners.