How good is your puppet? An empirically defined and validated quality model for puppet

Eduard Van der Bent, J. Hage, Joost Visser, Georgios Gousios

Research output: Chapter in Book/Report/Conference proceedingConference contributionAcademicpeer-review


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.
Original languageEnglish
Title of host publication25th IEEE International Conference on Software Analysis, Evolution, and Reengineering : SANER 2018 : Campobasso, Italy
Subtitle of host publicationproceedings
Place of PublicationPiscataway, NJ
PublisherIEEE Computer Society
Number of pages11
ISBN (Electronic)9781538649695
ISBN (Print)9781538649701
Publication statusPublished - 2018


  • Measurement
  • Computer languages
  • Tools
  • Computational modeling
  • Sociology
  • Statistics
  • Software


Dive into the research topics of 'How good is your puppet? An empirically defined and validated quality model for puppet'. Together they form a unique fingerprint.

Cite this