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

Configuration is used to make generic source code more specific and adaptable to various scenarios, such as different environments and business logic specifics. This helps reduce overall system complexity, which improves development velocity and system quality. Unfortunately configurations rarely stay small.

At Google, an internal configuration language called “Google Configuration Language - GCL” was developed over the years. A notable use case for this language is configuration of binary deployments on Google’s cluster management service Borg. The dialect of GCL used for this is known internally as Borg Configuration Language or BCL. BCL started as a simple templating engine but quickly grew in complexity to a fully Turing complete engine.

With the growth in complexity the configuration is getting harder to understand and reason about. The software engineering industry has in the past successfully used unit testing as one method of dealing with complexity. Providing unit testing for configuration can provide the same benefit to configuration. However, the nature of configuration languages is a limitation. It is much closer to data than code. This fact makes the most popular approach to test source code, unit tests, impractical in most cases. Other approaches should be used which allow users to keep the development velocity but have a reasonable level of safety for configuration.

In this talk, we present a novel tool for unit testing Borg deployment configuration. The tool is used by hundreds of engineers and has been positively received.

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