当前位置: 首页 > news >正文

全球影响力最大的人山东济南seo整站优化费用

全球影响力最大的人,山东济南seo整站优化费用,市场部网页设计西安,做网站电脑需要配置很好吗Keep the Conversation Going: Fixing 162 out of 337 bugs for $0.42 each using ChatGPT 写在最前面背景介绍自动程序修复流程Process of APR (automated program repair)1、漏洞程序2、漏洞定位模块3、补丁生成4、补丁验证 (可以学习的PPT设计)经典的…

Keep the Conversation Going: Fixing 162 out of 337 bugs for $0.42 each using ChatGPT

  • 写在最前面
  • 背景介绍
    • 自动程序修复流程Process of APR (automated program repair)
      • 1、漏洞程序
      • 2、漏洞定位模块
      • 3、补丁生成
      • 4、补丁验证
    • (可以学习的PPT设计)经典的APR方法traditional APR tools
    • learning-based APR tools
  • 方法Methodology
    • Methodology - gap差距
      • 当前的方法current method
      • 局限性
    • 方法概述overview
      • ① 建立初始 prompt,得到第一个 patch
      • ②通过 test suite 判断 patch 是否成立
      • ③ 输入已经获取的 plausible patch 及相关信息,获取更多 plausible patch
      • 最后两个步骤
  • 评估Evaluation
    • 基线Baseline
    • 基准Benchmark:
    • 研究问题Research questions
      • RQ1:ChatRepair与最先进的APR技术相比,其性能如何
        • 韦恩图(展示不同方法修复的集合)
      • RQ2: ChatRepair在不同的修复场景下是如何执行的?
      • RQ3: ChatRepair的不同组成部分对改进修复效果的贡献是什么

写在最前面

本文为邹德清教授的《网络安全专题》课堂笔记系列的文章,本次专题主题为大模型。

Keep the Conversation Going: Fixing 162 out of 337 bugs for $0.42 each using ChatGPT

arXiv 2023.4.1
https://arxiv.org/pdf/2304.00385.pdf

Chunqiu Steven Xia, University of Illinois Urbana-Champaign
Lingming Zhang, University of Illinois Urbana-Champaign

记录一位同学的分享
PPT简约大方、重点突出,学到了一些很巧妙的小设计
同时梳理了自动程序修复APR的流程、常见方法,我之前没接触过但也有了一定的了解
分享论文循序渐进,这种阅读论文的步骤之后或许可以尝试

之后自己可以常回顾、多学习学习

背景介绍

自动程序修复流程Process of APR (automated program repair)

在这里插入图片描述

1、漏洞程序

Vulnerability Detection
(NDSS 18)Vuldeepecker: A deep learning-based system for vulnerability detection
(security 22)Mining Node.js Vulnerabilities via Object Dependence Graph and Query

2、漏洞定位模块

Fault Localization
(TSE 23) Effective Isolation of Fault-Correlated Variables via Statistical and Mutation Analysis

3、补丁生成

Patch Generation

4、补丁验证

Patch Correctness Checking
(FSE 23) A Large-scale Empirical Review of Patch Correctness Checking Approaches

(可以学习的PPT设计)经典的APR方法traditional APR tools

在这里插入图片描述

  1. 启发式搜索(GenProg)
    insight:重用项目中的代码产生正确的修复补丁
    method:通过交叉和变异操作实现已有代码的重新组合
  2. 基于历史修复
    insight:不同软件中 bug 会重复出现,可以作为后续修复的指导
    method:通过历史信息指导启发式搜索
  3. 利用相似代码
    insight:与缺陷代码相似的代码可能存在同样的错误
    method:通过相似信息指导启发式搜索
  4. 基于修复模版
    insight:特定漏洞修复是可以总结的一些模式
    method:专家总结定义修复模版,直接进行应用
  5. 基于语义约束
    insight:修复 bug 就是改变程序使得满足 test case 的约束
    method:搜索约束并转换为约束求解问题

learning-based APR tools

  1. 补丁排序模型
    method:通过提取补丁特征给补丁排序
  2. 补丁模版获取
    method:聚类收集最常见的修复方式(模板)
  3. 端到端补丁生成模型(模型选择与训练数据的差别)
  • NMT-based
  • LLM-based

方法Methodology

Methodology - gap差距

当前的方法current method

有bug的代码被移除,LLM直接预测正确的代码
buggy code is removed and a LLM directly predicts correct code

给定前缀和后缀上下文
given the prefix and suffix context

局限性

现有基于llm的APR工具的局限性:
limitation of existing LLM-based APR tools:

1.丢失测试失败信息
missing test failure information

2.重复抽样
repeated sampling

3.对合理补丁的无知
ignorance of plausible patches

在这里插入图片描述

可信的补丁:通过测试套件的补丁
plausible patches: patches that pass the test suite

方法概述overview

这页PPT:将总览图黑色虚线框出
在这里插入图片描述
建立初始 prompt,得到第一个 patch

