File Download

There are no files associated with this item.

  Links for fulltext
     (May Require Subscription)
Supplementary

Conference Paper: Unearthing Semantic Checks for Cloud Infrastructure-as-Code Programs

TitleUnearthing Semantic Checks for Cloud Infrastructure-as-Code Programs
Authors
Keywordscloud management
configuration mining
infrastructure as code
program analysis
Issue Date2024
Citation
Sosp 2024 Proceedings of the 2024 ACM Sigops 30th Symposium on Operating Systems Principles, 2024, p. 574-589 How to Cite?
AbstractCloud infrastructures are increasingly managed by Infrastructure-as-Code (IaC) frameworks (e.g., Terraform). IaC frameworks enable cloud users to configure their resources in a declarative manner, without having to directly work with low-level cloud API calls. However, with today's IaC tooling, IaC programs that pass the compilation phase may still incur errors at deployment time, resulting in significant disruption. We observe that this stems from a fundamental semantic gap between IaC-level programs and cloud-level requirements - -even a syntactically-correct IaC program may violate cloud-level expectations. To bridge this gap, we develop Zodiac, a tool that can unearth IaC-level semantic checks on cloud-level requirements. It provides an automated pipeline to mine these checks from online IaC repositories and validate them using deployment-based testing. We have applied Zodiac to Terraform resources offered by Microsoft Azure - -a leading IaC framework and a leading cloud vendor - -where it found 500+ semantic checks where violation would produce deployment failures. With these checks, we have identified 200+ buggy Terraform projects and helped fix errors within official Azure provider usage examples.
Persistent Identifierhttp://hdl.handle.net/10722/362950

 

DC FieldValueLanguage
dc.contributor.authorQiu, Yiming-
dc.contributor.authorKon, Patrick Tser Jern-
dc.contributor.authorBeckett, Ryan-
dc.contributor.authorChen, Ang-
dc.date.accessioned2025-10-10T07:43:37Z-
dc.date.available2025-10-10T07:43:37Z-
dc.date.issued2024-
dc.identifier.citationSosp 2024 Proceedings of the 2024 ACM Sigops 30th Symposium on Operating Systems Principles, 2024, p. 574-589-
dc.identifier.urihttp://hdl.handle.net/10722/362950-
dc.description.abstractCloud infrastructures are increasingly managed by Infrastructure-as-Code (IaC) frameworks (e.g., Terraform). IaC frameworks enable cloud users to configure their resources in a declarative manner, without having to directly work with low-level cloud API calls. However, with today's IaC tooling, IaC programs that pass the compilation phase may still incur errors at deployment time, resulting in significant disruption. We observe that this stems from a fundamental semantic gap between IaC-level programs and cloud-level requirements - -even a syntactically-correct IaC program may violate cloud-level expectations. To bridge this gap, we develop Zodiac, a tool that can unearth IaC-level semantic checks on cloud-level requirements. It provides an automated pipeline to mine these checks from online IaC repositories and validate them using deployment-based testing. We have applied Zodiac to Terraform resources offered by Microsoft Azure - -a leading IaC framework and a leading cloud vendor - -where it found 500+ semantic checks where violation would produce deployment failures. With these checks, we have identified 200+ buggy Terraform projects and helped fix errors within official Azure provider usage examples.-
dc.languageeng-
dc.relation.ispartofSosp 2024 Proceedings of the 2024 ACM Sigops 30th Symposium on Operating Systems Principles-
dc.subjectcloud management-
dc.subjectconfiguration mining-
dc.subjectinfrastructure as code-
dc.subjectprogram analysis-
dc.titleUnearthing Semantic Checks for Cloud Infrastructure-as-Code Programs-
dc.typeConference_Paper-
dc.description.naturelink_to_subscribed_fulltext-
dc.identifier.doi10.1145/3694715.3695974-
dc.identifier.scopuseid_2-s2.0-85215507102-
dc.identifier.spage574-
dc.identifier.epage589-

Export via OAI-PMH Interface in XML Formats


OR


Export to Other Non-XML Formats