@inproceedings{80eaeef827804ed2b8483c373bdbeb5d,
title = "Test-case prioritization for configuration testing",
abstract = "Configuration changes are among the dominant causes of failures of large-scale software system deployment. Given the velocity of configuration changes, typically at the scale of hundreds to thousands of times daily in modern cloud systems, checking these configuration changes is critical to prevent failures due to misconfigurations. Recent work has proposed configuration testing, Ctest, a technique that tests configuration changes together with the code that uses the changed configurations. Ctest can automatically generate a large number of ctests that can effectively detect misconfigurations, including those that are hard to detect by traditional techniques. However, running ctests can take a long time to detect misconfigurations. Inspired by traditional test-case prioritization (TCP) that aims to reorder test executions to speed up detection of regression code faults, we propose to apply TCP to reorder ctests to speed up detection of misconfigurations. We extensively evaluate a total of 84 traditional and novel ctest-specific TCP techniques. The experimental results on five widely used cloud projects demonstrate that TCP can substantially speed up misconfiguration detection. Our study provides guidelines for applying TCP to configuration testing in practice.",
keywords = "Configuration, Reliability, Software testing, Test prioritization",
author = "Runxiang Cheng and Lingming Zhang and Darko Marinov and Tianyin Xu",
note = "Funding Information: We thank the anonymous reviewers for their valuable feedback. This work was partially supported by NSF grants CCF-1763788, 1763906, 1816615, 1942430, 2029049, and CNS-1740916, 1956007. We also acknowledge support for research on regression testing from Facebook, Futurewei, and Google; a Facebook Distributed Systems Research award; Microsoft Azure credits; and Google Cloud credits. Funding Information: We thank the anonymous reviewers for their valuable feedback. This work was partially supported by NSF grants CCF-1763788, 1763906, 1816615, 1942430, 2029049, and CNS-1740916, 1956007.We also acknowledge support for research on regression testing from Facebook, Futurewei, and Google; a Facebook Distributed Systems Research award; Microsoft Azure credits; and Google Cloud credits Publisher Copyright: {\textcopyright} 2021 ACM.; 30th ACM SIGSOFT International Symposium on Software Testing and Analysis, ISSTA 2021 ; Conference date: 11-07-2021 Through 17-07-2021",
year = "2021",
month = jul,
day = "11",
doi = "10.1145/3460319.3464810",
language = "English (US)",
series = "ISSTA 2021 - Proceedings of the 30th ACM SIGSOFT International Symposium on Software Testing and Analysis",
publisher = "Association for Computing Machinery",
pages = "452--465",
editor = "Cristian Cadar and Xiangyu Zhang",
booktitle = "ISSTA 2021 - Proceedings of the 30th ACM SIGSOFT International Symposium on Software Testing and Analysis",
address = "United States",
}