Toward a catalog of software quality metrics for infrastructure code

Stefano Dalla Palma (Corresponding author), Dario Di Nucci, Fabio Palomba, Damian Andrew Tamburri

Research output: Contribution to journalArticleAcademicpeer-review

57 Citations (Scopus)

Abstract

Infrastructure-as-code (IaC) is a practice to implement continuous deployment by allowing management and provisioning of infrastructure through the definition of machine-readable files and automation around them, rather than physical hardware configuration or interactive configuration tools. On the one hand, although IaC represents an ever-increasing widely adopted practice nowadays, still little is known concerning how to best maintain, speedily evolve, and continuously improve the code behind the IaC practice in a measurable fashion. On the other hand, source code measurements are often computed and analyzed to evaluate the different quality aspects of the software developed. However, unlike general-purpose programming languages (GPLs), IaC scripts use domain-specific languages, and metrics used for GPLs may not be applicable for IaC scripts. This article proposes a catalog consisting of 46 metrics to identify IaC properties focusing on Ansible, one of the most popular IaC language to date, and shows how they can be used to analyze IaC scripts.

Original languageEnglish
Article number110726
Number of pages8
JournalJournal of Systems and Software
Volume170
DOIs
Publication statusPublished - Dec 2020

Funding

FundersFunder number
European Union's Horizon 2020 - Research and Innovation Framework Programme825040
European Commission
Schweizerischer Nationalfonds zur Förderung der Wissenschaftlichen ForschungPZ00P2_186090

    Keywords

    • Infrastructure as code
    • Software metrics
    • Software quality

    Fingerprint

    Dive into the research topics of 'Toward a catalog of software quality metrics for infrastructure code'. Together they form a unique fingerprint.

    Cite this