BinaryRTS: Cross-language Regression Test Selection for C++ Binaries in CI

BinaryRTS: Cross-language Regression Test Selection for C++ Binaries in CI
复制标题

BinaryRTS:CI 中 C 二进制文件的跨语言回归测试选择

DOI:
--
复制
发表时间:
2023
期刊:
International Conference on Information Control Systems & Technologies
影响因子:
--
通讯作者:
Silke Reimer
Silke Reimer
中科院分区:
--
文献类型:
--
作者:
Daniel Elsner;Severin Kacianka;Stephan Lipp;A. Pretschner;Axel Habermann;Maria Graber;Silke Reimer

文献摘要

参考文献

被引文献

相似文献

持续集成(CI)管道通常用于在合并拉取请求之前执行回归测试。回归测试选择(RTS)旨在减少开发人员所需的测试工作和反馈时间。然而,现有的RTS技术对于使用跨语言链接到编译后的c++二进制文件的测试是不精确的,如果测试使用外部文件则是不安全的。这是有问题的,因为现代软件实际上涉及多种编程语言和(非)代码工件,如配置文件。在本文中,我们介绍了BinaryRTS,这是一种新颖的RTS技术,它利用动态二进制检测来收集所涵盖的函数,并为每个测试访问外部文件。然后,BinaryRTS根据对c++二进制文件或外部(非)代码构件的更改选择测试。当我们在大规模工业环境中评估BinaryRTS时,我们能够排除平均高达74%的测试,而不会遗漏真正的失败。我们发布BinaryRTS作为第一个公开可用的RTS工具,用于涉及c++代码的软件。
Continuous integration (CI) pipelines are commonly used to execute regression tests before pull requests are merged. Regression test selection (RTS) aims to reduce the required testing effort and feedback time for developers. However, existing RTS techniques are imprecise for tests with cross-language links to compiled C++ binaries or unsafe if tests use external files. This is problematic because modern software in fact involves several programming languages and (non-)code artifacts such as configuration files. In this paper, we present BinaryRTS, a novel RTS technique that leverages dynamic binary instrumentation to collect the covered functions and accessed external files for each test. BinaryRTS then selects tests depending on changes issued to C++ binaries or external (non-)code artifacts. When evaluating BinaryRTS in our large-scale industrial context, we are able to exclude on average up to 74% of tests without missing real failures. We release BinaryRTS as the first publicly available RTS tool for software involving C++ code.
DOI: 10.1109/icse.2019.00056
发表时间: 2019-05
期刊: 2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE)
影响因子: --
作者:
Chenguang Zhu;Owolabi Legunsen;A. Shi;Miloš Gligorić
通讯作者: Chenguang Zhu;Owolabi Legunsen;A. Shi;Miloš Gligorić
DOI: 10.1109/icst.2019.00052
发表时间: 2019-04
期刊: 2019 12th IEEE Conference on Software Testing, Validation and Verification (ICST)
影响因子: --
作者:
Hua Zhong;Lingming Zhang;S. Khurshid
通讯作者: Hua Zhong;Lingming Zhang;S. Khurshid
调试 Maven 测试隔离的性能:经验报告
DOI: 10.1145/3395363.3397381
发表时间: 2020
期刊: International Symposium on Software Testing and Analysis
影响因子: --
作者:
Nie, Pengyu;Celik, Ahmet;Coley, Matthew;Milicevic, Aleksandar;Bell, Jonathan;Gligoric, Milos
通讯作者: Gligoric, Milos
跨 JVM 边界的回归测试选择
DOI: 10.1145/3106237.3106297
发表时间: 2017
期刊: Joint Meeting on Foundations of Software Engineering
影响因子: --
作者:
Celik, Ahmet;Vasic, Marko;Milicevic, Aleksandar;Gligoric, Milos
通讯作者: Gligoric, Milos
DOI: 10.1109/issre.2019.00031
发表时间: 2019
期刊: 30th IEEE International Symposium on Software Reliability Engineering (ISSRE 2019
影响因子: --
作者:
Shi, August;Zhao, Peiyuan;Marinov, Darko
通讯作者: Marinov, Darko