论文阅读-自动程序修复-Is Your Code Generated by ChatGPT Really Correct?Rigorous Evaluation of Large Language

本文探讨了如何通过EvalPlus框架精确评估ChatGPT生成的代码正确性,提出了一种基于符号执行和突变的方法。实验结果显示,尽管ChatGPT在某些任务上表现良好,但存在测试不足和错误率问题,为进一步提升代码生成质量提供了启示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

论文来源icon-default.png?t=N7T8https://arxiv.org/pdf/2305.01210.pdf

概述

 本文关注大型语言模型在代码生成中的应用,旨在评估ChatGPT生成的代码的正确性。

(评估生成式代码的正确性)

本文创新动机

现有研究中对于生成代码的正确性评估不足,本文提出了一种基于符号执行的方法,用于评估生成代码的正确性,并在实验中证明了其有效性。

这篇论文的创新点,为之后的论文提供了一些的启发

1.通过使用ChatGPT作为自动生成引擎,并且灵活应用突变

使用ChatGPT作为自动生成引擎本来存在速度的问题

因为:ChatGPT不适合大量的自动化测试生成,查询如此大的模型的速度和成本不理想。

本文解决了这个问题:从ChatGPT生成的高质量种子输入开始执行类型感知输入突变。

(i)使用ChatGPT的种子输入语料库来初始化种子池并引导生成管道;

(ii)每次从种子池中随机选择一个输入(即种子),将其突变为新的输入(即突变体);

(iii)符合程序合同(§2.3)的新输入被添加到种子池中,从(ii)开始继续生成过程。

2.扩展基准

通过自动化测试方法改进编程基准,包含更多高质量和自动生成的测试输入,将有助于更准确地评估代码生成的性能。

背景

过往相关论文比较

大语言模型的应用专题里面

·Transformer-based language models for software vulnerability detection 将软件源代码转换成自然语言,利用训练好的Transformer语言模型根据上下文理解注释和代码的关系,推断代码是否存在漏洞。(利用LLM检测代码是否有漏洞)

·Automated repair of programs from large language models

研究利用自动化修复技术(TBar 和Recoder)以及Codex-e来修复GPT-3模型的后代Codex产生的代码错误(修复LLM生成式代码的错误)

·Examining zero-shot vulnerability repair with large language 

作者研究了大语言模型在没有专门对安全漏洞修复进行训练的情况下(Zero-Shot),通过构建适当的提示来引导LLMS生成修复漏洞的代码。(利用LLM修复代码漏洞)

·Large language models are zero-shot f

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值