Thu 24 Oct 2024 12:00 - 12:20 at IBR East - Software Engineering Chair(s): Michael Coblenz

Modern applications have become increasingly complex and their manual installation and configuration is no longer practical. Instead, IT organizations heavily rely on Infrastructure as Code (IaC) technologies, to automate the provisioning, configuration, and maintenance of computing infrastructures and systems. IaC systems typically offer declarative, domain-specific languages (DSLs) that allow system administrators and developers to write high-level programs that specify the desired state of their infrastructure in a reliable, predictable, and documented fashion. Just like traditional programs, IaC programs are not immune to faults, with issues ranging from deployment failures to critical misconfigurations that often impact production systems used by millions of end users. Surprisingly, despite their crucial role in global infrastructure management, the reliability of IaC programs has not received much attention from the community.

In this work, we conduct a comprehensive analysis of 360 bugs identified in IaC programs within prominent IaC ecosystems including Ansible, Puppet, and Chef. Our work is the first in-depth exploration of bug characteristics in these widely-used IaC environments. Through our analysis we aim to understand: (1) how these bugs manifest, (2) their underlying root causes, (3) their reproduction requirements in terms of system state (e.g., operating system versions) or input characteristics, and (4) how these bugs are fixed. Based on our findings, we evaluate the state-of-the-art techniques for IaC reliability, identify their limitations, and provide a set of recommendations for future research. We believe that our study helps researchers to (1) better understand the complexity and peculiarities of IaC programs, and (2) develop advanced tooling for more reliable and robust system configurations.

Thu 24 Oct

Displayed time zone: Pacific Time (US & Canada) change

10:40 - 12:20
Software EngineeringOOPSLA 2024 at IBR East
Chair(s): Michael Coblenz University of California, San Diego
10:40
20m
Talk
AdoB: Bridging Benign and Byzantine Consensus with Atomic Distributed Objects
OOPSLA 2024
Wolf Honore Yale University, Longfei Qiu Yale University, Yoonseung Kim Yale University, Ji-Yong Shin Northeastern University, Jieung Kim Yonsei University, Zhong Shao Yale University
DOI
11:00
20m
Talk
Dependency-aware Code NaturalnessRemote
OOPSLA 2024
Chen Yang Tianjin University, Junjie Chen Tianjin University, Jiajun Jiang Tianjin University, Yuliang Huang College of Intelligence and Computing, Tianjin University
DOI
11:20
20m
Talk
Iterative-Epoch Online Cycle Elimination for Context-Free Language Reachability
OOPSLA 2024
Pei Xu University of Technology Sydney / UNSW Sydney, Yuxiang Lei UNSW Sydney, Yulei Sui UNSW, Jingling Xue UNSW Sydney
DOI
11:40
20m
Talk
Wasm-R3: Record-Reduce-Replay for Realistic and Standalone WebAssembly Benchmarks
OOPSLA 2024
Doehyun Baek KAIST, Jakob Getz University of Stuttgart, Yusung Sim KAIST, Daniel Lehmann Google, Germany, Ben L. Titzer Carnegie Mellon University, Sukyoung Ryu KAIST, Michael Pradel University of Stuttgart
DOI
12:00
20m
Talk
When Your Infrastructure is a Buggy Program: Understanding Faults in Infrastructure as Code Ecosystems
OOPSLA 2024
Georgios-Petros Drosos ETH Zurich, Thodoris Sotiropoulos ETH Zurich, Georgios Alexopoulos University of Athens, Dimitris Mitropoulos University of Athens, Zhendong Su ETH Zurich
DOI