论文

增强 LLM 突变生成

Boosting LLMs for Mutation Generation

摘要

基于 LLM 的突变测试是一种有前途的测试技术,但现有方法通常依赖于一组固定的突变作为少数样本或根本没有。这可能会导致通用的低质量突变、错过上下文特定的突变模式、大量冗余和无法编译的突变体以及与真实错误的有限语义相似性。为了克服这些限制,我们引入了 SMART(自适应检索和调优的语义突变)。 SMART 将检索增强生成 (RAG) 集成到现实世界错误的矢量化数据集、集中代码分块以及使用突变与现实世界错误相结合的监督 微调 上。我们使用 Defects4J 和 ConDefects 数据集中的 1,991 个现实世界的 Java bug 对 SMART 进行了广泛的实证研究,将 SMART 与最先进的基于 LLM 的方法、LLMut 和 LLMorpheus 进行了比较。结果表明,SMART 极大地提高了突变的有效性、有效性和效率(甚至使小规模 7B 规模模型能够匹配甚至超越 GPT-4o 等大型模型)。我们还证明 SMART 显着改进了下游软件工程应用,包括测试用例优先级和故障定位。更具体地说,SMART 将有效性(加权平均生成率)从 42.89% 提高到 65.6%。不重复率从87.38%提高到95.62%,可编译率从88.85%提高到90.21%。在有效性方面,它实现了 92.61% 的真实错误检测率(LLMut 为 57.86%),并将平均 Ochiai 系数从 25.61% 提高到 38.44%。对于故障定位,SMART 在 MUSE 下将另外 64 个错误列为 Top-1,在 Metallaxis 下将另外 57 个错误列为 Top-1。