Tortoise: Interactive System Configuration Repair
Aaron Weiss, Arjun Guha, Yuriy Brun

TL;DR
This paper introduces Tortoise, a synthesis-based system that enables safe and maintainable repair of system configuration specifications written in languages like Puppet, by harmonizing shell fixes with high-level configuration repairs.
Contribution
It presents a novel technique that automatically repairs configuration language specifications to align with shell-based fixes, ensuring safety, maintainability, and usability.
Findings
Top-ranked repair chosen by humans 76% of the time
Average human-equivalent repair ranking is 1.31
Effective on 42 repair scenarios with benchmarks
Abstract
System configuration languages provide powerful abstractions that simplify managing large-scale, networked systems. Thousands of organizations now use configuration languages, such as Puppet. However, specifications written in configuration languages can have bugs and the shell remains the simplest way to debug a misconfigured system. Unfortunately, it is unsafe to use the shell to fix problems when a system configuration language is in use: a fix applied from the shell may cause the system to drift from the state specified by the configuration language. Thus, despite their advantages, configuration languages force system administrators to give up the simplicity and familiarity of the shell. This paper presents a synthesis-based technique that allows administrators to use configuration languages and the shell in harmony. Administrators can fix errors using the shell and the technique…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
