🤖 AI Summary
Infrastructure-as-Code (IaC) practices—particularly Terraform configurations—frequently induce resource waste and environmental unsustainability due to poor design choices. Method: This study systematically identifies and defines seven “sustainability code smells” in IaC through expert interviews, qualitative code analysis, and a large-scale empirical study of 28,327 open-source Terraform scripts. Contribution/Results: We reveal that smell causes are inherently multi-factorial and interdependent; all seven smells occur pervasively, with “Monolithic Infrastructure” being the most prevalent (9.67% occurrence rate), confirming widespread sustainability challenges in IaC development. Our work establishes the first taxonomy of IaC sustainability smells and provides an empirically grounded, detectable, and actionable foundation for green cloud operations and sustainable infrastructure engineering.
📝 Abstract
Practitioners use Infrastructure as Code (IaC) scripts to efficiently configure IT infrastructures through machine-readable definition files. However, during the development of these scripts, some code patterns or deployment choices may lead to sustainability issues like inefficient resource utilization or redundant provisioning for example. We call this type of patterns sustainability smells. These inefficiencies pose significant environmental and financial challenges, given the growing scale of cloud computing. This research focuses on Terraform, a widely adopted IaC tool. Our study involves defining seven sustainability smells and validating them through a survey with 19 IaC practitioners. We utilized a dataset of 28,327 Terraform scripts from 395 open-source repositories. We performed a detailed qualitative analysis of a randomly sampled 1,860 Terraform scripts from the original dataset to identify code patterns that correspond to the sustainability smells and used the other 26,467 Terraform scripts to study the prevalence of the defined sustainability smells. Our results indicate varying prevalence rates of these smells across the dataset. The most prevalent smell is Monolithic Infrastructure, which appears in 9.67% of the scripts. Additionally, our findings highlight the complexity of conducting root cause analysis for sustainability issues, as these smells often arise from a confluence of script structures, configuration choices, and deployment contexts.