機器人臥底 GitHub,貢獻修復補丁

Linux愛好者2018-12-09 03:17:43

(點擊上方公號,快速關注我們)


來源:開源中國社區

www.oschina.net/news/101186/a-bot-fixes-bugs


據 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 ”。這又引出了一個新的問題,機器人要怎麼簽署許可協議?誰擁有機器人貢獻的知識產權,操作員亦或是算法設計師?在人類和機器人想要更深入合作之前,這類還問題有待解決。



【關於投稿】


如果大家有原創好文投稿,請直接給公號發送留言。


① 留言格式:
【投稿】+《 文章標題》+ 文章鏈接

② 示例:
【投稿】
《不要自稱是程序員,我十多年的 IT 職場總結》:

http://blog.jobbole.com/94148/


③ 最後請附上您的個人簡介哈~


看完本文有收穫?請分享給更多人

關注「Linux 愛好者」,提升Linux技能

閱讀原文