《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 業界動態 > 喲,寫Bug呢?Facebook發布AI代碼調試工具SapFix

喲,寫Bug呢?Facebook發布AI代碼調試工具SapFix

2018-09-15

請注意:這不是你寫 Bug 的理由。


調試代碼是件很無聊的事,但是由 Facebook 工程師創建的新型人工智能混合工具——SapFix 可以大大節約工程師的時間,同時還加快了新軟件的推出過程。該工具可以為特定 Bug 自動生成修復程序,然后將其提交給工程師批準并部署到生產中。


SapFix 被用來加速向裝有 Facebook Android 應用程序的數百萬設備傳輸穩定代碼更新的過程,這是人工智能測試和調試工具在此類大規模生產中的首次應用。Facebook 打算與工程界分享 SapFix,因為這是自動化調試發展的下一步,可能為很多公司和研究機構促進新代碼的產量和穩定性。


SapFix 被設計成一個獨立的工具,無論有或沒有 Sapienz(Facebook 的一款智能自動化軟件測試工具,在 F8 版本時發布,已部署到生產中),它都可以運行。在目前的概念驗證狀態,SapFix 在部署到生成前專注于修復 Sapienz 發現的 Bug。此過程從 Sapienz 開始,連同 Facebook 的推斷靜態分析工具一起,能幫助定位代碼中需要修復的 Bug。一旦 Sapienz 發現并推斷出與 Bug 相關的特定部分代碼,它就可以將該信息傳遞給 SapFix,后者會自動參考一些策略并生成補丁。

微信圖片_20180915211749.gif

SapFix 是如何 debug 的


上圖說明 SapFix 如何為軟件 Bug 生成補丁。


為了解決高觸發 bug,SapFix 創建的補丁可以完全或部分還原初始代碼。對于更復雜的問題,SapFix 通過從模板修復集合中提取素材生成補丁。這些模板是從人類工程師創建的模板中自動獲取的,而后者則是基于過去的修復庫創建的。


當以前用過的由人類設計的模板不合適時,SapFix 將嘗試基于突變進行修復。為此,它將對導致崩潰的語句的抽象語法樹(AST)執行小型代碼修復,調整補丁,直到找到可能的解決方案。


自主驗證和人工審批


即使 SapFix 找到了特定的補丁,它的工作還遠遠沒有結束。該工具為每個 Bug 生成多個潛在的補丁,并通過三個問題評價補丁的質量。即是否存在編譯錯誤、程序是否仍然會崩潰,以及補丁是否引入了新的沖突?


為了解決最后兩個問題,SapFix 在修復版本上運行已存的、開發者編寫的測試,同時還會運行由 Sapienz 創建的測試。與之前補丁生成步驟一樣,驗證過程會自動執行,且與更大的代碼庫實現分離。SapFix 正在復制目前由人工完成的調試工作,但它并不是為了將補丁部署到產品代碼中而設計的。


當自動生成的補丁經過全面測試后,SapFix 會將它們發送給人工評審員進行批準。這有些類似于人工生成的報告需要由其他開發者進行檢查與審批,此外系統除了會自動追蹤評審者的反饋外,它還會接受經批準的補丁、清理其它未經批準的補丁。在某些情況下,SapFix 可以從多個候選補丁中選擇最佳的解決方案,并向工程師提出建議。

微信圖片_20180915211818.jpg

該工作流展示了 SapFix 如何基于它生成的補丁尋求工程師的反饋。


如果修補方案被拒絕,它將丟棄補丁,如果被接受,則加載。由于 SapFix 的底層技術非常強大,且自動運行節省了大量時間和精力,因此 SapFix 無法實現自己提出的補丁。工程師通常比較專業,該工具依賴工程師的專業知識來確認是否應該部署提出的補丁。


由于 SapFix 仍在開發階段,因此它無法像 Sapienz 那樣投入大規模使用,Sapienz 現在每月生成數百個 Bug 報告,精準定位有 Bug 的代碼行,它審核與安卓設備上的 Facebook、Instagram、Workplace 和 Messenger 等 app 相關的代碼。Sapienz 的報告中大約有 3/4 的 bug 是由開發者修復的。而 Facebook 八月份開始測試 SapFix,該工具可以成功生成能夠被人類工程師接受的補丁,并進入生產階段。


