SPLASH 2023
Sun 22 - Fri 27 October 2023 Cascais, Portugal
Tue 24 Oct 2023 16:22 - 16:45 at Oceanus - Configuration testing Chair(s): Jürgen Cito

With Programming Languages Infrastructure as Code (PL-IaC), developers implement imperative IaC programs in one of many general-purpose programming languages, e.g., TypeScript, Python, or Go, to declaratively describe deployments. Using these languages provides access to quality assurance techniques and tools developed for traditional software; however, programmers routinely rely on prohibitively slow integration testing—if they test at all. As a result, even simple bugs are found late, tremendously slowing down the development process.

To improve the velocity of PL-IaC development, we propose ProTI, an automated unit testing approach that quickly tests PL- IaC programs in many different configurations. ProTI mocks all cloud resources, replacing them with pluggable oracles that validate all resources’ configurations and a generator for realistic test inputs. We implemented ProTI for Pulumi TypeScript with simple generator and oracle plugins. Our experience of testing with ProTI encourages the exploration of more sophisticated oracles and generators, leading to the early detection of more bugs. ProTI enables programmers to rapidly prototype, explore, and plug in new oracles and generators for efficient PL-IaC program testing.

Tue 24 Oct

Displayed time zone: Lisbon change

16:00 - 17:30
Configuration testingCONFLANG at Oceanus
Chair(s): Jürgen Cito TU Wien
16:00
22m
Talk
Applying Large Scale Diffing to Declarative Configuration Code for Production Safety
CONFLANG
16:22
22m
Talk
Creed for Speed: Comprehensive Infrastructure as Code Testing
CONFLANG
Daniel Sokolowski University of St. Gallen, David Spielmann University of St. Gallen, Guido Salvaneschi University of St. Gallen
Pre-print
16:45
22m
Talk
Configuration testing for Borg at Google
CONFLANG
17:07
22m
Live Q&A
Configuration testing Q&A/Discussion
CONFLANG