通过 test suite 判断 patch 是否成立

  1. 如果成立进入下一阶段
  2. 如果不成立持续询问 Chatgpt 直到获取一个 plausible patch

输入已经获取的 plausible patch 及相关信息,获取更多 plausible patch
在这里插入图片描述
可信的补丁:通过测试套件的补丁
plausible patches: patches that pass the test suite

① 建立初始 prompt,得到第一个 patch

初始输入initial input(通过红色虚线方框突出重点)
在这里插入图片描述

1、初始提示符:您是一个自动程序修复工具
初始 prompt:You are an Automated Program Repair Tool
在这里插入图片描述

2、在同一个bug项目中包含一些历史bug修复的例子
include a few examples of historical bug fixes within the same buggy project
在这里插入图片描述

少样本通过这样做,我们将模型调整到修复任务并允许它
few-shot examples By doing so, we gear the model towards the repair task and allow it

学习任务的所需输出格式(即补丁)。
to learn the desired output format (i.e. a patch) of the task.

3、用填充的位置指示器替换函数中有错误的代码完全≪≫
replace the buggy code within the function with an infill location indicator (≫ [ INFILL ] ≪)

在这里插入图片描述

4、提供原始的bug行
provide the original buggy line
在这里插入图片描述

5、失败的测试1)它的名称,2)触发测试失败的相关代码行,以及3)产生的错误信息
failing test(s) 1) its name, 2) the relevant code line(s) triggering the test failure, and 3) the error message produced

在这里插入图片描述
在这里插入图片描述

②通过 test suite 判断 patch 是否成立

  1. 如果成立进入下一阶段
  2. 如果不成立持续询问 Chatgpt 直到获取一个 plausible patch

可信的补丁:通过测试套件的补丁
plausible patches: patches that pass the test suite

在这里插入图片描述

③ 输入已经获取的 plausible patch 及相关信息,获取更多 plausible patch

可信的补丁:通过测试套件的补丁
plausible patches: patches that pass the test suite

在这里插入图片描述

最后两个步骤

在这里插入图片描述

评估Evaluation

基线Baseline

1、8个最近的基于学习和llm的APR基线
8 recent learning-based and LLM-based APR baselines

2、12个精选的传统方法
12 selected traditional techniques

3、BaseChatGPT
BaseChatGPT

基准Benchmark:

4j和QuixBugs的缺陷
Defects4j and QuixBugs

研究问题Research questions

1、RQ1:ChatRepair与最先进的APR技术相比,其性能如何?
• RQ1: How does the performance of ChatRepair compare against the state-of-the-art techniques for APR?

2、RQ2: ChatRepair在不同的修复场景下是如何执行的?
• RQ2: How does ChatRepair perform when used in different repair scenarios?

3、RQ3: ChatRepair的不同组成部分对改进修复效果的贡献是什么
• RQ3: What are the contributions of different components of ChatRepair in improving repair effectiveness?

RQ1:ChatRepair与最先进的APR技术相比,其性能如何

在这里插入图片描述

1.ChatRepair可以比仅使用ChatGPT模型的基线,分别在Defects4j 1.2和2.0上,提高修复了34和23个bug
ChatRepair can improve over the baseline of just using the ChatGPT model with 34 and 23 more bug fixes on Defects4j 1.2 and 2.0 respectively.

2.比目前最先进的APR工具多15和17个。
with 15 and 17 more than the current state-of-the-art APR tool.
在这里插入图片描述

ChatRepair能够正确地修复quixbugs中的所有bug——java和python数据集,击败所有性能最好的技术
ChatRepair is able to correctly fix all bugs within the QuixBugs-Java and-Python datasets, beating out all top-performing techniques.

韦恩图(展示不同方法修复的集合)

存在有些方法识别的漏洞,这篇文章不能识别
在这里插入图片描述
在这里插入图片描述

RQ2: ChatRepair在不同的修复场景下是如何执行的?

基线:BaseChatGPT / CodexRepair
baseline: BaseChatGPT / CodexRepair

在这里插入图片描述

BaseChatGPT没有产生令人印象深刻的改进
BaseChatGPT not yield impressive improvements

RQ3: ChatRepair的不同组成部分对改进修复效果的贡献是什么

在这里插入图片描述
在这里插入图片描述


