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

Daniel Elsner, Severin Kacianka, Stephan Lipp, Alexander Pretschner, Axel Habermann, Maria Graber, Silke Reimer

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

2 Scopus citations

Abstract

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.

Original languageEnglish
Title of host publicationProceedings - 2023 IEEE 16th International Conference on Software Testing, Verification and Validation, ICST 2023
PublisherInstitute of Electrical and Electronics Engineers Inc.
Pages327-338
Number of pages12
ISBN (Electronic)9781665456661
DOIs
StatePublished - 2023
Event16th IEEE International Conference on Software Testing, Verification and Validation, ICST 2023 - Dublin, Ireland
Duration: 16 Apr 202320 Apr 2023

Publication series

NameProceedings - 2023 IEEE 16th International Conference on Software Testing, Verification and Validation, ICST 2023

Conference

Conference16th IEEE International Conference on Software Testing, Verification and Validation, ICST 2023
Country/TerritoryIreland
CityDublin
Period16/04/2320/04/23

Keywords

  • C++
  • Software testing
  • cross-language links
  • multi-language software
  • non-code artifacts
  • regression test selection

Fingerprint

Dive into the research topics of 'BinaryRTS: Cross-language Regression Test Selection for C++ Binaries in CI'. Together they form a unique fingerprint.

Cite this