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

How Do Code Changes Evolve in Different Platforms? A Mining-Based Investigation
复制标题

DOI:
10.1109/icsme.2019.00033
复制
发表时间:
2019-09
期刊:
2019 IEEE International Conference on Software Maintenance and Evolution (ICSME)
影响因子:
--
通讯作者:
Markos Viggiato;Johnatan Oliveira;Eduardo Figueiredo;Pooyan Jamshidi;Christian Kästner
Markos Viggiato;Johnatan Oliveira;Eduardo Figueiredo;Pooyan Jamshidi;Christian Kästner
中科院分区:
其他
文献类型:
--
作者:
Markos Viggiato;Johnatan Oliveira;Eduardo Figueiredo;Pooyan Jamshidi;Christian Kästner

文献摘要

被引文献

相似文献

代码更改在移动平台和非移动平台中的执行方式不同。之前的工作已经调查了特定平台的差异。然而,我们仍然缺乏对代码更改如何在不同软件平台上发展的更深层次的理解。在本文中,我们提出了一项研究,旨在调查移动平台和非移动平台中更改的频率以及源代码、构建和测试更改是如何共同演变的。我们开发了回归模型来解释哪些因素会影响更改的频率,并应用Apriori算法来找到频繁同时发生的更改类型。我们的发现表明,非移动存储库每月提交的数量更多,我们的回归模型表明,在控制混淆因素(如代码大小)时,移动存储对提交数量的影响是负的。我们还发现,开发人员通常不会将源代码文件与构建或测试文件一起更改。我们认为,我们的结果可以为开发人员提供关于如何在不同平台上执行更改的有价值的信息,以便可以遵循成功的软件系统中采用的实践。
Code changes are performed differently in the mobile and non-mobile platforms. Prior work has 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, build and test changes co-evolve in mobile and non-mobile platforms. We developed regression models to explain which factors influence the frequency of changes and applied the Apriori algorithm to find types of changes that frequently co-occur. Our findings show that non-mobile repositories have a higher number of commits per month 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 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.