安全代码生成的引导技术:一项系统性探索
大型语言模型(LLMs)在代码生成方面取得了显著进展,但它们的训练使用了来自开源代码库(如GitHub)的未经筛选的数据,存在意外传播安全漏洞的风险。为了有效地减轻这一问题,本文从软件安全的角度对代码LLMs进行了全面研究,并提出了SecuCoGen数据集,用于评估和增强代码LLMs的安全性能。研究结果发现,现有模型在代码生成中经常忽视安全问题,提出了有效的方法来解决安全漏洞,并提高代码的整体稳健性。此外,研究还发现现有模型在修复漏洞代码方面存在问题,并且某些漏洞类型对模型构成挑战。基于这些发现,我们相信本研究将对软件工程社区产生积极影响,激发改进LLMs训练和使用方法的开发,从而实现更安全、更可信的模型部署。
Oct, 2023
作者描述了一个名为SALLM的框架,用于系统地评估大型语言模型生成安全代码的能力,该框架包括一个安全中心的Python提示的新数据集,一个用于测试生成代码的评估环境,以及用于从安全代码生成的角度评估模型性能的新度量标准。
Nov, 2023
这篇综述研究了大型语言模型在编码生成任务中的有效提示方法,探讨了从个别编码问题到仓库规模解决方案的转变,旨在推进开发者生产力,为商业应用场景提供有用且适用的黑盒语言模型方法,并介绍了基于仓库级提示生成技术与RepoCoder的迭代检索与生成方法之间的权衡,以确立最佳实践,为尖端编码基准提供改进路径。
Dec, 2023
大型语言模型(Large Language Models,LLMs)被广泛应用于各种应用中,代码生成作为一个显著例子。本文聚焦于确定和理解在真实场景中,LLMs可有效且安全地用于生成高质量代码的条件和环境。通过对四个先进的LLMs(GPT-3.5和GPT-4,ChatGPT,Bard和Gemini)进行比较分析,使用9个不同任务评估每个模型的代码生成能力。我们将研究情境化,以代表日常工作中开发人员使用LLMs执行常见任务的典型用例。此外,我们强调安全意识,通过使用我们的开发者角色的两个不同版本来表示。总共我们收集了61个代码输出并分析了其功能性、安全性、性能、复杂性和可靠性等方面。这些洞见对于理解模型的能力和限制非常重要,并指导未来在自动化代码生成领域的开发和实际应用。
Feb, 2024
基于大规模语言模型的代码生成领域的综述,介绍了对LLMs在代码生成领域的最新进展、数据处理、性能评估、实际应用,对学术与实践之间的差距进行了分析,提出了关键挑战和机遇,并提供了一个资源网站以记录和传播该领域的最新进展。
Jun, 2024
大规模语言模型(LLMs)在代码生成和修复方面取得了重大进展,但它们使用来自GitHub等开源存储库的未经过滤的数据进行训练可能会传播安全漏洞。本文旨在全面评估和增强代码LLMs的安全性,并提出了不同策略来减轻这些安全漏洞。
Jul, 2024
本研究针对大型语言模型生成的代码在安全性方面存在的问题,揭示了提示质量对生成代码安全性的影响。通过对四种主要大语言模型的分析,结果表明,初始生成的代码中有65%被视为不安全,但经过熟练工程师的手动指导后,几乎所有模型都能生成接近100%安全的代码。
Aug, 2024
本研究解决了大型语言模型(LLMs)代码生成的可靠性问题,特别是识别和分析生成代码中的缺陷。通过对367个缺陷进行分类和分析,发现了功能和算法错误是主要问题。研究表明,通过实施结构化的提示工程技术,可以显著减少常见缺陷,提高代码生成的准确性和可靠性。
Aug, 2024