一句话:提出首个一键式结构化配置分析器 Diffy,通过模板学习与无监督异常检测自动发现配置缺陷。
配置错误是系统故障和服务中断的主要原因。现有数据驱动方法只能分析简单配置、识别简单问题类型,或需要大量领域特定调优。Diffy 是首个一键式结构化配置分析器:它从示例配置中学习一个带“洞”的通用模板来刻画配置变化,再通过无监督学习将异常的模板参数识别为可能的缺陷。作者在大型云厂商的广域网、生产级5G网络测试台以及MySQL配置上评估了Diffy,验证了其通用性、性能与准确率。开发期间,Diffy捕获了一个配置计时器值缺陷,该缺陷此前曾导致该云厂商发生服务中断。
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 D iffy , the first push-button configuration analyzer that detects likely bugs in structured configurations. From example configurations, D iffy 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 D iffy on a large cloud provider’s wide-area network, an operational 5G network testbed, and MySQL configurations, demonstrating its versatility, performance, and accuracy. During D iffy ’s development, it caught and prevented a bug in a configuration timer value that had previously caused an outage for the cloud provider.
@article{KakarlaYB24,
title = {Diffy: Data-Driven Bug Finding for Configurations},
author = {Siva Kesava Reddy Kakarla and Francis Y. Yan and Ryan Beckett},
journal = {Proceedings of the ACM on Programming Languages},
volume = {8},
number = {PLDI},
year = {2024},
doi = {10.1145/3656385}
}