论文原文地址

在初读论文的时候,我深刻感觉到了我的英语水平很大程度上限制了我的理解,所以我本次使用了AI来进行翻译并中英对照阅读论文,希望我经过一段时间的中英对照,能掌握独立阅读原稿的英文水平。

↑是我翻译后的论文文件(图片与表格没有贴上去,但在阅读时我有对应原稿看的!)


本文主要记录杂七杂八的学习感受,觉得新奇的 & 有意义的都记录了一下,并进行了一些补充。


单元测试的主要目标是通过隔离程序的各个组件或单元并执行单元测试用例来验证它们。


搜索策略

three-stage “Quasi-Gold Standard”

  1. Manual Search and Search Items:首先进行手动搜索以确定一组种子相关论文并推导出搜索字符串
  2. Automatic Search and Study Selection:利用该搜索字符串执行自动搜索,并采用一系列相对严格的筛选步骤来提取最相关的研究
  3. Snowballing Search:使用滚雪球搜索法,通过手动检查参考文献和引用来进一步补充搜索结果

SE 常识积累

总览:https://www.ccf.org.cn/Academic_Evaluation/TCSE_SS_PDL/

论文中提到的 四个顶级 SE 会议包括:ICSE、ESEC/FSE、ASE、ISSTA

  • ICSE (International Conference on Software Engineering)
    全称: 国际软件工程大会
    简介: ICSE 是软件工程领域规模最大、影响力最强、历史最悠久的会议(始于1975年)。它由 IEEE TCSE 和 ACM SIGSOFT 联合主办。能中一篇 ICSE 是大多数软工研究者的梦想。
    侧重点: 大而全。
  • ESEC/FSE (ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering)
    全称: 欧洲软件工程会议 / ACM 软件工程基础研讨会
    简介: 通常简称为 FSE。它是 ACM SIGSOFT 旗下的旗舰会议。虽然名义上常常被视为仅次于 ICSE,但在学术圈的认可度上,FSE 和 ICSE 基本处于同一档次。
    注: 历史上它在欧洲举办时叫 ESEC/FSE,在北美举办时叫 FSE。近年来正在统一品牌,未来可能更多直接称为 FSE。
    侧重点: 同样是 大而全 的综合性会议。涵盖范围与 ICSE 高度重合。
  • ASE (International Conference on Automated Software Engineering)
    全称: 国际自动化软件工程会议
    简介: ASE 曾经是一个专注于“自动化”的小而精的会议,但随着 AI 技术(特别是大模型 LLM)在软件工程中的爆发,ASE 的地位急速上升,从 CCF-B 升级为 CCF-A,含金量极高。
    侧重点: 核心关键词是 Automated(自动化)。它特别青睐那些能减少人工干预、提高软件开发效率的工具和方法。
    主要话题: 自动程序修复(APR)、自动代码生成、智能测试生成、形式化方法的自动化应用、AI for SE。
  • ISSTA (International Symposium on Software Testing and Analysis)
    全称: 国际软件测试与分析研讨会
    简介: ISSTA 是 ACM SIGSOFT 旗下的另一个王牌会议,专注于“测试”和“分析”这两个细分领域。它也在前几年从 CCF-B 升级为了 CCF-A,确立了其作为领域专精顶会的地位。
    侧重点: Testing(测试) 和 Analysis(分析)。
    主要话题: 模糊测试(Fuzzing)、静态分析、动态分析、符号执行、并发错误检测、安全漏洞挖掘等。

两个期刊:TOSEM 和 TSE

  • TSE (IEEE Transactions on Software Engineering)
    全称: IEEE 软件工程汇刊
    主办方: IEEE Computer Society
    简介: TSE 创刊于 1975 年(与 ICSE 同年),长期以来被视为软件工程领域的最高学术殿堂。在很多老派学者眼中,TSE 的地位是不可撼动的。
  • TOSEM (ACM Transactions on Software Engineering and Methodology)
    全称: ACM 软件工程与方法论汇刊
    主办方: ACM (Association for Computing Machinery)
    简介: TOSEM 创刊于 1992 年,虽然比 TSE 晚,但凭借 ACM 的学术影响力,迅速成为与 TSE 并驾齐驱的顶级期刊。
    风格与侧重: 相比 IEEE 偏向“工程”,ACM 的 TOSEM 往往更偏向“计算机科学”本身。它喜欢在算法设计、模型构建上有显著突破的文章。

广泛使用的数据库: Google Scholar 文库、ACM 数字图书馆和 IEEE Explorer 数字图书馆


应用 LLM 的单元测试任务(任务分类)

从这里大致可以看出现在大家在做什么,包括“写测试代码”(Test Generation),还有“生成断言”(Oracle Generation)、“修复旧测试”(Test Evolution)、“测试代码补全”等等。

(以后看论文的时候可以对号入座)


基于 LLM 的测试生成技术(技术路线)

目前主要分为两派:

微调派(Fine-tuning)(自己训练模型)

 提示工程派(Prompting)(写好 Prompt 问 GPT)


评估指标

Code Coverage(代码覆盖率)、Pass Rate(通过率)、(compilation rates)编译率、Bug Detection(Bug 检测能力)

作者表示Bug Detection现在比较少,值得进一步研究。


LLM 的采用与分布


挑战与机遇

复杂单元测试的上下文处理

真实bug检测能力不足

专用LLM开发困难


端到端测试-调试框架

拓展测试优化、优先级等任务

多模态上下文整合(代码+文档+GUI)


Melon_Musk

猛男嘤嘤!

0 条评论

发表评论

邮箱地址不会被公开。 必填项已用*标注