Does your configuration code smell?

Research output: Chapter in Book/Conference proceedings/Edited volumeConference contributionScientificpeer-review

51 Citations (Scopus)


Infrastructure as Code (IaC) is the practice of specifying computing system configurations through code, and managing them through traditional software engineering methods. The wide adoption of configuration management and increasing size and complexity of the associated code, prompt for assessing, maintaining, and improving the configuration code's quality. In this context, traditional software engineering knowledge and best practices associated with code quality management can be leveraged to assess and manage configuration code quality. We propose a catalog of 13 implementation and 11 design configuration smells, where each smell violates recommended best practices for configuration code. We analyzed 4,621 Puppet repositories containing 8.9 million lines of code and detected the cataloged implementation and design configuration smells. Our analysis reveals that the design configuration smells show 9% higher average co-occurrence among themselves than the implementation configuration smells. We also observed that configuration smells belonging to a smell category tend to co-occur with configuration smells belonging to another smell category when correlation is computed by volume of identified smells. Finally, design configuration smell density shows negative correlation whereas implementation configuration smell density exhibits no correlation with the size of a configuration management system.

Original languageEnglish
Title of host publicationProceedings - 13th Working Conference on Mining Software Repositories, MSR 2016
PublisherAssociation for Computing Machinery (ACM)
Number of pages12
ISBN (Electronic)9781450341868
Publication statusPublished - 14 May 2016
Externally publishedYes
Event13th Working Conference on Mining Software Repositories, MSR 2016 - Austin, United States
Duration: 14 May 201615 May 2016

Publication series

NameProceedings - 13th Working Conference on Mining Software Repositories, MSR 2016


Conference13th Working Conference on Mining Software Repositories, MSR 2016
CountryUnited States


  • Code quality
  • Configuration smells
  • Infrastructure as Code
  • Maintainability
  • Technical debt

Fingerprint Dive into the research topics of 'Does your configuration code smell?'. Together they form a unique fingerprint.

Cite this