Talk Details

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.
Daniel Sokolowski
University of St.Gallen
Daniel Sokolowski is a research associate and Ph.D. candidate at the Programming Group, University of St. Gallen, Switzerland. He holds a Master of Science in Internet- and Web-based Systems from the Technical University of Darmstadt, Germany. With a background as a developer at Lufthansa and as a CTO in a software startup, Daniel brings a blend of industry experience and academic rigor to his research.
Daniel's research focuses on software engineering, with a recent focus on reliable Infrastructure as Code (IaC) for modern IT organizations. Daniel's work has been published and recognized at top software engineering venues, including ICSE, ESEC/FSE, OOPSLA, and IEEE Software. With a passion for innovation and strategic problem-solving in interdisciplinary teams, Daniel combines decisiveness and a drive for excellence with the courage to improve continuously.
Internship wanted: I am looking for Software Engineering research internships in the industry for 2024. Please reach out regarding any interesting opportunities.
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/.