91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

機器人開始在GitHub上修Bug了!

算法與數(shù)據(jù)結構 ? 來源:YXQ ? 2019-06-05 14:39 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

aaime/geowebcache 項目和往常一樣在 github 上提交代碼。2 分鐘后 travis-ci 上的單元測試以失敗告終,測試結果顯示有 2 個測試用例報錯了。沒過多久,2018年1月12日下午1點35分,一名叫 LucEsape 的開發(fā)者發(fā)布了一個修復補丁。2018年1月12日下午2:10,開發(fā)者接受了補丁,并將其合并到代碼庫,并評論到:“很奇怪,我以為我已經(jīng)修好了......也許我在其他地方做過。謝謝你補丁!“

這是一個偉大的時刻,因為誰也不曾先到,修復這個 bug 的程序員 LucEsape 是一個機器人。他叫 Repairnator。

Repairnator 是由 KTH 瑞典皇家理工學院的軟件技術教授 Martin Monperrus 開發(fā)。它會監(jiān)控開源軟件在持續(xù)集成期間發(fā)現(xiàn)的 bug,并嘗試自動修復它們。如果它成功合成了一個有效的補丁,那么 Repairnator 會偽裝成人類身份向人類開發(fā)者提交此補丁。到目前為止,Repairnator 已經(jīng)成功生成了 5 個補丁,并被人類開發(fā)者永久地合并到代碼庫中。

這是自動程序修復軟件工程研究中新的里程碑。

Repairnator 使用補丁的形式修復代碼中的 bug。例如,在以下補丁中,開發(fā)者修改了 if 語句的條件:

- if (x <10)

+ if (x <= 10)

foo();

程序修復機器人是一種試圖合成源代碼補丁的人工代理。他能夠幫助人類分析和修復軟件中的 bug。Repairnator 機器人的工作原理

為此,研發(fā)團隊提出了一個概念:human-competitive(人類競爭力)。

程序修復機器人必須在人類修復 bug 之前找到高質量的修補程序。在這種情況下,如果補丁滿足時效性和質量這兩個條件,則可以認為補丁具有人類競爭力。及時性是指系統(tǒng)必須早于人類找到補丁。此外,與人類編寫的補丁相比,機器人生成的補丁必須足夠正確。

還有一個方面需要考慮。因為人類工程師并不會輕易接受機器人的貢獻,即使它們是正確的。原因是人類往往對機器有偏見,如果貢獻來自人類同伴,則更容忍錯誤。這意味著如果開發(fā)者知道修補程序來自機器人,那么開發(fā)者可能會更高地調整修補程序的質量。為了解決這個問題,團隊為 Repairnator 偽造了一個人類身份。團隊創(chuàng)建了一個名為 Luc Esape 的 GitHub 用戶。Luc 有個頭像,看起來像一個初級開發(fā)者,渴望在 GitHub 上做開源貢獻?,F(xiàn)在,出于道德的考慮,Luc 的真實身份已經(jīng)在他的每個 Pull Request 中被披露。

據(jù)團隊的 PPT 顯示,這個名字來源于 Esculape,阿斯克勒庇俄斯,希臘神話中的醫(yī)神。而 Luc 的頭像也是阿斯克勒庇俄斯。他是太陽神阿波羅的兒子,他的雕塑和畫像都是手持大蛇的形象。據(jù)說,有一天,阿斯克勒庇俄斯到山上游玩,一條蛇從草叢里竄過來想咬他,他急忙用一塊石頭將蛇打死了。一會兒,他發(fā)現(xiàn)另一條蛇游過來,將一株草放進死蛇的嘴里,死蛇竟然就活過來了,隨即自如地消失在草叢里。阿斯克勒庇俄斯就這樣偶然地找到了那種能起死回生的草。以后,有許多已經(jīng)去世的人都被阿斯克勒庇俄斯妙手回春地拉回了人世。阿斯克勒庇俄斯死后,被宙斯升上天空變成了蛇夫座。

Repairnator 機器人從 2017 年 1 月開始運營,分為三個不同階段。

