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

房春荣-基于大模型的测试断言生成技术.docx

房春荣-基于大模型的测试断言生成技术.docx

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

基于大模型的测试断言生成技术

房春荣南京大学

演讲嘉宾

房春荣

南京大学副教授

博士,南京大学软件学院准聘副教授、特聘研究员,博士生导师,紫金学者,CCF高级会员,系统软件/容错计算专委会委员,主要从事智能软件工程研究(BigCodeAITesting)。主持国家自然科学基金项目3项,国家重点研发项目骨干2项,教育部产学合作协同育人项目3项,横向科研项目若干。在CCF-A会议/期刊发表论文40余篇,获得国际会议最佳论文1项,申请发明专利10余项,部分成果在华为、百度等知名企业应用。曾担任AST、AIST等国际会议程序委员会共同主席,多次担任国际顶级会议程序委员会委员及顶级期刊审稿人,并多次获得杰出审稿人。参编多项软件工程和工业APP相关国家、省、团体标准。获2022年国家级教学成果奖,CCFTCFTC2021年软件测试青年创新奖,2020国家级一流本科课程、2018国家精品在线开放课程《软件测试》。

1.研究背景

2.单元测试生成和修复

目录CONTENTS3

目录

CONTENTS

①初步探索:面向单元测试场景的大模型断言生成能力

②检索角度:基于混合检索增强的单元测试断言生成

③训练角度:基于检索生成协同增强的单元测试断言生成

4.应用验证

5.总结与展望

PART01

研究背景大语言模型和单元测试基础

研究背景-单元测试与测试断言

单元测试:一种被广泛接受的甚至是强制性的开发实践

功能实现预期功能断言问题:预期的行为或测试断言应该是什么

测试前缀{

测试断言

单元测试的例子

研究背景-单元测试生成方法存在的主要问题

大模型生成单元测试的流程图

n以大模型会话迭代为主要框架的代表性方法充分利用了大模型的语义理解和代码生成能力,

n以CODAMOSA为代表的算法,计算资源的开销主要取决于选取的传统测试方法,大模型作为辅助工具来改进传统测试方法

研究背景-单元测试生成方法存在的主要问题

n生成无效测试用例:

大型语言模型(LLMs)可能在上下文不足的情况下生成无效的测试用例,导致编译错误。这意味着生成的测试用例无法成功运行,影响测试过程的有效性。

n缺乏测试和覆盖反馈:

缺乏详细的测试反馈和覆盖率信息可能导致生成的测试用例在运行时出现错误,并且覆盖率低。这意味着生成的测试用例可能未能充分测试目标代码,从而降低了测试的全面性和有效性。

n重复抑制问题:

现有方法中,LLMs可能会陷入自我修复或再生成尝试的重复循环,导致生成过程低效。即模型在面对生成错误时,可能会不断尝试修复同样的错误而无法前进,从而浪费计算资源和时间。

研究背景-单元测试生成方法存在的主要问题

n基于LLM的单元测试生成的局限性:

EvoSuite缺乏深入理解源代码的能力,因此复杂的前提条件缩小了基于有哪些信誉好的足球投注网站的测试生成方法的适用范围。

尽管LLM在理解语义信息和推理生成能力方面表现出色,但生成的测试用例中不可避免地存在编译错误和运行时错误。如果这些错误能够得到修复,LLM生成的测试用例质量将大大提高。

研究背景-自动断言生成方法存在的主要问题

n手动编写单元测试的劳动密集性:

编写测试断言通常非常耗时且劳动密集,需要测试专家手动插入测试输入(如前缀)和测试输出(如断言)。

n现有方法的局限性:

基于深度学习(DL)的方法通常需要大量的训练数据,并且可能在处理特定任务时表现不佳。

依赖于从现有数据中检索相关的测试断言,可能会受到词汇匹配的限制,难以生成语义上有意义的断言。

许多现有方法没有采用联合训练策略,导致检索器和生成器之间缺乏协同优化,无法充分利用各自的优势来生成更准确的断言。

许多现有方法在有限的训练数据上表现不佳,难以生成高质量的断言。

现有使用LLM进行单元测试生成的技术的有效性并没有系统的比较研究。

PART02

单元测试生成和修复

单元测试生成-基于提示引导和动态反馈的大模型测试用例生成

和修复

n生成阶段:是TestART方法的核心步骤,旨在利用大型语言模型(LLM)生成初始的单元测试用例。通过这一阶段,TestART可以自动化生成测试用例,从而减少人工测试的工作量,并提高代码覆盖率。生成阶段的成功执行依赖于有效的上下文预处理和模型提示设计,以充分发挥LLM的潜力。

n修复阶段:修复部分介绍了一种通过联合训练来改进检索增强的深度断言生成方法(AG-RAG),AG-RAG结合外部代码库

文档评论(0)

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

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

1亿VIP精品文档

相关文档