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
Early online dateJun 20 2024
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