- 简介安全代码审查旨在通过自动化工具和人工努力在开发过程中检测安全缺陷。大型语言模型(LLMs)的快速发展显示出在软件开发方面具有很大的潜力,并在自动化安全代码审查方面开辟了新的可能性。为了探讨将LLMs应用于实际代码审查以检测安全缺陷的挑战,本研究比较了三种最先进的LLMs(Gemini Pro、GPT-4和GPT-3.5)在549个包含来自实际代码审查的安全缺陷的代码文件上对五个提示的检测性能。通过分析基于随机选取的100个代码文件而生成的82个响应中表现最佳的LLM-提示组合,我们将存在于这些响应中的质量问题提取并分类为5个主题和16个类别。我们的结果表明,LLMs生成的响应常常存在冗长、模糊和不完整的问题,突显了增强它们的简洁性、可理解性和符合安全缺陷检测的必要性。这项工作揭示了LLMs在安全代码审查中生成的响应的不足之处,并为未来优化LLMs的任务铺平了道路。
- 图表
- 解决问题探索使用大型语言模型在安全代码审查中的挑战和不足
- 关键思路比较三种最先进的大型语言模型在安全代码审查中的检测性能,并分析其生成响应的质量问题
- 其它亮点通过分析82个最佳表现的大型语言模型-提示组合生成的响应,提取并分类了其中存在的质量问题,揭示了大型语言模型在安全代码审查中存在的冗长、模糊和不完整等问题
- 最近的相关研究包括使用深度学习和自然语言处理技术进行代码缺陷检测的研究,如“DeepBugs: A Learning Approach to Name-Based Bug Detection in Program Repair”和“Convolutional Neural Networks for Source Code Authorship Attribution”
沙发等你来抢
去评论
评论
沙发等你来抢