Does the Choice of Configuration Framework Matter for Developers? Empirical Study on 11 Java Configuration Frameworks

Mohammed Sayagh,Zhen Dong,Artur Andrzejak,Bram Adams
DOI: https://doi.org/10.1109/SCAM.2017.25
2017-01-01
Abstract:Configuration frameworks are routinely used in software systems to change application behavior without recompilation. Selecting a suitable configuration framework among the vast variety of existing choices is a crucial decision for developers, as it can impact project reliability and its maintenance profile. In this paper, we analyze almost 2,000 Java projects on GitHub to investigate the features and properties of 11 major Java configuration frameworks. We analyze the popularity of the frameworks and try to identify links between the maintenance effort involved with the usage of these frameworks and the frameworks' properties. More basic frameworks turn out to be the most popular, but in half of the cases are complemented by more complex frameworks. Furthermore, younger, more active frameworks with more detailed documentation, support for hierarchical configuration models and/or more data formats seem to require more maintenance by client developers.
What problem does this paper attempt to address?