<label id="jgr5k"></label>
    <legend id="jgr5k"><track id="jgr5k"></track></legend>

    <sub id="jgr5k"></sub>
  1. <u id="jgr5k"></u>
      久草国产视频,91资源总站,在线免费看AV,丁香婷婷社区,久久精品99久久久久久久久,色天使av,无码探花,香蕉av在线
      您正在使用IE低版瀏覽器,為了您的雷峰網賬號安全和更好的產品體驗,強烈建議使用更快更安全的瀏覽器
      此為臨時鏈接,僅用于文章預覽,將在時失效
      人工智能學術 正文
      發私信給青暮
      發送

      0

      不再重復造輪子,AI 給你推薦更好的代碼,還沒bug

      本文作者: 青暮 編輯:劉曉坤 2020-09-18 14:47
      導語:還在摳bug摳到懷疑人生?

      不再重復造輪子,AI 給你推薦更好的代碼,還沒bug

      作者 | 青 暮

      編輯 | 叢 末

      程序員的的代碼大部分都不是如同寫書法那般一揮而就,而需要反復地摳bug,摳到懷疑人生。
             不再重復造輪子,AI 給你推薦更好的代碼,還沒bug       
      劍橋大學法官商學院發表的一項研究顯示,程序員將50.1%的工作時間用于編程,而將一半的時間用于debug。估計每年的debug總費用為3120億美元。
      現代軟件系統越來越復雜,很多時候一個小小的錯誤就可能讓系統崩潰,帶來巨大損失。所以不僅是程序員,企業也在為debug付出巨大代價。但現在,AI帶來了福音。
      英特爾、麻省理工學院、佐治亞理工學院的研究人員合作開發了自動化代碼相似性檢測系統MISIM,該系統可以判斷兩段代碼的相似性,即便這兩段代碼使用的是不同的結構和算法,也可以依據它們是否執行相似的任務、是否有相似的代碼特征加以判斷。
      代碼相似性檢測可以應用在代碼推薦、自動修復bug中。在代碼推薦的應用過程有點像輸入法的詞推薦,由于MISIM可以對不完整的代碼片段進行評估,當它檢測到不完整的、有bug的代碼時,就會從其它地方選出功能一樣的、沒有bug的代碼,來替換原來的代碼。
             不再重復造輪子,AI 給你推薦更好的代碼,還沒bug       
      并且,MISIM 還會將代碼轉換為統一的形式,確定代碼功能,從而在不受編寫方式的影響下進行代碼片段的對比。由于MISIM不受編程語言限制,它還可以用于代碼語言轉換。
      在45,780個程序的實驗評估中,MISIM識別C和C ++程序中的代碼,這些程序是由學生編寫的,旨在解決104個編碼問題。如果一對程序都解決了相同的問題,則它們在數據集中被標記為相似。MISIM的表現始終好于三個當前最先進系統,最高達到40.6倍。
      自動代碼生成一直是一個研究熱點,產業界和學術界都在此方向上努力著。OpenAI的GPT-3語言模型甚至可以根據自然語言描述生成網頁布局的代碼。而代碼相似性檢測則可以復用已有代碼,使質量高的代碼得到更有效的利用。       
      不再重復造輪子,AI 給你推薦更好的代碼,還沒bug
      輸入“創建一個長得像西瓜的按鈕”,GPT-3就生成了上圖中綠皮紅瓢的原型按鈕。或者輸入“welcome to my newsletter的大號字體”,GPT-3就生成了上圖中的紅色大號字體。
      當然,代碼相似性檢測也可以用于代碼查重。所以,計算機系的同學們,注意自己寫作業!雖然現在已有非AI的代碼查重系統,但誰知道AI什么時候會后來居上呢?
       
      1


      MISIM架構

      不再重復造輪子,AI 給你推薦更好的代碼,還沒bug
      MISIM架構概覽
      MISIM由兩個核心組件組成。首先,MISIM具有新型的上下文感知語義結構(CASS),該結構通過捕獲描述代碼上下文的信息,使用機器學習算法來確定給定源代碼的目的(例如,代碼是一個函數調用、一個操作等)。其次,MISIM還具有基于神經網絡的代碼相似性評估算法,該算法可通過各種神經網絡架構來實現。
      一旦構建了CASS,就將其向量化并用作神經網絡的輸入,神經網絡會生成特征向量。生成特征向量后,就可以進行代碼相似度評估(例如,向量點積、余弦相似度等)。
      對于MISIM的相似性評估算法,研究人員研究了三種神經網絡方法:GNN、RNN和BoF神經網絡。其中,使用GNN的 MISM 總體表現最好,能夠以超過75%的準確率識別出兩個程序的相似程度。
      將代碼的結構與CASS集成在一起后,算法就會根據代碼要執行的工作計算相似性分數。即使兩段代碼表面上不同,如果執行相同的功能,模型就會將它們評估為相似。
      CASS可以配置特定的上下文,從而能夠捕獲描述代碼的更高級別信息。而且CASS可以在不使用編譯器的情況下對代碼進行評級(編譯器將人類可讀的源代碼轉換為計算機可執行的機器代碼),甚至可以對不完整的代碼片段進行評估。
      MISIM-GNN的架構如下圖所示。對于這種方法,輸入代碼的CASS表征被轉換為圖。然后,將圖中的每個節點嵌入一個可訓練的向量,作為該節點的初始狀態。接下來,使用GNN迭代更新每個節點的狀態。最后,應用全局讀取函數從節點的最終狀態提取整個圖的向量表征。
      不再重復造輪子,AI 給你推薦更好的代碼,還沒bug
       MISIM-GNN 架構
       
      2


      不再重復造輪子

      研究人員仍然在擴展MISIM的特征集,目的是創建一個代碼推薦引擎,它能夠識別算法背后的意圖,并提供語義上相似但性能有所提高的候選代碼。系統可以指示程序員使用庫函數,而不用再重復造輪子。
      像MISIM這樣的以AI為動力的代碼建議和審查工具有望大幅削減開發成本,同時使編碼人員能夠專注于更具創造性、減少重復性的任務。
      英特爾實驗室首席科學家兼機器編程研究總監Justin Gottschlich表示:“如果該系統能取得成功,我們的最終目標之一就是實現全民編程。”
      或許有一天,代碼相似性檢測可以擴展到自然語言中,到時候要實現全民編程,就不再是難事。

      3


      相關論文

      不再重復造輪子,AI 給你推薦更好的代碼,還沒bug
      論文地址:https://arxiv.org/pdf/2006.05265.pdf
      不再重復造輪子,AI 給你推薦更好的代碼,還沒bug
      代碼相似檢測系統的準確率比較,結果是運行3次的平均值和相對于平均值的最小/最大值。
      不再重復造輪子,AI 給你推薦更好的代碼,還沒bug
      code2vec、NCC、Aroma、MISIM在POJ-104測試集上的準確率結果。條形高度表示運行3次測量值的平均值,誤差條由測量值的最小值和最大值確定。
      參考資料:
      https://venturebeat.com/2020/07/29/intel-researchers-create-ai-system-that-rates-similarity-of-two-pieces-of-code/
      https://www.theregister.com/2020/07/31/intel_wants_to_build_an/

      雷鋒網雷鋒網雷鋒網

      雷峰網原創文章,未經授權禁止轉載。詳情見轉載須知

      不再重復造輪子,AI 給你推薦更好的代碼,還沒bug

      分享:
      相關文章
      當月熱門文章
      最新文章
      請填寫申請人資料
      姓名
      電話
      郵箱
      微信號
      作品鏈接
      個人簡介
      為了您的賬戶安全,請驗證郵箱
      您的郵箱還未驗證,完成可獲20積分喲!
      請驗證您的郵箱
      立即驗證
      完善賬號信息
      您的賬號已經綁定,現在您可以設置密碼以方便用郵箱登錄
      立即設置 以后再說
      主站蜘蛛池模板: 99国产精品免费视频观看8| 青青草大香焦在线综合视频| jizzjizz韩国| 国产亚洲精品美女久久久久| 亚洲日韩电影久久| 潢川县| 精品无码毛片| 亚洲欧美人成人让影院| 毛片网站在线观看| 91视频在线观看视频| 国产精品成人国产乱| 国产精品人成视频免| 一道本AV免费不卡播放| 老子午夜精品无码不卡| 在线视频网站亚洲欧洲| 777米奇色狠狠888俺也去乱| 欧美A片在线观看| 另类小说久久| 国产乱人妻精品秘?入口-国产精品亚| 中文字幕不卡在线播放| 国产精品无码免费播放| 亚洲色成人www永久网站 | 亚洲综合一区二区国产精品| 人人爽人人爽人人片av免费 | 激情国产av做激情国产爱| wwwjizzjizz| 亚洲欧美国内综合| 亚洲欧美日本久久网站| 亚洲精品9999久久久久| 最新中文字幕av无码专区| 99精品无码一区二区| 垣曲县| 国产成人一区二区三区影院动漫| 黑人无码视频| 中文字幕无码人妻| 欧美777| 97精品人妻系列无码人妻老牛| 国产性爱网站| 在线视频这里只有精品| 免费视频欧美无人区码| 精品午夜福利1000在线观看|