How Good Is Your Puppet?

An Empirically Defined and Validated Quality Model for Puppet

Conference Paper (2018)
Author(s)

Eduard Van der Bent (Universiteit Utrecht)

Jurriaan Hage (Universiteit Utrecht)

Joost Visser (Software Improvement Group)

G. Gousios (TU Delft - Software Engineering)

Research Group
Software Engineering
Copyright
© 2018 Eduard Van der Bent, Jurriaan Hage, Joost Visser, G. Gousios
DOI related publication
https://doi.org/10.1109/SANER.2018.8330206
More Info
expand_more
Publication Year
2018
Language
English
Copyright
© 2018 Eduard Van der Bent, Jurriaan Hage, Joost Visser, G. Gousios
Research Group
Software Engineering
Pages (from-to)
164-174
ISBN (electronic)
978-1-5386-4969-5
Reuse Rights

Other than for strictly personal use, it is not permitted to download, forward or distribute the text or part of it, without the consent of the author(s) and/or copyright holder(s), unless the work is under an open content license such as Creative Commons.

Abstract

Puppet is a declarative language for configuration management that has rapidly gained popularity in recent years. Numerous organizations now rely on Puppet code for deploying their software systems onto cloud infrastructures. In this paper we provide a definition of code quality for Puppet code and an automated technique for measuring and rating Puppet code quality. To this end, we first explore the notion of code quality as it applies to Puppet code by performing a survey among Puppet developers. Second, we develop a measurement model for the maintainability aspect of Puppet code quality. To arrive at this measurement model, we derive appropriate quality metrics from our survey results and from existing software quality models. We implemented the Puppet code quality model in a software analysis tool. We validate our definition of Puppet code quality and the measurement model by a structured interview with Puppet experts and by comparing the tool results with quality judgments of those experts. The validation shows that the measurement model and tool provide quality judgments of Puppet code that closely match the judgments of experts. Also, the experts deem the model appropriate and usable in practice. The Software Improvement Group (SIG) has started using the model in its consultancy practice.