最近,大型语言模型 (LLMs) 在理解自然语言和生成编程代码方面表现出了非凡的能力。然而,对于LLMs生成的代码的可靠性和鲁棒性的研究尚未得到深入的探讨。这项研究提出了一个包括1208个编程问题的数据集RobustAPI,用于评估LLMs生成的代码的可靠性和鲁棒性,并发现甚至对于GPT-4而言,62%的生成代码存在API误用,这可能导致意想不到的后果。
Aug, 2023
我们提出了一种评估Large Language Models(LLMs)代码理解性能的新方法,通过引入代码变异来检测LLMs对代码和自然语言描述之间微妙差异的能力,并在各种代码变异和编程语言上对两个常见的LLMs进行了案例研究,发现它们在代码理解性能上存在显著的差异。
Jan, 2024
通过研究使用大型语言模型(LLMs)在代码审查中的作用,其中包括检测安全漏洞和验证软件功能的有效性,本文发现大型专有模型在这些任务上的性能显著优于小型开源模型,并证明了LLMs能够生成与真实漏洞相关的详细描述。
Mar, 2024
这篇研究报告分析了使用三个主要大型语言模型(CodeGen、PanGu-Coder和Codex)生成的代码中的333个错误模式,并通过在线调查得到了34位使用大型语言模型的从业人员和研究人员对这些错误模式的重要性和普遍性的确认。研究人员和从业人员可以利用这些发现来开发有效的大型语言模型生成代码的质量保证技术。该研究揭示了大型语言模型生成代码的独特特征。
大型语言模型在漏洞检测方面的推理能力较差,常出现错误定位漏洞代码和错误识别漏洞类型的情况。
本文提出了一个结合差分测试和大规模语言模型(LLMs)的方法(名为AID),用于生成测试输入和测试验证目标合理正确的程序的测试输入和测试验证。使用TrickyBugs和EvalPlus这两个大规模数据集进行评估,结果显示AID的召回率、精确度和F1得分分别高出现有技术的最高值1.80倍、2.65倍和1.66倍。
Apr, 2024
使用大型语言模型进行代码生成的能力仍具有一定限制,代码生成的结果通常较为复杂且存在错误,通过研究相关的问题和推导出的漏洞类型,提出了一个训练自由的迭代方法来减少错误并增加合格率。
Jul, 2024
本研究针对现有单元测试生成方法在复杂真实软件开发情境下的局限,提出了一种新的测试生成与评估方案。我们的系统\textsc{AgoneTest}专注于类级测试代码的自动生成,并自动化了从测试生成到评估的全过程。研究显示,该系统能够有效提升测试质量,并为多种 Java 项目生成高效的测试套件。
Aug, 2024
本研究解决了大型语言模型(LLMs)代码生成的可靠性问题,特别是识别和分析生成代码中的缺陷。通过对367个缺陷进行分类和分析,发现了功能和算法错误是主要问题。研究表明,通过实施结构化的提示工程技术,可以显著减少常见缺陷,提高代码生成的准确性和可靠性。
本研究解决了一个重要问题:不正确的源代码如何影响大语言模型(LLMs)在生成测试用例时的有效性。通过评估五个开放源代码和六个闭源LLMs,发现错误代码显著降低了测试的准确性和缺陷检测能力。这一发现强调了在使用LLMs进行测试时,需要谨慎处理初期不成熟代码,以避免把错误嵌入系统中。
Sep, 2024