Empirically Comparing the Test Suite Reduction Techniques in Continuous Integration Process: How Test Suite Reduction Impacts Fault Localization

Jutarporn Intasara, Chu-Ti Lin
{"title":"Empirically Comparing the Test Suite Reduction Techniques in Continuous Integration Process: How Test Suite Reduction Impacts Fault Localization","authors":"Jutarporn Intasara, Chu-Ti Lin","doi":"10.1145/3478301.3478304","DOIUrl":null,"url":null,"abstract":"In a continuous integration (CI) environment, software developers can frequently integrate the new or modified code to codebase and ensure the correctness of the modification by performing regression testing (RT). RT generally takes long time but the time period allocated for it is limited in practice. A CI environment can adopt test suite reduction (TSR) to improve RT and accelerate debugging by performing spectrum-based fault localization (SBFL). Yet, different TSR techniques will achieve different program test spectra and SBFL will operate based on these test spectra. Thus, the selection of TSR techniques has influence on both the effectiveness of the fault localization (FL) and the length of a CI period. If developers want to improve the CI by including TSR and SBFL, they have to choose a suitable TSR technique to maximize the FL effectiveness and minimize the CI period length. In this paper, we consider a TSR technique as the combination of the TSR strategy, the metric to evaluate test cases, and the coverage granularity level. We will analyze the impact caused by these three factors. Our study covers three TSR strategies, four metrics to evaluate test cases, and three coverage granularity levels, thus resulting in 36 TSR techniques. We investigate how each of the 36 TSR techniques affects the FL effectiveness and the CI period length by conducting the experiment based on seven subject programs that have been frequently adopted in the relevant studies. The experiment results indicate that performing TSR at branch coverage is recommended for optimizing the FL effectiveness while the HGS algorithm is suggested if the CI period length is developers’ main concern.","PeriodicalId":338866,"journal":{"name":"The 2nd European Symposium on Computer and Communications","volume":"33 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2021-04-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"The 2nd European Symposium on Computer and Communications","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3478301.3478304","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

Abstract

In a continuous integration (CI) environment, software developers can frequently integrate the new or modified code to codebase and ensure the correctness of the modification by performing regression testing (RT). RT generally takes long time but the time period allocated for it is limited in practice. A CI environment can adopt test suite reduction (TSR) to improve RT and accelerate debugging by performing spectrum-based fault localization (SBFL). Yet, different TSR techniques will achieve different program test spectra and SBFL will operate based on these test spectra. Thus, the selection of TSR techniques has influence on both the effectiveness of the fault localization (FL) and the length of a CI period. If developers want to improve the CI by including TSR and SBFL, they have to choose a suitable TSR technique to maximize the FL effectiveness and minimize the CI period length. In this paper, we consider a TSR technique as the combination of the TSR strategy, the metric to evaluate test cases, and the coverage granularity level. We will analyze the impact caused by these three factors. Our study covers three TSR strategies, four metrics to evaluate test cases, and three coverage granularity levels, thus resulting in 36 TSR techniques. We investigate how each of the 36 TSR techniques affects the FL effectiveness and the CI period length by conducting the experiment based on seven subject programs that have been frequently adopted in the relevant studies. The experiment results indicate that performing TSR at branch coverage is recommended for optimizing the FL effectiveness while the HGS algorithm is suggested if the CI period length is developers’ main concern.
持续集成过程中测试集缩减技术的经验比较:测试集缩减对故障定位的影响
在持续集成(CI)环境中,软件开发人员可以频繁地将新的或修改的代码集成到代码库中,并通过执行回归测试(RT)来确保修改的正确性。RT通常耗时较长,但在实践中为其分配的时间有限。CI环境可以采用测试套件缩减(TSR),通过基于频谱的故障定位(SBFL)来提高RT和加快调试速度。然而,不同的TSR技术将获得不同的程序测试谱,SBFL将基于这些测试谱运行。因此,TSR技术的选择既影响故障定位的有效性,也影响故障定位周期的长度。如果开发人员希望通过包括TSR和SBFL来改善CI,他们必须选择合适的TSR技术来最大化FL有效性并最小化CI周期长度。在本文中,我们将TSR技术视为TSR策略、评估测试用例的度量和覆盖粒度级别的组合。我们将分析这三个因素造成的影响。我们的研究涵盖了三种TSR策略,四种评估测试用例的度量,以及三种覆盖粒度级别,从而产生了36种TSR技术。我们通过在相关研究中经常采用的七个主题项目进行实验,研究了36种TSR技术中每一种技术如何影响FL有效性和CI周期长度。实验结果表明,建议在分支覆盖上执行TSR来优化FL的有效性,而如果开发人员主要关注CI周期长度,则建议使用HGS算法。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信