Speaker Details

Guido Salvaneschi
University of St.Gallen

.Guido Salvaneschi is leading the Programming group at the School of Computer Science, University of St. Gallen, Switzerland. He holds a PhD in Information Technology from Politecnico di Milano, Italy. He has been a postdoc and an Assistant Professor at the at the Technical University of Darmstadt, Germany. His research has been supported, among the others, by the German Research Foundation (DFG) and by the Swiss National Science Foundation (SNSF). He has published papers in a number of programming languages and software engineering venues including OOPSLA, PLDI, ECOOP, ICSE, FSE and ASE. Personal website: https://programming-group.com/.

View
Infrastructure as Code Programs: How to Test, Finally
Conference (INTERMEDIATE level)
Room C

With the rise of Infrastructure as Code (IaC) solutions such as Pulumi and AWS CDK, developers embrace crafting IaC programs in beloved general-purpose programming languages like TypeScript, Python, and Java. The imperative IaC programs define the declarative configuration of the deployment. These programs must be correct because faults can cause malfunction and security issues. Luckily, using well-established programming languages provides access to testing techniques and tools developed for traditional software. Yet, IaC developers rely predominantly on time-consuming integration testing or bypass testing altogether. As a result, even simple bugs are found late, tremendously slowing down the development process.

This talk delves into the challenges of unit testing IaC programs and showcases our solution: ProTI is an automated unit testing approach that quickly tests IaC programs in many different configurations. ProTI improves the velocity of IaC development by mocking all cloud resources in the code, replacing them with pluggable oracles that validate all resources' configurations and a generator for realistic test inputs. ProTI is available for Pulumi TypeScript with the first generator and oracle plugins. ProTI enables programmers to quickly test their IaC programs, and it enables the community to rapidly prototype and explore new oracles and generators for efficient IaC program testing.

More

Searching for speaker images...