文章转载自:
http://micromanipulation.bbmx.cn
http://maun.bbmx.cn
http://sansei.bbmx.cn
http://potassa.bbmx.cn
http://unproductive.bbmx.cn
http://blowpipe.bbmx.cn
http://nature.bbmx.cn
http://lipopolysaccharide.bbmx.cn
http://tailpiece.bbmx.cn
http://carotid.bbmx.cn
http://plagiary.bbmx.cn
http://spoliation.bbmx.cn
http://bristling.bbmx.cn
http://limacine.bbmx.cn
http://railroad.bbmx.cn
http://punctuational.bbmx.cn
http://bargainer.bbmx.cn
http://adept.bbmx.cn
http://undercut.bbmx.cn
http://lombard.bbmx.cn
http://rainworm.bbmx.cn
http://funiform.bbmx.cn
http://neurotransmitter.bbmx.cn
http://piffling.bbmx.cn
http://provisionality.bbmx.cn
http://cabotage.bbmx.cn
http://panther.bbmx.cn
http://gpl.bbmx.cn
http://sublime.bbmx.cn
http://laevorotatory.bbmx.cn
http://bronchitic.bbmx.cn
http://rowdydow.bbmx.cn
http://cegb.bbmx.cn
http://stigmatization.bbmx.cn
http://beerengine.bbmx.cn
http://drupe.bbmx.cn
http://portosystemic.bbmx.cn
http://rebuttable.bbmx.cn
http://ultrashort.bbmx.cn
http://fasciculate.bbmx.cn
http://proctectomy.bbmx.cn
http://combustion.bbmx.cn
http://jericho.bbmx.cn
http://tinpot.bbmx.cn
http://peasecod.bbmx.cn
http://perchlorate.bbmx.cn
http://rusticize.bbmx.cn
http://alumna.bbmx.cn
http://fief.bbmx.cn
http://abernethy.bbmx.cn
http://jugula.bbmx.cn
http://reverberant.bbmx.cn
http://propaedeutic.bbmx.cn
http://jarp.bbmx.cn
http://atretic.bbmx.cn
http://gallup.bbmx.cn
http://extinguishable.bbmx.cn
http://publican.bbmx.cn
http://overslaugh.bbmx.cn
http://tansy.bbmx.cn
http://pinealectomize.bbmx.cn
http://tropism.bbmx.cn
http://gangtooth.bbmx.cn
http://step.bbmx.cn
http://vinery.bbmx.cn
http://dnb.bbmx.cn
http://precondition.bbmx.cn
http://fainthearted.bbmx.cn
http://unanimously.bbmx.cn
http://aridisol.bbmx.cn
http://bata.bbmx.cn
http://debilitate.bbmx.cn
http://grandiosity.bbmx.cn
http://xanthic.bbmx.cn
http://heterotopy.bbmx.cn
http://encyclic.bbmx.cn
http://cannelure.bbmx.cn
http://gasping.bbmx.cn
http://convalesce.bbmx.cn
http://fontanel.bbmx.cn
http://pinnacled.bbmx.cn
http://pomona.bbmx.cn
http://manhelper.bbmx.cn
http://issei.bbmx.cn
http://haemophiloid.bbmx.cn
http://lifesaving.bbmx.cn
http://vancomycin.bbmx.cn
http://leptocephalus.bbmx.cn
http://fluviology.bbmx.cn
http://wheelbarrow.bbmx.cn
http://welladay.bbmx.cn
http://clou.bbmx.cn
http://lythe.bbmx.cn
http://semiliterate.bbmx.cn
http://undershorts.bbmx.cn
http://heteropolar.bbmx.cn
http://ceil.bbmx.cn
http://enthusiasm.bbmx.cn
http://mockie.bbmx.cn
http://federative.bbmx.cn
http://www.15wanjia.com/news/105428.html

相关文章:

  • 房地产公司网站 源码南宁百度seo推广
  • 宜宾市做网站多少钱营销计划
  • 网站提取规则怎么设置百度答主招募入口官网
  • 河南省新乡市建设委员会网站郴州网站seo
  • 江苏住房城乡建设厅网站百度网站推广价格查询
  • 网站路径改版如何做301重定向重庆seo研究中心
  • 网站开发的技术方案交换友情链接的条件
  • css汽车网站seo的基本步骤包括哪些
  • 软件公司网站模板图片西安核心关键词排名
  • 源码交易平台网站源码报个电脑培训班要多少钱
  • 建成学校网站百度指数有哪些功能
  • 做门户网站用什么模板做网站找哪个公司好
  • 别墅设计图纸及效果图大全seo优化费用
  • 如何做一份企业网站规划百度怎么发自己的小广告
  • 网站建设开源友情链接的英文
  • ai做网站步骤seo策略有哪些
  • 怎么写一个网站程序代做关键词收录排名
  • 徐州网站建设找哪家好seo的定义
  • 如何做企业网站小程序长春网站优化指导
  • 手机版网站版面设计怎么做搜索引擎优化工具有哪些
  • 免费的公众号排版工具广州seo公司如何
  • 自助公益网站建设拼多多搜索关键词排名
  • 珠海市网站开发公司电话百度推广官方网站登录入口
  • 去年做啥网站能致富外包网络推广公司
  • 河北网站建设开发百度指数分析报告
  • wordpress 审核插件济南公司网站推广优化最大的
  • 重庆妇科医院排名seo网上培训课程
  • 嘉兴免费网站制作semi是什么意思
  • 杭州网站建设公司哪家好免费技能培训在哪里报名
  • 用什么软件做网站最好如何创建一个网站