英特爾推出可檢測代碼錯誤的ControlFlag機器編程工具
在今日的Intel Labs Day 2020活動期間,英特爾展示了能夠檢測代碼錯誤的ControlFlag機器編程工具。基於10億條包含各種錯誤的未標記生產質量代碼的機器學習培訓,ControlFlag得以通過“異常檢測”技術,對傳統編程模式展開篩查。無論使用的是哪種編程語言,它都能夠有效地識別代碼中可能導致任何錯誤的潛在異常。
研究配圖– 1:機器學習三大支柱,會意、創造、適應。
這套系統擴展了英特爾的開發者快速分析項目,旨在幫助軟件工程師和研究人員更快、更好地編寫代碼。通過無監督學習來訓練自身,ControlFlag能夠識別代碼中的模式和風格。
此外ControlFlag 不會簡單粗暴地將風格傾向上的差異判斷為語法錯誤,因為這種情況只是寫作方式上的不同。
一個適當的類比,就是將實際工作與傳統的語法檢查工具進行比較。通過英語中給定的句法或一組單詞,來檢查代碼的正確與否。
經過測試,ControlFlag 能夠識別生產質量代碼中的錯誤。在某種情況下,它甚至在cURL 代碼中識別出了一個此前從未被開發者檢查發現的異常。
值得一提的是,英特爾已開始在企業內部的軟件和固件產品開發過程中使用ControlFlag 代碼錯誤檢查系統。
Intel Labs 機器編程研究首席科學家兼董事創始人Justin Gottschlich 認為,該系統可以極大地減少評估和調試代碼所需耗費的時間與資金。
此前有研究稱,開發人員耗費了大約50% 的時間來調試軟件。但在ControlFlag 之類的系統幫助下,我們可將更多時間放到人類最擅長的創新事務上。