英特爾機器編程工具可檢測代碼中的Bug

發(fā)布時(shí)間:2020-12-4 17:45    發(fā)布者:eechina
關(guān)鍵詞: ControlFlag , Debug
英特爾今天推出了機器編程研究系統ControlFlag,它可以自主檢測代碼中的錯誤。雖然仍處于早期階段,這個(gè)新穎的自我監督系統有望成為一個(gè)強大的生產(chǎn)力工具,幫助軟件開(kāi)發(fā)者進(jìn)行耗時(shí)費力的Debug。在初步測試中,ControlFlag利用超過(guò)10億行未標記的產(chǎn)品級別的代碼進(jìn)行了訓練并學(xué)習了新的缺陷。

英特爾首席科學(xué)家、英特爾研究院機器編程研究主任及創(chuàng )始人Justin Gottschlich表示:“我們認為ControlFlag是一個(gè)強大的新工具,可以大幅減少評估和Debug代碼所需的時(shí)間和成本。研究發(fā)現,軟件開(kāi)發(fā)者會(huì )花費大約一半的時(shí)間用來(lái)Debug。通過(guò)ControlFlag以及類(lèi)似的系統,程序員有望大幅減少Debug的時(shí)間并把更多時(shí)間用于人類(lèi)程序員最擅長(cháng)的工作——向機器展現有創(chuàng )造性的新想法!

在軟件重要性逐漸突顯的今天,開(kāi)發(fā)者依然繼續把不成比例的大量時(shí)間用于修復Bug,而不是用于寫(xiě)代碼。事實(shí)上,在IT行業(yè)每年花費的1.25萬(wàn)億美元軟件開(kāi)發(fā)成本中,大約有50%是用于Debug代碼1 。  

隨著(zhù)異構時(shí)代的來(lái)臨,即由多樣化專(zhuān)用處理器組合來(lái)管理當今的海量數據,管理這些系統所需的軟件變得越來(lái)越復雜,使得出現Bug的可能性也越來(lái)越高。此外,找到能夠為跨架構的硬件正確、高效、安全地寫(xiě)代碼的程序員非常困難,這同樣也增加了代碼中出現難以發(fā)現的新錯誤的可能性。因此,Debug代碼工作將給開(kāi)發(fā)者和整個(gè)行業(yè)帶來(lái)更高的代價(jià)。

完全實(shí)現的ControlFlag通過(guò)自動(dòng)化處理測試、監控和Debug等繁瑣的軟件開(kāi)發(fā)工作,可以幫助緩解上述挑戰。這不僅可以提高開(kāi)發(fā)者的工作效率并讓他們把更多時(shí)間用于創(chuàng )意,也能解決當前軟件開(kāi)發(fā)中成本最高的問(wèn)題之一。

ControlFlag檢測Bug的功能是通過(guò)機器編程實(shí)現的,其中融合了機器學(xué)習、形式化方法、編程語(yǔ)言、編譯器和計算機系統。

具體來(lái)說(shuō),ControlFlag通過(guò)被稱(chēng)為異常檢測(anomaly detection)的功能進(jìn)行運轉。作為自然界中生活的人類(lèi),我們通過(guò)觀(guān)察了解到某些被認為是“正!钡哪J。類(lèi)似地,ControlFlag通過(guò)學(xué)習經(jīng)過(guò)驗證的例子來(lái)檢測正常的編程模式,發(fā)現代碼中可能造成Bug的異常。此外,不管代碼使用什么編程語(yǔ)言,ControlFlag都可以檢測這些異常。

ControlFlag的無(wú)監督模式識別方法的一個(gè)主要優(yōu)勢是,它可以從本質(zhì)上學(xué)會(huì )適應開(kāi)發(fā)者的風(fēng)格。在有限的需要評估的控制工具輸入信息中,ControlFlag可以識別編程語(yǔ)言中的各種風(fēng)格,類(lèi)似于讀者識別英語(yǔ)中使用完整單詞和縮略語(yǔ)的差異。

該工具會(huì )學(xué)會(huì )識別并標記這些風(fēng)格選擇,并根據其洞察可以自制錯誤識別和建議解決方案,從而讓ControlFlag盡可能避免把兩個(gè)開(kāi)發(fā)團隊之間的風(fēng)格差異認為是代碼錯誤。

ControlFlag已經(jīng)證明,能夠在廣泛使用的產(chǎn)品級別代碼中發(fā)現隱藏的Bug,而這些代碼之前已經(jīng)被軟件開(kāi)發(fā)者審核過(guò)。例如,在分析cURL(一個(gè)開(kāi)源的命令行工具,被程序員廣泛地用于實(shí)現互聯(lián)網(wǎng)下載)時(shí),ControlFlag發(fā)現了一個(gè)之前未被發(fā)現的異常,促使cURL開(kāi)發(fā)者提出了一個(gè)更好的解決方案。

英特爾甚至已經(jīng)開(kāi)始評估在內部使用ControlFlag,在自己的軟件和固件產(chǎn)品化中尋找Bug。這是英特爾Rapid Analysis for Developers項目的關(guān)鍵組成部分,該項目旨在通過(guò)提供專(zhuān)家支持從而幫助程序員加快速度。



本文地址:http://selenalain.com/thread-749875-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页