Mining Changes of Build Processes in the Context of Continuous Integration
The use of Continuous Integration systems is a widely accepted and modern practice adopted by many open-source software (OSS) developers. As of yet there has been only little in-depth research on the understanding and usage of CI in OSS. Thus, with this thesis I present an explorative approach for analyzing this.
As source I use 900+ projects from GitHub which use the Travis CI platform and mine on the change history of their CI configuration file. The goals of this research are to investigate the value of such a data set and to gather knowledge on the acceptance and robustness of the Travis CI model as well as the evolution of Travis CI build processes.
In fact the configuration change history allows for detailed analysis. The findings include, that the model is well accepted and is slightly unstable towards changes. Also does the analysis of the build process evolution yield that build processes do not stabilize, in terms of changes to the configuration. Furthermore, it is possible to derive a maturity measure for the build processes. More than half of all projects’ build processes are considered mature.