Identifying unusual commits on GitHub: Goyal

Identifying unusual commits on GitHub: Goyal
复制标题

识别 GitHub 上的异常提交:Goyal

DOI:
10.1002/smr.1893
复制
发表时间:
2017
期刊:
Journal of Software: Evolution and Process
影响因子:
--
通讯作者:
Herbsleb, James
Herbsleb, James
中科院分区:
--
文献类型:
--
作者:
Goyal, Raman;Ferreira, Gabriel;Kästner, Christian;Herbsleb, James

文献摘要

相似文献

GitHub等透明环境和社交编码平台帮助开发人员在项目的开发和维护阶段及时了解变化。特别是,通知提要可以帮助开发人员了解其他项目中的相关更改。不幸的是,透明的环境可能会让开发人员很快淹没在太多的通知中,以至于他们在噪音的海洋中丢失了重要的通知。为了补充现有的基于二进制兼容性和代码所有权的优先级和过滤策略,我们开发了一种异常检测机制来识别存储库中的异常提交,这些提交相对于同一存储库中的其他更改或同一开发人员的其他更改而突出。其中,我们检测异常大的提交,在不寻常的时间提交,并提交接触很少改变的文件类型给定的特定存储库或开发人员的特征。我们通过浏览器插件自动标记GitHub上的异常提交。在一项针对173名活跃GitHub用户的交互式调查中,我们对他们感兴趣的项目中的提交进行了评级,我们发现,尽管我们的异常分数只是开发人员是否希望被告知提交的一个弱预测因素,但关于提交的异常特征的信息会改变开发人员对提交的看法。我们的异常检测机制是扩展透明环境的构建块。
Transparent environments and social‐coding platforms as GitHub help developers to stay abreast of changes during the development and maintenance phase of a project. Especially, notification feeds can help developers to learn about relevant changes in other projects. Unfortunately, transparent environments can quickly overwhelm developers with too many notifications, such that they lose the important ones in a sea of noise. Complementing existing prioritization and filtering strategies based on binary compatibility and code ownership, we develop an anomaly detection mechanism to identify unusual commits in a repository, which stand out with respect to other changes in the same repository or by the same developer. Among others, we detect exceptionally large commits, commits at unusual times, and commits touching rarely changed file types given the characteristics of a particular repository or developer. We automatically flag unusual commits on GitHub through a browser plug‐in. In an interactive survey with 173 active GitHub users, rating commits in a project of their interest, we found that, although our unusual score is only a weak predictor of whether developers want to be notified about a commit, information about unusual characteristics of a commit changes how developers regard commits. Our anomaly detection mechanism is a building block for scaling transparent environments.