中文版 | English
题名

Understanding and Facilitating the Co-Evolution of Production and Test Code

作者
通讯作者Liu,Yepang
DOI
发表日期
2021-03-01
会议名称
2021 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER)
ISSN
1534-5351
ISBN
978-1-7281-9631-2
会议录名称
页码
272-283
会议日期
9-12 March 2021
会议地点
Honolulu, HI, USA
摘要

Software products frequently evolve. When the production code undergoes major changes such as feature addition or removal, the corresponding test code typically should co-evolve. Otherwise, the outdated test may be ineffective in revealing faults or cause spurious test failures, which could confuse developers and waste QA resources. Despite its importance, maintaining such co-evolution can be time- and resource-consuming. Existing work has disclosed that, in practice, test code often fails to co-evolve with the production code. To facilitate the co-evolution of production and test code, this work explores how to automatically identify outdated tests. To gain insights into the problem, we conducted an empirical study on 975 open-source Java projects. By manually analyzing and comparing the positive cases, where the test code co-evolves with the production code, and the negative cases, where the co-evolution is not observed, we found that various factors (e.g., the different language constructs modified in the production code) can determine whether the test code should be updated. Guided by the empirical findings, we proposed a machine-learning based approach, SITAR, that holistically considers different factors to predict test changes. We evaluated SITAR on 20 popular Java projects. These results show that SITAR, under the within-project setting, can reach an average precision and recall of 81.4% and 76.1%, respectively, for identifying test code that requires update, which significantly outperforms rule-based baseline methods. SITAR can also achieve promising results under the cross-project setting and multiclass prediction, which predicts the exact change types of test code.

关键词
学校署名
第一 ; 通讯
语种
英语
相关链接[Scopus记录]
收录类别
WOS记录号
WOS:000675825200024
EI入藏号
20212210433696
EI主题词
Java programming language ; Open source software ; Reengineering ; Turing machines
EI分类号
Computer Theory, Includes Formal Logic, Automata Theory, Switching Theory, Programming Theory:721.1 ; Computer Software, Data Handling and Applications:723 ; Computer Programming Languages:723.1.1 ; Quality Assurance and Control:913.3
Scopus记录号
2-s2.0-85106656597
来源库
Scopus
全文链接https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9425945
引用统计
被引频次[WOS]:9
成果类型会议论文
条目标识符http://sustech.caswiz.com/handle/2SGJ60CL/229607
专题工学院_计算机科学与工程系
作者单位
1.Southern University of Science and Technology,Guangdong Provincial Key Laboratory of Brain-inspired Intelligent Computation,Department of Computer Science and Engineering,Shenzhen,China
2.Huazhong University of Science and Technology,School of Cyber Science and Engineering,Wuhan,China
3.Northeastern University,Software College,Shenyang,China
4.Xiamen University,School of Informatics,Xiamen,China
第一作者单位计算机科学与工程系
通讯作者单位计算机科学与工程系
第一作者的第一单位计算机科学与工程系
推荐引用方式
GB/T 7714
Wang,Sinan,Wen,Ming,Liu,Yepang,et al. Understanding and Facilitating the Co-Evolution of Production and Test Code[C],2021:272-283.
条目包含的文件
文件名称/大小 文献类型 版本类型 开放类型 使用许可 操作
Understanding_and_Fa(1915KB)----限制开放--
个性服务
原文链接
推荐该条目
保存到收藏夹
查看访问统计
导出为Endnote文件
导出为Excel格式
导出为Csv格式
Altmetrics Score
谷歌学术
谷歌学术中相似的文章
[Wang,Sinan]的文章
[Wen,Ming]的文章
[Liu,Yepang]的文章
百度学术
百度学术中相似的文章
[Wang,Sinan]的文章
[Wen,Ming]的文章
[Liu,Yepang]的文章
必应学术
必应学术中相似的文章
[Wang,Sinan]的文章
[Wen,Ming]的文章
[Liu,Yepang]的文章
相关权益政策
暂无数据
收藏/分享
所有评论 (0)
[发表评论/异议/意见]
暂无评论

除非特别说明,本系统中所有内容都受版权保护,并保留所有权利。