paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Automated Generation of Issue-Reproducing Tests by Combining LLMs and Search-Based Testing

结合LLM与基于搜索的测试自动生成问题复现测试
ASE 2025 40th IEEE/ACM International Conference on Automated Software Engineering (ASE)2025匹配度 4/10 · 论文结合LLM与搜索式测试生成issue复现测试,属于AI辅助软件工程/测试方向,并包含真实仓库部署验证;但其核心目标是测试生成而非静态分析、形式化验证或Agentic程序分析,与用户当前追的PL与LLM交叉问题交集有限。引用 2 inbox
Konstantinos Kitsios, Marco Castelluccio, Alberto Bacchelli
crossref: 2026-09-12

AI 速览

一句话:提出BLAST,结合LLM与搜索式测试从issue-patch对自动生成问题复现测试,优于SOTA并经真实仓库部署验证。

软件开发中,开发者常提交补丁却不附带可复现问题的测试,因此自动生成问题复现测试具有重要价值。本文提出BLAST,将LLM与基于搜索的软件测试(SBST)结合:LLM部分利用Git历史、静态分析和SBST生成测试来补充issue描述与补丁的上下文;SBST部分则把issue描述和补丁经由LLM生成的中间种子反序列化为SBST可用形式,驱动搜索优化。在精心构建的Python基准上,BLAST为151/426(35.4%)的issue成功生成问题复现测试,优于当前最优方法(23.5%)。作者还构建GitHub bot,在三个开源仓库部署三个月,处理32个PR-issue对,其中11例生成测试并提交给开发者,并通过反馈讨论研究挑战与机会。

问题
开发者经常在没有问题复现测试的情况下提交补丁,自动生成这类测试仍很困难,现有方法成功率有限。
方法
BLAST结合LLM与基于搜索的软件测试:用Git历史、静态分析和SBST生成测试为LLM提供上下文,并将issue与patch经LLM生成中间种子后反序列化为SBST优化输入。
评估
在Python基准上,BLAST为151/426(35.4%)的issue生成复现测试,超过SOTA的23.5%;并在三个开源仓库部署GitHub bot三个月,对32个PR-issue对中的11例生成测试并收集开发者反馈。
原文摘要(Abstract)

Issue-reproducing tests fail on buggy code and pass once a patch is applied, thus increasing developers’ confidence that the issue has been resolved and will not be re-introduced. However, past research has shown that developers often commit patches without such tests, making the automated generation of issue-reproducing tests an area of interest. We propose BLAST, a tool for automatically generating issue-reproducing tests from issue-patch pairs by combining LLMs and search-based software testing (SBST). For the LLM part, we complement the issue description and the patch by extracting relevant context through Git history analysis, static analysis, and SBST-generated tests. For the SBST part, we adapt SBST for generating issue-reproducing tests; the issue description and the patch are fed into the SBST optimization through an intermediate LLM-generated seed, which we deserialize into SBST-compatible form. BLAST successfully generates issue-reproducing tests for 151/426 (35.4%) of the issues from a curated Python benchmark, outperforming the state-of-the-art (23.5%).Additionally, to measure the real-world impact of BLAST, we built a GitHub bot that runs BLAST whenever a new pull request (PR) linked to an issue is opened, and if BLAST generates an issue-reproducing test, the bot proposes it as a comment in the PR. We deployed the bot in three open-source repositories for three months, gathering data from 32 PRs-issue pairs. BLAST generated an issue-reproducing test in 11 of these cases, which we proposed to the developers. By analyzing the developers’ feedback, we discuss challenges and opportunities for researchers and tool builders.Data and material: https://doi.org/10.5281/zenodo.16949042

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@inproceedings{paperbot9483,
  title = {Automated Generation of Issue-Reproducing Tests by Combining LLMs and Search-Based Testing},
  author = {Konstantinos Kitsios and Marco Castelluccio and Alberto Bacchelli},
  booktitle = {ASE},
  year = {2025},
  doi = {10.1109/ase63991.2025.00165}
}