当前位置:首页 > 报告详情

文明-缺陷自动修复的卡脖子问题.pdf

上传人: 2*** 编号:153911 2024-02-05 51页 7.42MB

1、缺陷自动修复的“卡脖子”问题补丁正确性验证技术文明 华中科技大学演讲嘉宾文明华中科技大学 副教授文明博士主要聚焦软件安全、软件测试与分析、以及代码大模型安全等研究,在软件工程领域累计发表了CCF-A类推荐会议或期刊40余篇,其他高水平论文10余篇。主持国家自然科学基金青年项目、面上项目、以及包括华为胡杨林基金系统软件专项在内的多项企业合作项目,参与湖北省重点研发项目等重要课题,担任了中国计算机学会系统软件、以及软件工程专委会委员。他常年担任TSE,TOSEM,TDSC等CCF-A类国际期刊的审稿人,以及CCF-A/B类会议ASE 2021/2023,ESEC/FSE 2022/2024,SAN

2、ER 2022,ISSRE 2022/2023的程序委员会委员。同时也荣获了Internetware 2023杰出论文奖、ACM 新星奖 2023(武汉)、以及入选了第七届中国科协青年人才托举工程计划。目 录CONTENTS1.程序自动修复与补丁正确性验证2.基于表示学习的补丁验证3.基于缺陷定位的补丁排序4.总结与展望程序自动修复与补丁正确性验证PART 01程序自动修复发展历程 The problem was first formulated in 2005 Jobstmann,CAV 05 Since GenProg Weimer,ICSE 09 was proposed in 2009

3、,APR has received huge research interests.https:/program-repair.org/bibliography.html Background Conventional ApproachesLLM-basedDeep-Learningbased程序自动修复工业界实践Finding and fixing software bugs automatically with SapFix and Sapienz程序自动修复 SapFix修复框架bug detected4:Revert Partial Diff3:Revert Full Diff1:Te

4、mplate2:MutationtriggersSapienz Auto TriageTrigger Patch GeneratorFix Patch GeneratorValidated RevisionCredit:FacebookAble to identify the diffs that possibly induce the failing testsRevert subsets of diffs so that the revised program compiles successfullySapienz selects tests for each recent code d

5、iff.Bug triage:When tests fail,identify the developer who submitted the code diffWhether all tests are passedpatch strategyAdd null pointer check程序自动修复基本流程Step 2Identify the suspicious buggy locations1:Localization2:Modify ProgramValidation of plausible patches3:Patch ValidationMutants GenerationVal

6、idation by TestsBehavioral AnalysisFix SynthesisSearch-basedSemantics-based(also known as generate-and-validate)General Process Conventional Automated Program Repair Approaches 程序自动修复技术基本流程 General Process Lutellier,Thibaud,Hung Viet Pham,Lawrence Pang,Yitong Li,Moshi Wei,and Lin Tan.“Coconut:combin

word格式文档无特别注明外均可编辑修改,预览文件经过压缩,下载原文更清晰!
三个皮匠报告文库所有资源均是客户上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作商用。
本文主要介绍了程序自动修复和补丁正确性验证技术。首先,作者概述了程序自动修复的发展历程,包括传统的基于搜索的方法和基于深度学习的方法。然后,作者详细讨论了补丁正确性验证技术,包括基于静态特征的方法、基于动态测试的方法和基于表示学习的方法。作者还提出了基于缺陷定位的补丁排序方法,通过分析变量执行矩阵和变异分析来提高补丁排序的准确性。最后,作者总结了当前的研究进展,并展望了未来的研究方向,包括更好的补丁表示学习、更好的提示设计以及微调大型语言模型。
程序自动修复技术如何提高补丁正确性? 基于表示学习的补丁验证方法有哪些优势? 如何利用大模型提升程序自动修复效果?
客服
商务合作
小程序
服务号
折叠