在 2017 年 1 月的一個月內(nèi),使用原型的初始版本進行了試驗性實驗。從 2017 年 2 月 1 日到 2017 年 12 月 31 日,Repairnator 開始正式運行,其中包含 14,188 個項目。

從 2018 年 1 月 1 日到 2018 年 6 月 30 日,Repairnator 實時監(jiān)控 Travis CI 構建流。Repairnator 已經(jīng)分析了 11,523 次失敗的測試。對于 3,551 個(30.82%),Repairnator 能夠在本地重現(xiàn)這些失敗的測試。在 3,551 次修復嘗試中,Repairnator 發(fā)現(xiàn)了 15 個可以使 CI 構建通過的補丁。然而,補丁分析顯示,這些補丁中沒有一個被采納,因為它們要么太晚(Repairnator 在人類開發(fā)者之后產(chǎn)生補?。┗蛘哔|量低(它們能夠是項目構建成功也許是巧合)。

隨后對 Repairnator 進行了改進,終于使它可以成功工作了。Repairnator 已經(jīng)生成了 5 個符合上面定義的人類競爭力標準的補?。?)補丁是在人類之前生成的,2)人類開發(fā)者接受補丁作為有效貢獻,補丁在主代碼庫中合并。

時至今日,Repairnator 已經(jīng)修復了 5 個 bug:

Jan 12, 2018, aaime/geowebcache/pull/1, “Thanks for the patch!”

Mar 23, 2018, parkito/BasicDataStructuresAndAlgorithms/pull/3 “merged commit 140a3e3 into parkito:develop”

April 5, 2018, dkarv/jdcallgraph/pull/2 “Thanks!”

May 3, 2018, eclipse/ditto/pull/151 “Cool, thanks for going through the Eclipse process and for the fix.”

June 25, 2018, donnelldebnam/CodeU-Spring-2018-29/pull/59 “Thanks!!”

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 機器人
    +關注

    關注

    213

    文章

    31121

    瀏覽量

    222436
  • GitHub
    +關注

    關注

    3

    文章

    488

    瀏覽量

    18696

原文標題:漫話:程序員要失業(yè)了??!機器人開始在GitHub上修Bug了。

