機(jī)器人程序像人類程序員一樣修 bug
程序總是不可避免會(huì)存在 bug,發(fā)現(xiàn) bug 然后修復(fù)是程序員日常生活的一部分。但這個(gè)過(guò)程非常耗時(shí)間,因此有些研究人員想要設(shè)計(jì)出機(jī)器人程序去自動(dòng)化這個(gè)流程。但這些機(jī)器人程序?qū)懙拇a質(zhì)量不高,通常不會(huì)被接受。大多數(shù)情況下,程序員都是利用機(jī)器人程序去尋找 bug 然后自己寫代碼去修復(fù)。
現(xiàn)在,瑞典皇家理工學(xué)院的研究人員開(kāi)發(fā)的機(jī)器人程序能寫出高質(zhì)量的代碼。研究人員稱他們的機(jī)器人程序叫 Repairnator,將其偽造成人類用戶 Luc Esape,在流行的代碼托管平臺(tái) GitHub 上與人類開(kāi)發(fā)者競(jìng)爭(zhēng)修 bug。第一次測(cè)試不成功,Repairnator 寫的代碼質(zhì)量太低而沒(méi)有被發(fā)現(xiàn) bug 的項(xiàng)目接受。第二次測(cè)試比較成功,Repairnator 寫的五個(gè)補(bǔ)丁被接受了。他們的論文《Human-competitive Patches in Automatic Program Repair with Repairnator》發(fā)表在預(yù)印本網(wǎng)站上。