解放程序員!英特爾機器編程工具可自動debug
英特爾今天推出了機器編程研究系統(tǒng)ControlFlag,它可以自主檢測代碼中的錯誤。雖然仍處于早期階段,這個新穎的自我監(jiān)督系統(tǒng)有望成為一個強大的生產力工具,幫助軟件開發(fā)者進行耗時費力的Debug。在初步測試中,ControlFlag利用超過10億行未標記的產品級別的代碼進行了訓練并學習了新的缺陷。
英特爾首席科學家、英特爾研究院機器編程研究主任及創(chuàng)始人Justin Gottschlich表示:“我們認為ControlFlag是一個強大的新工具,可以大幅減少評估和Debug代碼所需的時間和成本。研究發(fā)現,軟件開發(fā)者會花費大約一半的時間用來Debug。通過ControlFlag以及類似的系統(tǒng),程序員有望大幅減少Debug的時間并把更多時間用于人類程序員最擅長的工作——向機器展現有創(chuàng)造性的新想法!
在軟件重要性逐漸突顯的今天,開發(fā)者依然繼續(xù)把不成比例的大量時間用于修復Bug,而不是用于寫代碼。事實上,在IT行業(yè)每年花費的1.25萬億美元軟件開發(fā)成本中,大約有50%是用于Debug代碼1 。
隨著異構時代的來臨,即由多樣化專用處理器組合來管理當今的海量數據,管理這些系統(tǒng)所需的軟件變得越來越復雜,使得出現Bug的可能性也越來越高。此外,找到能夠為跨架構的硬件正確、高效、安全地寫代碼的程序員非常困難,這同樣也增加了代碼中出現難以發(fā)現的新錯誤的可能性。因此,Debug代碼工作將給開發(fā)者和整個行業(yè)帶來更高的代價。
完全實現的ControlFlag通過自動化處理測試、監(jiān)控和Debug等繁瑣的軟件開發(fā)工作,可以幫助緩解上述挑戰(zhàn)。這不僅可以提高開發(fā)者的工作效率并讓他們把更多時間用于創(chuàng)意,也能解決當前軟件開發(fā)中成本最高的問題之一。
ControlFlag檢測Bug的功能是通過機器編程實現的,其中融合了機器學習、形式化方法、編程語言、編譯器和計算機系統(tǒng)。
具體來說,ControlFlag通過被稱為異常檢測(anomaly detection)的功能進行運轉。作為自然界中生活的人類,我們通過觀察了解到某些被認為是“正!钡哪J。類似地,ControlFlag通過學習經過驗證的例子來檢測正常的編程模式,發(fā)現代碼中可能造成Bug的異常。此外,不管代碼使用什么編程語言,ControlFlag都可以檢測這些異常。
ControlFlag的無監(jiān)督模式識別方法的一個主要優(yōu)勢是,它可以從本質上學會適應開發(fā)者的風格。在有限的需要評估的控制工具輸入信息中,ControlFlag可以識別編程語言中的各種風格,類似于讀者識別英語中使用完整單詞和縮略語的差異。
該工具會學會識別并標記這些風格選擇,并根據其洞察可以自制錯誤識別和建議解決方案,從而讓ControlFlag盡可能避免把兩個開發(fā)團隊之間的風格差異認為是代碼錯誤。
ControlFlag已經證明,能夠在廣泛使用的產品級別代碼中發(fā)現隱藏的Bug,而這些代碼之前已經被軟件開發(fā)者審核過。例如,在分析cURL(一個開源的命令行工具,被程序員廣泛地用于實現互聯網下載)時,ControlFlag發(fā)現了一個之前未被發(fā)現的異常,促使cURL開發(fā)者提出了一個更好的解決方案。
英特爾甚至已經開始評估在內部使用ControlFlag,在自己的軟件和固件產品化中尋找Bug。這是英特爾Rapid Analysis for Developers項目的關鍵組成部分,該項目旨在通過提供專家支持從而幫助程序員加快速度。

請輸入評論內容...
請輸入評論/評論長度6~500個字
最新活動更多
推薦專題
- 1 UALink規(guī)范發(fā)布:挑戰(zhàn)英偉達AI統(tǒng)治的開始
- 2 北電數智主辦酒仙橋論壇,探索AI產業(yè)發(fā)展新路徑
- 3 降薪、加班、裁員三重暴擊,“AI四小龍”已折戟兩家
- 4 “AI寒武紀”爆發(fā)至今,五類新物種登上歷史舞臺
- 5 國產智駕迎戰(zhàn)特斯拉FSD,AI含量差幾何?
- 6 光計算迎來商業(yè)化突破,但落地仍需時間
- 7 東陽光:2024年扭虧、一季度凈利大增,液冷疊加具身智能打開成長空間
- 8 地平線自動駕駛方案解讀
- 9 封殺AI“照騙”,“淘寶們”終于不忍了?
- 10 優(yōu)必選:營收大增主靠小件,虧損繼續(xù)又逢關稅,能否乘機器人東風翻身?