英特爾實驗室對外發布其最新機器程式開發研究(Machine Programming Research,MPR)的成果,在GitHub上開源可分析程式碼儲存庫,找出程式碼缺陷的工具ControlFlag。ControlFlag運用先進的自我監督機器學習技術,能夠自動偵測程式碼異常,縮短除錯的時間,並且提高系統的品質和完整性。

官方提到,幾乎所有大型軟體都存在準確性、效能和安全相關漏洞,而且隨著軟體加入新功能等更新,臭蟲被帶進程式碼的機會增加。而ControlFlag能夠解決這些問題,與任何具有控制結構的程式語言一起使用,利用半信任的概念來利用自我監督學習,從未標記的原始碼中學習,隨著更多新資料加入,ControlFlag能夠不斷自我改進。

ControlFlag已經被應用在生產階段的軟體,或是開源系統上進行測試,2020年的時候,ControlFlag發現cURL中的程式碼異常,cURL是一個用來處理網路傳輸的知名開源專案,ControlFlag所找到的cURL程式缺陷,已經經過cURL團隊確認,並且針對缺陷完成程式碼修補。

ControlFlag已經從專有且處於生產階段的軟體中,發現數百個具有記憶體和崩潰臭蟲的潛在缺陷,同時也在開源軟體儲存庫中,發現數十個新的異常問題,而每個異常問題都已經被專案維護者確認,並且獲得修補。雖然ControlFlag在找到程式碼缺陷後,沒辦法自動緩解這些缺陷,但是能夠提供用戶修正的建議。

英特爾進行了一系列機器程式開發的研究,目的是要讓程式碼更強健,維護起來更輕鬆,同時還能維持高效能,並且減少安全漏洞,而ControlFlag是英特爾這一系列研究其中一項成果,能夠大幅減少軟體開發時間,並且縮短除錯的時間,進而減少開發所花費的資源。


熱門新聞

Advertisement