Test failures are one of the most common reasons for broken builds in continuous integration. It is expensive to diagnose all test failures in a build. As test failures are usually caused by a few underlying faults, triaging test failures with respect to their underlying root causes can save test failure diagnosis cost. Existing failure triage methods are mostly developed for triaging crash or bug reports, and hence not ap-plicable in the context of test failure triage in continuous integration. In this paper, we first present a large-scale empirical study on 163,371 broken builds caused by test failures to characterize test failures in real-world Java projects. Then, motivated by our study, we propose a new change-aware approach, BuildSheriff, to triage test failures in each continuous integration build such that test failures with the same root cause are put in the same cluster. Our evaluation on 200 broken builds has demonstrated that BuildSheriff can significantly improve the state-of-the-art methods on the triaging effectiveness.
CITATION STYLE
Zhang, C., Chen, B., Peng, X., & Zhao, W. (2022). Buildsheriff: Change-Aware Test Failure Triage for Continuous Integration Builds. In Proceedings - International Conference on Software Engineering (Vol. 2022-May, pp. 312–324). IEEE Computer Society. https://doi.org/10.1145/3510003.3510132
Mendeley helps you to discover research relevant for your work.