Skip to main navigation Skip to search Skip to main content

Mutation-Guided Unit Test Generation with a Large Language Model

  • University of Limerick
  • University of Ottawa
  • Huawei Technologies Co., Ltd.

Research output: Contribution to journalArticlepeer-review

Abstract

Unit tests play a vital role in uncovering potential faults in software. While tools like EvoSuite focus on maximizing code coverage, recent advances in large language models (LLMs) have shifted attention toward LLM-based test generation. However, code coverage metrics—such as line and branch coverage—remain overly emphasized in reported research, despite being weak indicators of a test suite’s fault-detection capability. In contrast, mutation score offers a more reliable and stringent measure, as demonstrated in our findings where some test suites achieve 100% coverage but only 4% mutation score. Although a few studies consider mutation score, the effectiveness of LLMs in killing mutants remains underexplored. In this paper, we propose MUTGEN, a mutation-guided, LLM-based test generation approach that incorporates mutation feedback directly into the prompt. Evaluated on 204 subjects from two benchmarks, MUTGEN significantly outperforms both EvoSuite and vanilla prompt-based strategies in terms of mutation score. Furthermore, MUTGEN introduces an iterative generation mechanism that pushes the limits of LLMs in killing additional mutants. Our study also provides insights into the limitations of LLM-based generation, analyzing the reasons for live and uncovered mutants, and the impact of different mutation operators on generation effectiveness.

Original languageEnglish
Pages (from-to)1657-1671
Number of pages15
JournalIEEE Transactions on Software Engineering
Volume52
Issue number5
DOIs
Publication statusPublished - 1 May 2026

Keywords

  • Large Language Models
  • Mutation Testing
  • Unit Test Generation

Fingerprint

Dive into the research topics of 'Mutation-Guided Unit Test Generation with a Large Language Model'. Together they form a unique fingerprint.

Cite this