為完全自動化 debug 奠定基礎


Facebook 稱,這標志著機器生成的補丁(經過自動化端到端測試和修補)首次部署到 Facebook 規模的代碼庫。這是 AI 技術的重要里程碑,進一步證明了基于搜索的軟件工程可以減少軟件開發中的問題。Facebook 開發 SapFix 用于處理不同種類的 bug 和軟件,因此該工具有可能改變代碼生成的速度和質量。這不僅適用于大規模運營的企業,還適用于幾乎所有寫代碼的個人。不管是用于組織還是個體,SapFix 和 Sapienz 都能幫開發者減少花在 debug 上的時間,把精力用在生成更多的代碼上。


即使有了這項工作,Facebook 仍想鼓勵社區繼續研究自動調整、改進代碼。在這一領域,已經有了很多激動人心的研究,包括技術的實證研究、供社區研究解決的開放性難題與挑戰,以及對近期自動改進代碼的調查。作為在 Facebook 規模下部署的首個工具,SapFix 將為此挑戰性研究提供新的動力與能量。


Facebook 稱,將在完成額外的工程部分后,開源 Sapienz 和 SapFix。而有關這些工具的反饋會幫助相關研究者,也會幫助更廣泛的 AI 社區改進自動尋找、修改代碼 Bug 的任務。Facebook 目前聚焦在 SapFix 如何自動制止代碼崩潰,但更長期的應用應該包括如何讓軟件更快、反應更敏捷。這些系統提供了極大的基線收益,開發者使用它們時效果是多變、寬泛的。


