mlsanityData to 14 Oct 2026

Evaluating LLM-Based Regression Test Generation

arXiv 2501.11086 ↗First posted 19 Jan 2025cs.SE cs.AIcited by 6

Not on the map. Why?

Abstract (arXiv)

Large Language Models (LLMs) have shown tremendous promise in automated software engineering. In this paper, we investigate LLMs for just-in-time regression test generation for programs, like parsers, interpreters, or compilers, that take highly structured, human-readable inputs. When a bug fix or code change is committed, the repository (as part of CI/CD) runs an LLM for a few minutes to generate regression tests that exercise the changed code and potentially trigger bugs. We frame LLM-based regression test generation as a machine translation task that takes the developer-provided commit message, the code change, and the input format name (e.g., XML), and produces regression tests for the described change in that format. Testing 72 commits to Mujs, Libxml2, Poppler, JerryScript, Z3, PHP, JQ, and MicroPython, our feedback-directed, zero-shot prototype Cleverest performed well, even without the code change. In under 2 minutes on average, Cleverest found as many bugs as the state-of-the-art directed greybox fuzzer WAFLGo did in 24 hours, even though WAFLGo started with a commit-reaching seed corpus in most cases. Using the Cleverest-generated tests as a seed corpus in coverage-guided greybox fuzzing doubles the number of bugs found; we call this integration ClevFuzz. We also find that some commit messages are more expressive than others, thus we ask how it impacts Cleverest's effectiveness. Cleverest picks up on the change intention: e.g., given a commit message that a patch changes how floating point variables are treated in the Mujs JavaScript interpreter, Cleverest generates JavaScript programs that contain floating point variables. Minimally changing commit messages to reduce or increase their information substantially impacts effectiveness: adding 17 words on average (max. 43) to make ineffective commit messages more expressive significantly increased the number of bugs found.

Key facts. Cited by 6 papers in the map (data through 14 Oct 2026). Builds on 16 of its 42 references that are in the map. First posted on arXiv 19 Jan 2025.

Builds on

16 of 42 references.

References · 16

  1. 2022CodeT: Code Generation with Generated Testscited by 384
  2. 2023An Empirical Evaluation of Using Large Language Models for Automated Unit Test Generationcited by 194
  3. 2024Large Language Model-Based Agents for Software Engineering: A Surveycited by 178
  4. 2020Unit Test Case Generation with Transformers and Focal Contextcited by 118
  5. 2022Large Language Models are Few-shot Testers: Exploring LLM-based General Bug Reproductioncited by 111
  6. 2023ChatUniTest: A Framework for LLM-Based Test Generationcited by 96
  7. 2024Automated Unit Test Improvement using Large Language Models at Metacited by 75
  8. 2024Code-Aware Prompting: A study of Coverage Guided Test Generation in Regression Setting using LLMcited by 64
  9. 2023Effective Test Generation Using Pre-trained Large Language Models and Mutation Testingcited by 51
  10. 2020On Learning Meaningful Assert Statements for Unit Test Casescited by 42
  11. 2024HITS: High-coverage LLM-based Unit Test Generation via Method Slicingcited by 38
  12. 2023Prompt Fuzzing for Fuzz Driver Generationcited by 27
4 more
  1. 2024Fuzzing BusyBox: Leveraging LLM and Crash Reuse for Embedded Bug Unearthingcited by 15
  2. 2024Advancing Code Coverage: Incorporating Program Analysis with Large Language Modelscited by 9
  3. 2024Mokav: Execution-driven Differential Testing with LLMscited by 6
  4. 2020UNIFUZZ: A Holistic and Pragmatic Metrics-Driven Platform for Evaluating Fuzzerscited by 5

Built on by

Cited by year (2026 to 14 Oct)

Citing papers per year: 2025: 4; 2026: 2.

6 papers.