天天爽夜夜爽夜夜爽精品视频,少妇偷人宾馆精品自拍,自慰女人自慰喷水高清AV毛片,精品国偷自产在线视频99,欧美性受XXXX黑人XYX性爽
機器人系統(tǒng)
程序員的福音,AI可以自動修復(fù)bug了!
2024-04-17

  北京大學(xué)、微軟亞洲研究院和中國電子科技大學(xué)就一同嘗試著讓AI找bug。微軟亞洲研究院的Lily Sun正在微軟官方博客上引見稱,他們開辟的正確狀況體系(Accurate Condition System, ACS),能正在人類不加干涉的情況下主動修復(fù)軟件體系中的Bug。

  他們關(guān)于ACS的論文Precise Condition Synthesis for Program Repair頒發(fā)正在天下軟件工程大會ICSE 2017上。

  ACS會主動修復(fù)什么樣的bug呢?Lily Sun舉了個例子:

  int lcm=Math.abs(mulAndCheck(a/gdc(a,b), b));

  return lcm;

  這是Apache Math中的一段代碼,用來盤算兩個數(shù)的最小公倍數(shù),而且引入了Math.abs來確保返回的值是正數(shù)??墒?,這個法式有缺點,有時候仍是會返回負值。

  我們能夠創(chuàng)立一個測試來找到個中的毛病。測試的輸入是a=Integer.MIN_VALUE、b=1,預(yù)期的輸出是throw ArithmeticException。

  把這個法式和相應(yīng)的測試輸入到ACS中,ACS會主動生成第2、3行的途徑,修復(fù)法式缺點:

  int lcm=Math.abs(mulAndCheck(a/gdc(a,b), b));

程序員的福音,AI可以自動修復(fù)bug了!

  + if (lcm == Integer.MIN_VALUE) {

  + throw new ArithmeticException();

  + }

  return lcm;

  讓算法本人改bug這件事,由2009年最先就有研討,弗吉尼亞大學(xué)計算機系的Westley Weimer、新墨西哥大學(xué)的Stephanie Forrest和卡耐基梅隆大學(xué)的Claire Le Goues,就一起開發(fā)了Genprog。

  而ACS,正在前人研討的基礎(chǔ)上大幅提升了準確度。正在Defects4J基準上的測試成果表現(xiàn),ACS生成的23個補釘中,有18個是精確的,準確度近80%。

  ACS準確度的提拔關(guān)鍵得益于有更多的信息泉源,特別是網(wǎng)上的大批代碼。取以往的方式相比,ACS有以下三種新的信息泉源:

  一是用局部性標準信息對補釘中的變量開展排序;

  二是用自然語言闡發(fā)手藝來闡發(fā)Javadoc,然后用Javadoc中的信息來過濾不正確的補釘;

  三是經(jīng)過對網(wǎng)上的開源步伐開展統(tǒng)計分析,發(fā)明對變量開展操縱的前提幾率,進而生成精確的補釘。