随着人工智能技术的迅速发展,AI模型(如大语言模型)在软件开发中的应用日益广泛,AI生成代码已成为实际开发中的重要组成部分。然而,由于当前AI模型能力存在局限,其生成的代码相较于人工编写的代码在质量上存在更多隐患,更易引入潜在的缺陷与安全漏洞,同时还可能涉及抄袭与知识产权侵权等问题。在日常开发中,这些AI生成代码常常与人工代码混合在一起提交,未经充分审查便被集成至软件系统中,从而对软件的安全与合规构成严峻挑战。
为应对上述问题,学术界与工业界已提出多种自动化AI生成代码检测方法,用以判断一段代码是由AI生成还是由人类编写。其中,基于“困惑度”(Perplexity)的方法成为最为流行的主流检测方法。困惑度原用于衡量语言模型对文本预测的置信度,近年来被广泛应用于AI生成代码检测任务中,其核心思想是:对比人类编写的代码,AI生成的代码在语言模型中的困惑度通常更低,而以此为依据进行识别。
然而,现有自动化AI生成代码检测研究多集中于有限场景下的准确率评估,尚缺乏对检测方法在多样化、真实开发环境中的系统性验证。针对这一研究空白,软件研发效能实验室博士生徐近伟在张贺教授与杨岚心老师的指导下,开展了大规模系统性实证研究,从检测准确率(覆盖不同编程语言、问题难度与代码规模)、检测效率以及泛化能力三个维度,全面比较了基于困惑度、特征工程及预训练模型三类主流AI生成代码检测方法的有效性。
实验结果表明,基于困惑度的AI生成代码检测方法在准确率与检测速度方面存在一定局限,但在模型泛化能力方面具有明显优势。研究进一步结合实验数据与方法原理,对困惑度检测方法的适用范围与局限性进行了深入分析。例如,困惑度检测方法在处理高级编程语言时表现不佳,但在长代码片段的检测中具备良好效果。基于上述发现,研究提出了针对困惑度检测方法的优化方向,并探讨了其在软件工程实际应用中的潜力。
本研究作为首篇系统评估困惑度方法在AI生成代码检测中有效性的实证工作,填补了该领域的研究空白,为后续研究与工程实践提供了重要参考。相关成果论文《One Size Does Not Fit All: Investigating Efficacy of Perplexity in Detecting LLM-Generated Code》已被国际软件工程领域顶级期刊 ACM Transactions on Software Engineering and Methodology (TOSEM) 正式录用(CCF-A级期刊),南京大学为第一单位。
徐近伟同学目前为软件研发效能实验室的博士研究生,研究方向为AI软件供应链,作为学生骨干参与了工信部重点开放课题和江苏省自然科学基金等项目,并多次以第一作者身份在国际权威期刊发表研究成果。欢迎对AI软件供应链、AI安全性保障、AI代码生成、代码质量审查等方向感兴趣的同学加入软件研发效能实验室。联系方式:张贺(hezhang@nju.edu.cn),杨岚心(lxyang@nju.edu.cn)。