How Do Code Changes Evolve in Different Platforms? A Mining-based Investigation

kaestner@cs.cmu.edu (M. Viggiato, J. Oliveira, E. Figueiredo, P. Jamshidi, C. Kästner)
Thu, 19 Dec 2019 17:21:43 -0500

Markos Viggiato, Johnatan Oliveira, Eduardo Figueiredo, Pooyan Jamshidi, and Christian Kästner. How Do Code Changes Evolve in Different Platforms? A Mining-based Investigation. In Proceedings of the 35th International Conference on Software Maintenance and Evolution (ICSME), pages 218--222, September 2019.

Software developed in different platforms has different characteristics and needs. More specifically, code changes are differently performed in the mobile platform compared to non-mobile platforms (e.g., desktop and Web platforms). Prior works have investigated the differences in specific platforms. However, we still lack a deeper understanding of how code changes evolve across different software platforms. In this paper, we present a study aiming at investigating the frequency of changes and how source code changes, build changes and test changes co-evolve in mobile and non-mobile platforms. We developed linear regression models to explain which factors influence the frequency of changes in different platforms and applied the Apriori algorithm to find types of changes that frequently occur together. Our findings show that non-mobile repositories have a higher number of commits per month compared to mobile and our regression models suggest that being mobile significantly impacts on the number of commits in a negative direction when controlling for confound factors, such as code size. We also found that developers do not usually change source code files together with build files or test files. We argue that our results can provide valuable information for developers on how changes are performed in different platforms so that practices adopted in successful software systems can be followed.