中文

基于 LLM 生成测试的语义冲突检测

软件工程 2025-08-15 v2

摘要

语义冲突发生于开发人员对代码库进行修改时,不小心影响了其他开发人员平行集成的修改行为时。传统的合并工具无法检测此类冲突,因此提出了诸如 SMAT 等补充工具。SMAT 依赖生成和执行单元测试:若某测试在基线版本中失败、在开发人员修改后的版本中通过、但在与另一开发人员的修改合并后再次失败,则会指示出现语义冲突。虽然 SMAT 在检测冲突方面效果良好,但由于诸如 Randoop 和 Evosuite 等单元测试生成工具的局限性,仍存在较高的误报率。为调查大语言模型 (LLM) 是否能克服这些局限性,本文提出并集成了基于 Code Llama 70B 的新型测试生成工具于 SMAT 中。我们探索了该模型在不同交互策略、提示内容和参数配置下的测试生成能力。本次评估包含两个样本:一个来自相关工作的较简单系统基准,以及基于复杂真实系统的更大规模样本。我们评估了该 SMAT 扩展在检测冲突方面的有效性。结果表明,尽管 LLM 生成的测试在复杂场景下仍面临挑战且计算成本高昂,但在改善语义冲突检测方面存在潜在的前景。

关键词

引用

@article{arxiv.2507.06762,
  title  = {Detec\c{c}\~ao de Conflitos Sem\^anticos com Testes Gerados por LLM},
  author = {Nathalia Barbosa and Paulo Borba and Léuson Da Silva},
  journal= {arXiv preprint arXiv:2507.06762},
  year   = {2025}
}

备注

Comments: 11 pages, in Portuguese language. 3 figures. Submitted to SAST 2025 (X Simp\'osio Brasileiro de Teste de Software Sistem\'atico e Automatizado). in Portuguese language