Testing is widely recognized as an important stage of the software development lifecycle. Effective software testing can provide benefits such as documentation, bug finding, and preventing regressions. In particular, unit tests document a unit's \textit{intended} functionality. A \textit{test oracle}, typically expressed as an condition, documents the intended behavior of the unit under a given test prefix. Synthesizing a functional test oracle is a challenging problem, as it has to capture the intended functionality and not the implemented functionality. In this paper, we propose \toolName{} (\underline{N}eural \underline{U}nit \underline{T}est \underline{S}uggestions), a unified transformer-based neural approach to infer both exceptional and assertion test oracles based on the context of the focal method. Our approach can handle units with ambiguous or missing documentations, and even units with a missing implementation. We evaluate our approach on both oracle inference accuracy and functional bug-finding. Our technique improves accuracy by 33\% over existing oracle inference approaches, achieving 96\% overall accuracy on a held out test dataset. Furthermore, we show that when integrated with a automated test generation tool (EvoSuite), our approach finds 54 real world bugs in large-scale Java programs, including \DISTINCTBUGS{} bugs that are not found by any other automated testing method in our evaluation.


翻译:测试被公认为软件开发生命周期的一个重要阶段。 有效的软件测试可以提供文档、 错误发现、 防止回归等好处。 特别是, 单位测试记录单位的 \ textit{ intend} 功能。 通常以条件表示的 \ textit{ test oracle} 。 通常以条件表示的 \ textit{ test oracle}, 记录单位在特定测试前缀下的预期行为 。 同步功能测试或触角是一个具有挑战性的问题, 因为它需要捕获预定功能, 而不是执行功能功能功能。 在本文中, 我们提议\ totoolName\ (下线{ 内线{ U} 内线 { 内线{ T} 底线{ { { 底线{ { { { 内线{ { { { { { 内线{ { { { { 内线} } } } 功能 功能 功能 。 。 。 是一个基于统一的变压器的神经方法, 一种统一的变动器基法方法, 用来根据特定测试方法来推断出特殊和声明的测试 。 。 我们的方法可以处理具有模糊性或缺失的单位, 。

0
下载
关闭预览

相关内容

Automator是苹果公司为他们的Mac OS X系统开发的一款软件。 只要通过点击拖拽鼠标等操作就可以将一系列动作组合成一个工作流,从而帮助你自动的(可重复的)完成一些复杂的工作。Automator还能横跨很多不同种类的程序,包括:查找器、Safari网络浏览器、iCal、地址簿或者其他的一些程序。它还能和一些第三方的程序一起工作,如微软的Office、Adobe公司的Photoshop或者Pixelmator等。
【干货书】机器学习速查手册,135页pdf
专知会员服务
127+阅读 · 2020年11月20日
【陈天奇】TVM:端到端自动深度学习编译器,244页ppt
专知会员服务
87+阅读 · 2020年5月11日
Keras François Chollet 《Deep Learning with Python 》, 386页pdf
专知会员服务
160+阅读 · 2019年10月12日
【新书】Python编程基础,669页pdf
专知会员服务
196+阅读 · 2019年10月10日
机器学习入门的经验与建议
专知会员服务
94+阅读 · 2019年10月10日
Transferring Knowledge across Learning Processes
CreateAMind
29+阅读 · 2019年5月18日
ICLR2019最佳论文出炉
专知
12+阅读 · 2019年5月6日
Unsupervised Learning via Meta-Learning
CreateAMind
43+阅读 · 2019年1月3日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
18+阅读 · 2018年12月24日
开发者应当了解的18套机器学习平台
深度学习世界
5+阅读 · 2018年8月14日
Coursera上Python课程(公开课)汇总推荐
AINLP
8+阅读 · 2018年3月11日
计算机视觉近一年进展综述
机器学习研究会
9+阅读 · 2017年11月25日
【学习】(Python)SVM数据分类
机器学习研究会
6+阅读 · 2017年10月15日
深度学习医学图像分析文献集
机器学习研究会
19+阅读 · 2017年10月13日
Arxiv
0+阅读 · 2021年11月9日
Arxiv
8+阅读 · 2021年2月19日
Arxiv
38+阅读 · 2020年12月2日
On Feature Normalization and Data Augmentation
Arxiv
15+阅读 · 2020年2月25日
Fast AutoAugment
Arxiv
5+阅读 · 2019年5月1日
VIP会员
相关VIP内容
【干货书】机器学习速查手册,135页pdf
专知会员服务
127+阅读 · 2020年11月20日
【陈天奇】TVM:端到端自动深度学习编译器,244页ppt
专知会员服务
87+阅读 · 2020年5月11日
Keras François Chollet 《Deep Learning with Python 》, 386页pdf
专知会员服务
160+阅读 · 2019年10月12日
【新书】Python编程基础,669页pdf
专知会员服务
196+阅读 · 2019年10月10日
机器学习入门的经验与建议
专知会员服务
94+阅读 · 2019年10月10日
相关资讯
Transferring Knowledge across Learning Processes
CreateAMind
29+阅读 · 2019年5月18日
ICLR2019最佳论文出炉
专知
12+阅读 · 2019年5月6日
Unsupervised Learning via Meta-Learning
CreateAMind
43+阅读 · 2019年1月3日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
18+阅读 · 2018年12月24日
开发者应当了解的18套机器学习平台
深度学习世界
5+阅读 · 2018年8月14日
Coursera上Python课程(公开课)汇总推荐
AINLP
8+阅读 · 2018年3月11日
计算机视觉近一年进展综述
机器学习研究会
9+阅读 · 2017年11月25日
【学习】(Python)SVM数据分类
机器学习研究会
6+阅读 · 2017年10月15日
深度学习医学图像分析文献集
机器学习研究会
19+阅读 · 2017年10月13日
Top
微信扫码咨询专知VIP会员