查看原文
其他

机器人在 GitHub 上“卧底”数月,伪装成人类贡献修复补丁

脚本之家 2022-04-23

脚本之家

你与百万开发者在一起

作者:OSC-王练

来自:开源中国(oschina2013)


据 MIT Technology Review 报道,一位名为“Repairnator”机器人在 GitHub 上“卧底”数月,查找错误并编写和提交修复补丁,结果有多个补丁成功通过被采纳。



现代计算机程序非常复杂,在开发过程中难免会出现错误。查找和修复补丁是一件需要耗费大量资源的事情,虽然研究人员已经开发除了许多流程自动化的机器人,但是它们往往很慢,而且存在编写的代码质量较低的问题。


Repairnator 是由 KTH 瑞典皇家理工学院的软件技术教授 Martin Monperrus 及其朋友构建的机器人,目前已被证实可以发现错误并编写高质量补丁。Martin Monperrus 表示:“这是自动修复程序研究中的里程碑,它拥有和人类开发者竞争的潜力。”


据悉,该团队将 Repairnator 伪装成了一个名为 LucEsape 的 GitHub 用户,他们给 Luc 上传头像并填写个人资料,看起来就像是一位渴望在 GitHub 上做贡献的初级开发者。他们共进行了两轮测试,第一轮是在2017年2月到12月,Repairnator 在 14188 个 GitHub 项目的修复列表上运行并扫描错误,期间 Repairnator 总共分析了超过 11500 个失败的构建,其中有 3000 多个能被重现。然后,Repairnator 生成了针对其中 15 个问题的补丁,遗憾的是由于补丁质量低、花费时间过长等问题,这些补丁均未被接受。


第二轮测试是在2018年1月至6月,该团队没有具体说明他们对 Repairnator 做了哪些改进,但 Repairnator 在1月12日成功编写出了第一个被人类开发者接受的补丁。在之后的6个月里,Repairnator 陆续又有 5 个补丁被采纳。



有意思的是,Repairnator 在5月12日向名为 “eclipse/ditto” 的项目提交补丁后,收到了开发者的反馈,“我们只接受来自签署了 Eclipse Foundation Contributor 许可协议的用户的 pull-requests ”。这又引出了一个新的问题,机器人要怎么签署许可协议?谁拥有机器人贡献的知识产权,操作员亦或是算法设计师?在人类和机器人想要更深入合作之前,这类还问题有待解决。


论文地址:


  • https://arxiv.org/abs/1810.05806


对于这种机器人,你怎么看?

今日头条回顾:

2018福布斯中国:马云再次喜提全国首富

只有计算机才能完成的小学数学作业


送给你优秀的技术学习资源


考研早知道:初识考研,考研常识汇总

●  使用前端方式挑战 Chrome 小恐龙游戏高分

● 脚本之家粉丝福利,请查看!

● 大量学习视频、编程资源,欢迎收藏~

● 作为程序员,最起码要知道的几个公众号

●  99%的程序员都会收藏的书单,你读过几本?

小贴士

返回 上一级 搜索“Java 女程序员 大数据 留言送书 运维 算法 Chrome 黑客 Python JavaScript 人工智能 女朋友 MySQL 书籍 等关键词获取相关文章推荐。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存