网站大量收购独家精品文档,联系QQ:2885784924

王博-大语言模型时代的变异分析.docx

  1. 1、本文档共54页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

大语言模型时代的变异分析

王博北京交通大学

演讲嘉宾

王博

北京交通大学计算机与信息技术学院讲师、硕士生导师,CCF专业会员、CCF系统软件专委执行委员、CCF开源发展委员会执行委员。分别于北京大学、中国科学技术大学和中南大学获得博士、硕士和学士学位。研究兴趣为软件测试与调试,已在ASE、ISSTA、TOSEM、软件学报等发表多篇

论文。担任ASE、FSE、ICST、Internetware等软件工程重要会议PC,担任TSE、TOSEM、TDSC、EMSE、JSS、ASEJ、IETSoftware、JSME、软件学报等多个期刊审稿人。获得ISSTA2017杰出论文奖,全国大学生系统能力大赛优秀指导教师和北京市高校优质教案。

1.背景

目录CONTENTS2.

目录

CONTENTS

3.解决思路

4.具体实现

5.总结与展望

PART01

背景

软件正确性至关重要

欧空局Ariane5波音737Max坠机

海湾战争中爱国者飞弹

7.23事故

?软件缺陷已经导致很多灾难性后果

?保障软件的正确性十分重要

?当我们说软件是正确的:程序的行为符合正确性规约(specification)

保障正确性的方法

1.形式化方法

形式化方法成本很高

2.软件测试

→correct×

→correct

××

输入域

intfoo(inta,intb){returna+b;

}

FormalMethod:

(a=0b=0)||

(a=0b=0)||

(a=0b=0a+b=0)||

(a=0b=0a+b=0)

Testing:

foo(0,1)=1;

foo(INT_MAX,1)=ERROR;

foo(INT_MAX-1,1)=INT_MAX;foo(INT_MAX,INT_MIN)=-1;

输入域

输入域→correct

测试质量直接影响到软件质量

?核心问题是:我们如何度量测试的好坏?

?测试质量达标的系统才有一定的可信度

?测试集约减

?测试排序

?我们朴素的愿望:希望测试能发现真实缺陷

?但是在发现之前,真实的缺陷对于我们是未知的

?“测试可以非常有效地显示bug存在,但却无法证明bug的不存在”

?我们可以使用一些指标,间接地度量测试质量

?测试覆盖

?变异测试:用人造缺陷发现率估计真实缺陷发现率

变异测试概览

程序

生成变异体(mutant):

变异算子(mutationoperator)

变异体

每个变异体是原始程序的小型文法改动

变异测试概览

测试集程序

测试集

生成变异体(mutant):

变异算子(mutationoperator)

被测试集杀死的变异

的比例:

执行测试变异体变异分数(Mutation

执行测试

变异体

score)

变异测试在软件测试中的发展

?变异测试自1971年被DeMillo和Hamlet提出以来,是软件测试中的重要方法

?修改位置:从一阶变异(firstorder)到高阶(higher-order),支持修改多处

?在单元测试中:

?面向高级语言源码:C、Java、Python、JS…

?面向中间表示:Javabytecode,LLVM-IR

?从桌面应用到Android、MPI、智能合约程序等

?从单元测试扩展到其他测试阶段:

?集成测试

?设计阶段(例如在基于模型的软件开发过程中针对设计FSM的变异)

从变异测试到变异分析

?基于变异的缺陷自动定位(mutation-basedfaultlocalization)是变异测试的衍生技术

?缺陷自动定位:给定测试集(至少有一个未通过测试)和程序,返回程序中的语句出错可疑度分数。

?传统定位方法:基于测试覆盖信息对语句排序(spectrum-basedfaultlocalization)

?基于变异的方法:通过观察变异对测试结果的改变计算可疑度

?若一个变异使失败测试通过了,那更可能是变异了出错语句

从变异测试到变异分析

变异测试

基于变异的缺陷定位

程序自动修复

软件产品线测试

变异分析

工具和标准程序集

?变异测试

?C语言:

?Proteum(108mutationoperators)

?Milu(High

文档评论(0)

哈哈 + 关注
实名认证
内容提供者

嗨,朋友,我都会用最可爱的语言和最实用的内容,帮助你更好地理解和应对职场中的各种挑战!

1亿VIP精品文档

相关文档