Testing Configuration Changes in Context to Prevent Production Failures
Xudong Sun, Runxiang Cheng, Jianyan Chen, Elaine Ang, Owolabi Legunsen, Tianyin Xu
Abstract
Large-scale cloud services deploy hundreds of configuration changes to production systems daily. At such velocity, configuration changes have inevitably become prevalent causes of production failures. Existing misconfiguration detection and configuration validation techniques only check configuration values. These techniques cannot detect common types of failure-inducing configuration changes, such as those that cause code to fail or those that violate hidden constraints.
We present ctests, a new type of tests for detecting failureinducing configuration changes to prevent production failures. The idea behind ctests is simple-connecting production system configurations to software tests so that configuration changes can be tested in the context of code affected by the changes. So, ctests can detect configuration changes that expose dormant software bugs and diverse misconfigurations.
We show how to generate ctests by transforming the many existing tests in mature systems. The key challenge that we address is the automated identification of test logic and oracles that can be reused in ctests. We generated thousands of ctests from the existing tests in five cloud systems.
Our results show that ctests are effective in detecting failure-inducing configuration changes before deployment. We evaluate ctests on real-world failure-inducing configuration changes, injected misconfigurations, and deployed configuration files from public Docker images. Ctests effectively detect real-world failure-inducing configuration changes and misconfigurations in the deployed files.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext c89afe91-15e7-4b8a-af3b-8edf7fb420daCited by top-tier papers28
- Automatic Root Cause Analysis via Large Language Models for Cloud IncidentsYinfang Chen, Huaibing Xie, Minghua Ma, Yu Kang et al.EuroSys 2024 · 175 citations
- Automatic Reliability Testing For Cluster Management ControllersXudong Sun, Wenqing Luo, Jiawei Tyler Gu, Aishwarya Ganesan et al.OSDI 2022 · 44 citations
- Auric: using data-driven recommendation to automatically generate cellular configurationAjay Mahimkar, Ashiwan Sivakumar, Zihui Ge, Shomik Pathak et al.SIGCOMM 2021 · 37 citations
- Test-case prioritization for configuration testingRunxiang Cheng, Lingming Zhang, Darko Marinov, Tianyin XuISSTA 2021 · 34 citations
- Static detection of silent misconfigurations with deep interaction analysisJialu Zhang, Ruzica Piskac, Ennan Zhai, Tianyin XuOOPSLA 2021 · 30 citations
Builds on2
- Understanding and discovering software configuration dependencies in cloud and datacenter systemsQingrong Chen, Teng Wang, Owolabi Legunsen, Shanshan Li et al.FSE 2020 · 54 citations
- Towards Continuous Access Control Validation and ForensicsChengcheng Xiang, Yudong Wu, Bingyu Shen, Mingyao Shen et al.CCS 2019 · 48 citations
Related papers
- Test Selection for Unified Regression TestingShuai Wang, Xinyu Lian, Darko Marinov, Tianyin XuICSE 2023 · 9 citations
- ECFuzz: Effective Configuration Fuzzing for Large-Scale SystemsJunqiang Li, Senyi Li, Keyao Li, Falin Luo et al.ICSE 2024 · 12 citations
- Understanding and Detecting On-The-Fly Configuration BugsTeng Wang, Zhouyang Jia, Shanshan Li, Si Zheng et al.ICSE 2023 · 12 citations
- Automated Reasoning and Detection of Specious Configuration in Large Systems with Symbolic ExecutionYigong Hu, Gongqi Huang, Peng HuangOSDI 2020 · 31 citations
- CP-Detector: Using Configuration-related Performance Properties to Expose Performance BugsHaochen He, Zhouyang Jia, Shanshan Li, Erci Xu et al.ASE 2020 · 14 citations
