TY - JOUR
T1 - Diffy
T2 - Data-Driven Bug Finding for Configurations
AU - Kakarla, Siva Kesava Reddy
AU - Yan, Francis Y.
AU - Beckett, Ryan
N1 - Publisher Copyright:
© 2024 Owner/Author.
PY - 2024/6/20
Y1 - 2024/6/20
N2 - Configuration errors remain a major cause of system failures and service outages. One promising approach to identify configuration errors automatically is to learn common usage patterns (and anti-patterns) using data-driven methods. However, existing data-driven learning approaches analyze only simple configurations (e.g., those with no hierarchical structure), identify only simple types of issues (e.g., type errors), or require extensive domain-specific tuning. In this paper, we present Diffy, the first push-button configuration analyzer that detects likely bugs in structured configurations. From example configurations, Diffy learns a common template, with "holes"that capture their variation. It then applies unsupervised learning to identify anomalous template parameters as likely bugs. We evaluate Diffy on a large cloud provider's wide-Area network, an operational 5G network testbed, and MySQL configurations, demonstrating its versatility, performance, and accuracy. During Diffy's development, it caught and prevented a bug in a configuration timer value that had previously caused an outage for the cloud provider.
AB - Configuration errors remain a major cause of system failures and service outages. One promising approach to identify configuration errors automatically is to learn common usage patterns (and anti-patterns) using data-driven methods. However, existing data-driven learning approaches analyze only simple configurations (e.g., those with no hierarchical structure), identify only simple types of issues (e.g., type errors), or require extensive domain-specific tuning. In this paper, we present Diffy, the first push-button configuration analyzer that detects likely bugs in structured configurations. From example configurations, Diffy learns a common template, with "holes"that capture their variation. It then applies unsupervised learning to identify anomalous template parameters as likely bugs. We evaluate Diffy on a large cloud provider's wide-Area network, an operational 5G network testbed, and MySQL configurations, demonstrating its versatility, performance, and accuracy. During Diffy's development, it caught and prevented a bug in a configuration timer value that had previously caused an outage for the cloud provider.
KW - anomaly detection
KW - configuration bug finding
KW - template synthesis
UR - http://www.scopus.com/inward/record.url?scp=85196802641&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85196802641&partnerID=8YFLogxK
U2 - 10.1145/3656385
DO - 10.1145/3656385
M3 - Article
AN - SCOPUS:85196802641
SN - 2475-1421
VL - 8
JO - Proceedings of the ACM on Programming Languages
JF - Proceedings of the ACM on Programming Languages
M1 - 8
ER -