天天看點

AI幫忙找Bug,英特爾開源代碼程式設計工具ControlFlag

作者:CSDN

完成|太陽盛

産品| CSDN (ID: CSDNnews)

最近,英特爾開放源代碼自動ControlFlag源代碼,調試工具ControlFlag源可以通過很多了。

據悉,ControlFlag自動錯誤檢測代碼可以用來幫助更多的開發人員,主要使用人工智能自動識别軟體和固件代碼中的錯誤,儲存為開發人員手動調試時間。

據悉,英特爾ControlFlag去年年底首次宣布,目前系統隻有英特爾内部使用,用于自動檢測異常情況在軟體開發的過程。

AI幫忙找Bug,英特爾開源代碼程式設計工具ControlFlag

從網絡

AI幫忙找Bug,英特爾開源代碼程式設計工具ControlFlag

減少成本和代碼調試時間

由于代碼調試應用程式開發是至關重要的,幾乎所有的大型軟體需要調試,最大限度地避免軟體錯誤。

但對于大多數開發人員來說,這一過程不僅耗時,而且大多數的調試隻能手工工作。因為修複軟體缺陷可能需要幾天,幾周或幾個月,據估計,多達50%的浪費時間在調試軟體開發過程。這是因為大多數的錯誤根源需要語義分析來識别、評估,即使是最先進的調試系統不能有效執行分析。

英特爾首席人工智能實驗室科學家賈斯汀Gottschlich還表示:“雖然在過去的幾十年裡,研究自動化調試已經取得了一些進展,但現有的工具仍不完美發現日益複雜的軟體錯誤。這也是在調試的過程中仍然主要受到人類的一個重要原因。”

此外,調試代碼的預算支出非常高。2020年,據英特爾官方介紹IT行業的相關調試代碼連結耗資約2萬億美元,約占平均IT預算的一半。

AI幫忙找Bug,英特爾開源代碼程式設計工具ControlFlag

ControlFlag“超級大國”

據悉,英特爾機程式設計系統研究(MPR)項目的一部分,項目的總體目标是通過軟體自動化預計将減少所需的時間1000倍。Gottschlich團隊學習,例如,是一個地區的最終擴大ControlFlag能力,為了自動修複它檢測到錯誤。

自去年以來,英特爾還測試了機器學習在各種軟體系統工具,并取得了可喜的成果。“當我們最初設計系統時,我們沒有預料到能找到高度複雜的缺陷,“英特爾首席賈斯汀Gottschlich說人工智能實驗室的科學家。設計,“然而,鑒于其自我監督ControlFlag可以找到高度複雜和微妙的軟體缺陷,甚至建造它的人感到震驚。”

英特爾的團隊通過使用一個“無監督學習方法,允許ControlFlag檢測更廣泛的存儲庫中的錯誤。系統學習超過10億行不标記源編碼模式,是以它可以實作高精度,和甚至可以适應的風格開發人員,區分異常軟體和程式設計語言風格的變化。

ControlFlag适用于任何包含控制結構的程式設計語言(如C / c++),和ControlFlag可以不斷學習從未标記源代碼,通過引入新的資料和“進化”,讓自己更好。雖然它不會自動解決代碼錯誤發現,但該工具可以為開發人員提供的潛在變化。

賈斯汀Gottschlich還表示,到目前為止隻用于兩個專有軟體存儲庫ControlFlag,發現了生産品質,部署超過300程式中的缺陷。ControlFlag去年,例如,在用戶端URL (cURL)電腦軟體項目代碼檢測到異常,該項目使用各種網絡協定傳輸資料每天超過10億次。旋度團隊例外報告後,他們同意ControlFlag發現并重新設計代碼修複問題。

AI幫忙找Bug,英特爾開源代碼程式設計工具ControlFlag

ControlFlag不斷進步

作為英特爾ControlFlag團隊緻力于開發,在過去的一年裡帶來了相當多的學習點。Gottschlich認為,兩個關鍵領域需要改進的是減少工具報告假陽性的數量,和更進階的語義分析器內建到ControlFlag推理。

然而,作為一個将成為英特爾機程式設計工具套件系統,ControlFlag将繼續發展。“ControlFlag進步不太可能停止,”Gottschlich強調。“這主要是因為軟體程式設計語言,硬體描述語言和計算裝置的發展,ControlFlag也需要跟上其發展的步伐。”

與此同時,英特爾的MPR團隊正在開展一些專注于簡化軟體開發項目。例如,去年,該公司還推出了一個開發工具一起在麻省理工學院的實驗室,研究工具可以了解你在做軟體的代碼片段。這個系統叫做MISIM(機)得出的結論是,代碼相似,它使用一個已存在的代碼目錄了解新算法背後的意圖,并通過建議或提供其他程式設計方法使代碼更高效的選項來幫助工程師來開發軟體。

Gottschlich MISIM預計将與ControlFlag一天。“正确的想法在一起時,我們假設一個更強大的新系統,該系統可以探測到ControlFlag目前所有的缺陷都可以檢測到,因為潛在的複雜性,目前沒有發現數以百計的缺陷。”Gottschlich說。

你想想,歡迎留言。

參考連結:https://www.zdnet.com/article/developers-intels-automated-debugging-tool-controlflag-is-now-open-source/

生産位址:https://github.com/IntelLabs/control-flag

AI幫忙找Bug,英特爾開源代碼程式設計工具ControlFlag