文章出處:【微信號:TheAlgorithm,微信公眾號:算法與數(shù)據(jù)結構】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    掃地機器人“叛變”

    》(掃地機器人背叛我)的文章。 ? 之所以發(fā)布這樣一篇文章,是因為2024年,Harishankar購買了一臺iLife A1
    的頭像 發(fā)表于 11-06 10:10 ?8134次閱讀
    掃地<b class='flag-5'>機器人</b>“叛變”<b class='flag-5'>了</b>

    VisionFive 2 實現(xiàn)機器人伺服控制

    據(jù)StarFive介紹,開發(fā)者已經(jīng)VisionFive/VisionFive 2上成功實現(xiàn)機器人伺服控制,具體說明如下: 1. Preparation Development board
    發(fā)表于 03-05 07:09

    探索RISC-V機器人領域的潛力

    利用Gazebo仿真環(huán)境(x86主機上運行)和MUSE Pi Pro的ROS 2節(jié)點進行了聯(lián)合仿真。 ? 場景: PC的Gazebo中運行一個TurtleBot3機器人模型,M
    發(fā)表于 12-03 14:40

    高精度機器人控制的核心——基于 MYD-LT536 開發(fā)板的精密運動控制方案

    工業(yè)機器人向更高精度、更復雜任務邁進,控制平臺需要兼具算力、擴展性、實時性與AI能力。 MYD-LT536 開發(fā)板軟硬件生態(tài)已完全滿足這些要求: - 支持 Linux RT、ROS、Python
    發(fā)表于 11-14 15:48

    RK3576機器人核心:三屏異顯+八路攝像頭,重塑機器人交互與感知

    ?!?利用開發(fā)板的MIPI CSI1和CSI2接口,完整接入8路攝像頭,實現(xiàn)所有通道的視頻預覽與采集,為機器人構建了全方位的視覺感知系統(tǒng)。卓越性能表現(xiàn):· CPU占用率:34%· DDR占用率:50
    發(fā)表于 10-29 16:41

    小蘿卜機器人的故事

    經(jīng)過我的申請, 馬老師發(fā)放了, 小蘿卜機器人的, 開發(fā)權限, 原來的小蘿卜公司, 因為經(jīng)營不善倒閉, 作為科研產(chǎn)品, 幾個技術對此惋惜, 自掏腰包, 要讓小蘿卜機器人, 再生, 每次聽到小蘿卜說
    發(fā)表于 10-23 05:24

    自制巡線解迷宮機器人

    一玩,當然如果你使用的過程中遇到了一些問題,歡迎GitHub給我提交Issues或者文章評論區(qū)里留言,有空的話我肯定會及時回復的。
    發(fā)表于 10-20 10:39

    機器人競技幕后:磁傳感器芯片激活 “精準感知力”

    幫助機器人實時修正重心,大幅降低翻倒風險。 關節(jié)運動控制,磁傳感器芯片實現(xiàn) “毫米級精度保障”。以昆泰芯 KTM59 系列磁編碼器的離軸應用為例,其非接觸式磁信號捕捉技術,解決
    發(fā)表于 08-26 10:02

    工業(yè)機器人的特點

    生產(chǎn)可以提高產(chǎn)品品質。通過設定相同的程序,機器人可實現(xiàn)重復操作,保證產(chǎn)品的標準化;精細化生產(chǎn)方面,工業(yè)機器人可實現(xiàn)低于0.1毫米的運動精度,可以完成精細的雕刻工作。提高產(chǎn)出 由于
    發(fā)表于 07-26 11:22

    明遠智睿SSD2351開發(fā)板:語音機器人領域的變革力量

    人工智能快速發(fā)展的今天,語音機器人逐漸成為人們生活和工作中的得力助手。明遠智睿SSD2351開發(fā)板憑借強大性能與豐富功能,為語音機器人的發(fā)展注入新動力,成為該領域的變革力量。 SSD2351開發(fā)板
    發(fā)表于 05-28 11:36

    盤點#機器人開發(fā)平臺

    地瓜機器人RDK X5開發(fā)套件地瓜機器人RDK X5開發(fā)套件產(chǎn)品介紹 旭日5芯片10TOPs算力-電子發(fā)燒友網(wǎng)機器人開發(fā)套件 Kria KR260機器人開發(fā)套件 Kria KR260-
    發(fā)表于 05-13 15:02

    詳細介紹機場智能指路機器人的工作原理

    機場智能指路機器人主要依靠感知系統(tǒng)、定位系統(tǒng)、導航系統(tǒng)、智能交互系統(tǒng)和運動系統(tǒng)協(xié)同工作,來實現(xiàn)為旅客準確指路和提供服務的功能,以下是其詳細工作原理: 感知系統(tǒng) 傳感器類型 :機器人配備多種傳感器
    發(fā)表于 05-10 18:26

    【「# ROS 2智能機器人開發(fā)實踐」閱讀體驗】視覺實現(xiàn)的基礎算法的應用

    : 一、機器人視覺:從理論到實踐 第7章詳細介紹ROS2機器視覺領域的應用,涵蓋了相機標定、OpenCV集成、視覺巡線、二維碼識別以及深度學習目標檢測等內(nèi)容。通過學習,我認識到:
    發(fā)表于 05-03 19:41

    【「# ROS 2智能機器人開發(fā)實踐」閱讀體驗】機器人入門的引路書

    的非常好的,特別是一些流程圖,很清晰的闡釋概念 很適合作為初學者入門的引路書 還能了解很多技術和框架,破除初學者的自負困境,讓初學者知道功能是由很多開發(fā)者維護的,前人已經(jīng)為各種產(chǎn)品搭建了完善的框架。避免陷入得一個單打獨斗的錯覺 一直蠢蠢欲動ros2和
    發(fā)表于 04-30 01:05

    【「# ROS 2智能機器人開發(fā)實踐」閱讀體驗】+內(nèi)容初識

    機器人技術的飛速發(fā)展,ROS 2 作為其核心工具之一,為開發(fā)者提供強大的支持。與傳統(tǒng)的理論書籍不同,本書深入淺出地講解了 ROS 2 的架構、開發(fā)流程以及智能機器人項目中的應用,以
    發(fā)表于 04-27 11:24