本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久久久国产精品一区二区三区| 欧美精品一区在线| 亚洲人成网站777色婷婷| 午夜精品久久| 亚洲欧美福利一区二区| 亚洲一级黄色av| 这里只有精品在线播放| 亚洲欧美日韩区| 国产亚洲欧美日韩在线一区| 国产精品免费看| 国产精品高潮呻吟视频| 欧美性猛交视频| 欧美午夜精品久久久| 欧美日韩国产在线看| 欧美久久久久久久久久| 欧美区日韩区| 欧美日韩国产页| 欧美日韩美女一区二区| 欧美日韩免费精品| 欧美系列精品| 国产精品视频99| 国产精品一区一区| 国产亚洲精品一区二区| 狠狠色丁香婷婷综合| 一区二区视频在线观看| 在线日本高清免费不卡| 91久久精品日日躁夜夜躁国产| 91久久精品国产91性色tv| 日韩亚洲国产精品| 亚洲一二三区视频在线观看| 亚洲一区一卡| 久久国产成人| 亚洲精选91| 亚洲色诱最新| 销魂美女一区二区三区视频在线| 欧美专区在线观看一区| 久久香蕉精品| 亚洲综合电影| 久久高清福利视频| 久久夜色精品国产亚洲aⅴ| 美女诱惑黄网站一区| 欧美黄色aaaa| 国产精品www网站| 国产麻豆午夜三级精品| 激情久久五月天| 亚洲日本国产| 亚洲视频一区二区| 羞羞答答国产精品www一本| 亚洲高清免费| 99视频在线观看一区三区| 欧美亚洲视频| 亚洲三级影片| 亚洲一区二区在线播放| 欧美在线一二三| 免费观看日韩av| 国产精品va在线播放| 国产一区二区三区奇米久涩 | 99视频在线精品国自产拍免费观看 | 亚洲特级片在线| 久久se精品一区二区| 欧美搞黄网站| 国产精品久久久亚洲一区| 国内欧美视频一区二区| 亚洲免费精彩视频| 久久精品国产精品亚洲精品| 在线亚洲欧美视频| 久久久.com| 欧美日韩综合一区| 国自产拍偷拍福利精品免费一| 亚洲人成久久| 久久aⅴ国产紧身牛仔裤| 一区二区福利| 久久伊人亚洲| 国产精品久久久久aaaa樱花| 伊人久久婷婷| 亚洲一区免费看| 一本色道久久88亚洲综合88| 久久久欧美精品| 国产精品黄色在线观看| 在线精品视频在线观看高清| 亚洲网站视频| 99国产精品99久久久久久粉嫩 | 欧美精品日日鲁夜夜添| 国产亚洲欧美日韩在线一区| 妖精成人www高清在线观看| 久久精品国产96久久久香蕉| 亚洲男人av电影| 欧美国产丝袜视频| 黑人一区二区三区四区五区| 一区二区欧美亚洲| 亚洲美女尤物影院| 久久先锋影音| 国产日本欧美一区二区三区在线| 欧美激情第二页| 亚洲欧洲中文日韩久久av乱码| 欧美一级久久久| 欧美日韩免费观看中文| 亚洲成色最大综合在线| 午夜久久影院| 亚洲男人第一网站| 欧美日韩激情网| 亚洲国产你懂的| 久久精品网址| 久久九九国产精品怡红院| 国产精品红桃| 99这里有精品| 一本久道久久综合狠狠爱| 蜜桃av一区二区| 国产综合在线看| 亚欧美中日韩视频| 欧美亚洲在线观看| 国产精品五区| 亚洲一区二区在线免费观看| 在线视频日韩| 欧美激情一区| 91久久精品国产91久久性色tv| 亚洲国产成人av| 久久综合给合| 极品少妇一区二区三区| 久久精品视频导航| 久久午夜电影| 在线观看欧美精品| 亚洲国产精品久久| 老色鬼久久亚洲一区二区| 狠狠色狠色综合曰曰| 欧美中文在线免费| 久久久美女艺术照精彩视频福利播放| 国产日韩欧美高清| 性欧美1819sex性高清| 欧美中文字幕| 国内久久婷婷综合| 亚洲激情成人在线| 蜜桃av一区| 亚洲精品久久嫩草网站秘色| av成人福利| 欧美午夜一区二区福利视频| 在线视频精品一区| 亚洲欧美一区二区三区极速播放| 国产精品久久久久99| 亚洲午夜视频在线| 久久国产99| 尤物yw午夜国产精品视频明星| 亚洲日本电影| 欧美www视频在线观看| 亚洲欧洲一区二区三区在线观看| av不卡在线看| 国产精品免费区二区三区观看| 亚洲你懂的在线视频| 久久xxxx| 亚洲国产91| 亚洲视频日本| 国产欧美日韩激情| 久久精品人人做人人综合| 欧美大片在线观看一区| 亚洲麻豆国产自偷在线| 亚洲字幕一区二区| 国产婷婷精品| 亚洲精品一区久久久久久| 欧美日韩三级电影在线| 亚洲欧美999| 免费不卡视频| 在线亚洲观看| 久久国产精彩视频| 亚洲国产精品ⅴa在线观看| 亚洲小说欧美另类社区| 欧美日韩国产亚洲一区| 亚洲综合首页| 欧美aaaaaaaa牛牛影院| 亚洲最新在线| 久久久久免费观看| 亚洲精品欧美一区二区三区| 亚洲综合视频1区| 好看的日韩视频| 亚洲图片自拍偷拍| 国产在线日韩| 99视频精品全国免费| 国产亚洲美州欧州综合国| 亚洲蜜桃精久久久久久久| 国产伦精品一区二区三区视频黑人| 久久精品亚洲一区二区| 欧美视频一区在线| 久久精品视频免费播放| 国产精品theporn88| 亚洲黄色尤物视频| 国产精品一二三| 亚洲精品久久7777| 国产伦精品一区二区三区在线观看| 亚洲人成精品久久久久| 国产精品久久毛片a| 亚洲精品永久免费精品| 国产精品一区在线观看| 亚洲精品中文字幕女同| 国产精品一区视频| 99精品视频免费在线观看| 国内一区二区三区| 亚洲欧美视频在线观看视频| 亚洲欧洲日韩女同| 久久免费视频网站| 亚洲欧美激情视频| 欧美日韩中文字幕在线|