检测与刻画执行代码提交的机器人
软件工程
2020-03-31 v3 密码学与安全
机器学习
社会与信息网络
机器学习
摘要
背景:在许多开源软件(OSS)项目中,诸如进行代码提交、打开、管理或关闭问题等传统上由人工完成的开发者活动正日益趋于自动化。具体而言,此类活动常由对事件作出反应或在特定时间运行的工具执行。我们将此类自动化工具称为机器人(bots),并且在许多与开发者生产力或代码质量相关的软件挖掘场景中,为将机器人的行为与个人的行为区分开来,识别机器人是必要且理想的。目的:寻找一种自动识别机器人及其所提交代码的方法,并基于活动模式对这些机器人类型进行刻画。方法与结果:我们提出 BIMAN,一种利用作者名、提交信息、提交所修改的文件以及提交关联的项目来检测机器人的系统化方法。在测试数据上,其 AUC-ROC 值为 0.9。我们还基于代码提交的时间模式及所修改文件的类型对这些机器人进行刻画,发现它们主要处理文档文件与网页,且这些文件在 HTML 和 JavaScript 生态系统中最为普遍。我们已编译一个可共享的数据集,包含所发现的 461 个机器人(均拥有超过 1000 次提交)的详细信息及其创建的 13,762,430 次提交。
引用
@article{arxiv.2003.03172,
title = {Detecting and Characterizing Bots that Commit Code},
author = {Tapajit Dey and Sara Mousavi and Eduardo Ponce and Tanner Fry and Bogdan Vasilescu and Anna Filippova and Audris Mockus},
journal= {arXiv preprint arXiv:2003.03172},
year = {2020}
}
备注
Preprint of the paper accepted in MSR, 2020 conference