Diffy: Data-Driven Bug Finding for Configurations

Siva Kesava Reddy Kakarla, Francis Y. Yan, Ryan Beckett

Research output: Contribution to journalArticlepeer-review

Abstract

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.

Original languageEnglish (US)
Article number8
JournalProceedings of the ACM on Programming Languages
Volume8
DOIs
StatePublished - Jun 20 2024
Externally publishedYes

Keywords

  • anomaly detection
  • configuration bug finding
  • template synthesis

ASJC Scopus subject areas

  • Software
  • Safety, Risk, Reliability and Quality

Fingerprint

Dive into the research topics of 'Diffy: Data-Driven Bug Finding for Configurations'. Together they form a unique fingerprint.

Cite this