Does Your Configuration Code Smell?

Tushar Sharma
Seneca Project
Published in
1 min readMar 18, 2016

The paper “Does Your Configuration Code Smell?” to appear in the proceedings of 13th international conference on Mining Software Repositories to be held on 14–15 May 2016 in Austin, Texas, USA.

Abstract

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 the 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 4621 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 the volume of identified configuration smells from a smell category shows high correlation with the volume of identified smells belonging to the other category. Finally, design configuration smell density shows negative correlation whereas implementation configuration smell density exhibits no correlation with the size of a configuration management system.

Authors

Tushar Sharma, Marios Fragkoulis, Diomidis Spinellis

Preprint of the paper can be found here.

--

--

Tushar Sharma
Seneca Project

Techie, Researcher@AUEB, IEEE Senior Member, and Author. Interested in everything related to software design & architecture, technical debt, and design smells.