Druckansicht der Internetadresse:

Faculty of Mathematics, Physics and Computer Sciences

Software Engineering Group – Prof. Dr. Sebastian Baltes

Print page

News

Overview


Paper accepted at ICSE SEIP 2024

20.12.2023

Our paper Taming Timeout Flakiness: An Empirical Study of SAP HANA has been accepted at the Software Engineering in Practice track of the International Conference on Software Engineering (ICSE) 2024. This paper reports on an empirical study on the relationship of test timeouts and flakiness in SAP's database system HANA, and proposes and evaluates a solution to minimize test timeouts and hence reduce flakiness and test execution costs. This work was done in collaboration with Alexander Berndt and Thomas Bach at SAP.

Paper Abstract:

Context: Regression testing aims to prevent code changes from breaking existing features. Flaky tests negatively affect regression testing because they result in test failures that are not necessarily caused by code changes, thus providing an ambiguous signal. Test timeouts are one contributing factor to such flaky test failures.
Objective: With the goal of reducing test flakiness in SAP HANA, a large-scale industrial database management system, we empirically study the impact of test timeouts on flakiness in system tests. We evaluate different approaches to automatically adjust timeout values, assessing their suitability for reducing execution time costs and improving build turnaround times.
Method: We collect metadata on SAP HANA's test executions by repeatedly executing tests on the same code revision over a period of six months. We analyze the test flakiness rate, investigate the evolution of test timeout values, and evaluate different approaches for optimizing timeout values.
Results: The test flakiness rate ranges from 49% to 70%, depending on the number of repeated test executions. Test timeouts account for 70% of flaky test failures. Developers typically react to flaky timeouts by manually increasing timeout values or splitting long-running tests. However, manually adjusting timeout values is a tedious and ineffective task. Our approach for timeout optimization reduces timeout-related flaky failures by 80% and reduces the overall median timeout value by 25%, i.e., blocked tests are identified faster.
Conclusion: Test timeouts are a major contributing factor to flakiness in SAP HANA's system tests. It is challenging for developers to effectively mitigate this problem manually. Our technique for optimizing timeout values reduces flaky failures while minimizing test costs. Practitioners working on large-scale industrial software systems can use our findings to increase the effectiveness of their system tests while reducing the burden on developers to manually maintain appropriate timeout values.

A preprint of the paper is available here.