TASTING: Reuse Test-case Execution by Global AST Hashing

Tobias Landsberg, Christian Dietrich, Daniel Lohmann

2022

Abstract

We describe TASTING, an approach for efficiently selecting and reusing regression-test executions across program changes, branches, and variants in continuous integration settings. Instead of detecting changes between two variants of the software-under-test, TASTING recursively composes hashes of the defining elements with all their dependencies on AST-level at compile time into a semantic fingerprint of the test and its execution environment. This fingerprint is easy to store and remains stable across changes if the test’s run-time behavior is not affected. Thereby, we can reuse test results across the history, multiple branches, and static compile-time variants. We applied TASTING to three open-source projects (Zephyr, OpenSSL, FFmpeg). Over their development history, we can omit between 10 percent (FFmpeg) and 95 percent (Zephyr) of all test executions at a moderate increase in build time. Furthermore, TASTING enables even higher savings across multiple checkouts (e.g., forks, branches, clones) and static software variants. Over the first changes to 131 OpenSSL forks, TASTING avoids 56 percent redundant test executions; for the Zephyr test matrix (64 variants), we reduce the number of test executions by 94 percent.

Download


Paper Citation


in Harvard Style

Landsberg T., Dietrich C. and Lohmann D. (2022). TASTING: Reuse Test-case Execution by Global AST Hashing. In Proceedings of the 17th International Conference on Software Technologies - Volume 1: ICSOFT, ISBN 978-989-758-588-3, pages 33-45. DOI: 10.5220/0011139200003266


in Bibtex Style

@conference{icsoft22,
author={Tobias Landsberg and Christian Dietrich and Daniel Lohmann},
title={TASTING: Reuse Test-case Execution by Global AST Hashing},
booktitle={Proceedings of the 17th International Conference on Software Technologies - Volume 1: ICSOFT,},
year={2022},
pages={33-45},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0011139200003266},
isbn={978-989-758-588-3},
}


in EndNote Style

TY - CONF

JO - Proceedings of the 17th International Conference on Software Technologies - Volume 1: ICSOFT,
TI - TASTING: Reuse Test-case Execution by Global AST Hashing
SN - 978-989-758-588-3
AU - Landsberg T.
AU - Dietrich C.
AU - Lohmann D.
PY - 2022
SP - 33
EP - 45
DO - 10.5220/0011139200003266