利用 GPT-4 进行漏洞见证单元测试生成
软件工程
2025-06-16 v1 人工智能
摘要
在软件开发生命周期中,测试在质量保证中发挥着关键作用。恰当的测试不仅能够提高代码覆盖率并防止回归,还能确保软件中的任何潜在漏洞被识别并有效修复。然而,创建此类测试是一项复杂且耗费资源的手动过程。为帮助开发者和安全专家,本文从漏洞的角度探索了最广泛使用的大语言模型之一 GPT-4 的自动单元测试生成能力。我们研究了 VUL4J 数据集中包含真实漏洞及其对应修复的子集,以确定 GPT-4 是否能基于修复前后的代码作为漏洞缓解的证据,生成语法和/或语义正确的单元测试。我们重点关注代码上下文的影响、GPT-4 自我纠错能力的有效性以及所生成测试用例的主观可用性。我们的结果表明,GPT-4 在没有领域特定预训练的情况下 66.5% 的时间能生成语法正确的测试用例。尽管修复的语义正确性仅在 7.5% 的情况下能被自动验证,但我们的主观评估显示 GPT-4 通常能生成只需相对较少的人工努力即可进一步开发为完整功能漏洞见证测试的测试模板。因此,尽管数据有限,我们的初步结果表明 GPT-4 可以有效用于漏洞见证测试的生成。它可能并非完全自主运行,但它确实在部分自动化过程中发挥着重要作用。
引用
@article{arxiv.2506.11559,
title = {Leveraging GPT-4 for Vulnerability-Witnessing Unit Test Generation},
author = {Gábor Antal and Dénes Bán and Martin Isztin and Rudolf Ferenc and Péter Hegedűs},
journal= {arXiv preprint arXiv:2506.11559},
year = {2025}
}