机器人伪装成人类贡献GitHub修复补丁
极客时间编辑部
讲述:杜力大小:1.01M时长:02:12
近日,据外媒报道,一位名为“Repairnator”的机器人在 GitHub 上“卧底”数个月,查找错误并编写和提交修复补丁,结果有多个补丁成功通过并被采纳。
现代计算机程序非常复杂,在开发过程中不可避免地会出现 Bug,找到它们并编写补丁来进行修复,是大部分程序员的日常工作。
但是,查找和修复 Bug 是一项需要耗费大量资源和时间的任务。研究人员已经开发出了不少能让修复 Bug 过程自动化的机器人,但是它们往往效率很低,或者只能产生一些质量低下的代码,反而会拖慢工作的进度。因此,开发人员非常希望能够依靠快速、高质量的机器人来搜索错误代码,并编写补丁修复这些错误。
就在不久前,瑞典皇家理工学院的研究人员宣称,该学院的软件技术教授 马丁·蒙伯斯(Martin Monperrus)和他的朋友一起构建的机器人 Repairnator,经过测试和实验,已经可以发现错误并编写高质量的补丁了。
据了解,Repairnator 的任务是在 GitHub 上扫描并修复一些代码的 Bug,开发者团队进行了两轮测试,第一轮是在 2017 年 2 月到 12 月,Repairnator 在 14188 个 GitHub 项目的修复列表上,运行并扫描错误。在此期间,它总共分析了超过 11500 个失败的构建,其中有 3000 多个能被重现。然后,Repairnator 生成了针对其中 15 个问题的补丁,然而遗憾的是,由于补丁质量低、花费时间过长等问题,这些补丁都没有被接受。
第二轮测试是在 2018 年 1 月至 6 月,该团队没有具体说明他们对 Repairnator 做了哪些改进,但是该机器人在 1 月成功编写出了第一个被人类开发者接受的补丁。在之后的 6 个月里, 陆续又有 5 个补丁被采纳。
需要注意的是,Repairnator 必须在特定的软件生态系统中才能运行。 由于在过去的研究项目中专业知识更偏向 Java,因此,Repairnator 的原型实现更侧重于修复那些用 Java 编写的 GitHub 开源项目。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论