Unleashing the Giants: Enabling Advanced Testing for Infrastructure as Code

Infrastructure as Code (IaC) programs are written in imperative programming languages like Python or TypeScript while declar-atively defining the target state of software deployments, which the IaC solution then sets up, e.g., Pulumi and AWS CDK. Through a repository mining study and analysis, we no...

Full description

Saved in:
Bibliographic Details
Published in:Proceedings (IEEE/ACM International Conference on Software Engineering Companion. Online) pp. 300 - 301
Main Authors: Sokolowski, Daniel, Spielmann, David, Salvaneschi, Guido
Format: Conference Proceeding
Language:English
Published: ACM 14.04.2024
Subjects:
ISSN:2574-1934
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:Infrastructure as Code (IaC) programs are written in imperative programming languages like Python or TypeScript while declar-atively defining the target state of software deployments, which the IaC solution then sets up, e.g., Pulumi and AWS CDK. Through a repository mining study and analysis, we noticed that testing IaC programs poses a dilemma: current techniques are either slow and expensive or require prohibitively high development effort. To solve this issue, we introduce Automated Configuration Testing (ACT), enabling efficient testing with low development effort. ACT automates the tedious aspects of unit testing IaC programs and is extensible through a plugin system for test generators and ora-cles. ACT is already effective with simple type-based plugins, and leveraging existing giants, i.e., advanced test generation and oracle techniques, in new plugins will further boost its effectiveness.
ISSN:2574-1934
DOI:10.1145/3639478.3643078