ByteNoteByteNote
当大模型给合并请求补测试,红灯先别信
字

字节笔记本

2026年10月10日 · 约 2 分钟读完

当大模型给合并请求补测试,红灯先别信

API中转
¥120

生成测试常被直接推进回归套件,红灯一亮就当抓到了回归。这篇先在合并后的代码上种下仍能过官方套件的突变,再只凭这次合并请求让模型写测试,看红灯到底在罚谁。论文号 2610.11835,2026-10-08 挂到 arXiv。复现材料在公开网盘,本轮没有项目仓。数字以论文表为准,不是本轮复现。

一条生成测试,先分清它在罚谁

先种能活下来的突变,再让模型只看这次合并

作者挑三家成熟的 Python 库,只要改代码、不是纯文档、也不是超大重构的已合并请求。新版本上的突变必须还能过项目套件,并且能被模型写出探测。测试只根据这次有故障的合并请求生成,最多六轮修补,要求覆盖改过的行。每条测试同时跑在突变和真实对照上,分成四类:突变红对照绿是真抓到,突变绿对照红是假错误,两边都绿是弱测试,两边都红是废测试。第二问把假错误对再放到后续合并请求上。第三问每个后续请求最多再塞一条假错误。

规模写成一百四十五个合并请求,六万零七百八十个突变。三家库分别五十、五十、四十五个请求。官方套件能杀掉的突变,三家是 58.6%、54.0%、16.0%。活下来以后还能被模型探测到的,分别占 40.9%、41.3%、72.3%。生成器写成同一家小模型。

假错误比真抓到的多,还会跟着后面的请求走

三家库里,真抓到只有 2.6%、2.4%、4.8%。假错误是 16.9%、8.4%、16.9%,大约是真抓到的三点五到六点五倍。弱测试占四成到七成。至少有一条假错误的请求有九十二个,占一百四十五的大半。异常预言占假错误的 37% 到 57%,拿掉之后假错误仍是真抓到的 2.6 到 4.3 倍。合并前行为只出现在百分之零点二的可比对里,说明这些红灯多半不是旧债。

假错误比真抓到的还多

假错误对后续请求的存活率 85.5%、82.8%、90.9%。被后来的生成测试杀掉的几乎是零。开发套件后来抓到的只有 36.3%、6.1%、7.6%。生存分析里,过了五到四十个后续请求,仍在强制的比例接近百分百。堆积实验里,交互杀掉只有零到百分之零点三七,链条尽头仍在强制的大约八成三到九成二。开发套件能确认的只有一成四到三成。

论文只用突变和一家生成模型,也只覆盖三家 Python 库。没有项目仓,复现材料在网盘。若你要的是可下载工具,这篇还不满足;若你要看生成测试的红灯会不会罚错人,数字都在 10-08 那一版里。本轮没有把作者花名册写进正文。

相关文章

分享: