“Through the looking‐glass …” An empirical study on blob infrastructure blueprints in the Topology and Orchestration Specification for Cloud Applications
Infrastructure‐as‐code (IaC) helps keep up with the demand for fast, reliable, high‐quality services by provisioning and managing infrastructures through configuration files. Those files ensure efficient and repeatable routines for system provisioning, but they might be affected by code smells that...
Gespeichert in:
Veröffentlicht in: | Journal of software : evolution and process 2024-04, Vol.36 (4), p.n/a |
---|---|
Hauptverfasser: | , , , , , |
Format: | Artikel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | Infrastructure‐as‐code (IaC) helps keep up with the demand for fast, reliable, high‐quality services by provisioning and managing infrastructures through configuration files. Those files ensure efficient and repeatable routines for system provisioning, but they might be affected by code smells that negatively affect quality and code maintenance. Research has broadly studied code smells for traditional source code development; however, none explored them in the “Topology and Orchestration Specification for Cloud Applications” (TOSCA), the technology‐agnostic OASIS standard for IaC. In this paper, we investigate a prominent traditional implementation code smell potentially applicable to TOSCA: Large Class, or “Blob Blueprint” in IaC terms. We compare metrics‐based and unsupervised learning‐based detectors on a large dataset of manually validated observations related to Blob Blueprints. We provide insights on code metrics that corroborate previous findings and empirically show that metrics‐based detectors perform highly in detecting Blob Blueprints. We deem our results put forward a new research path toward dealing with this problem, for example, in the scope of fully automated service pipelines.
We compare metrics‐based and unsupervised learning‐based detectors on a large dataset of manually validated observations related to Blob Blueprints, i.e., too large and complex infrastructure‐as‐code blueprints. We provide the following: Insights on code metrics that corroborate previous findings and empirically show that metric‐based detectors perform well in detecting Blob Blueprints, and a replication package and a comprehensive dataset of publicly available TOSCA blueprints, including source code measurements calculated on these blueprints and manually validated observations related to the Blob Blueprint smell (https://github.com/jade-lab/tosca-smells). |
---|---|
ISSN: | 2047-7473 2047-7481 |
DOI: | 10.1002/smr.2533 |