ControlFlag:代碼調試工具

英特爾發布了 發布重要版本 控制標誌 1.0, 這是一個 軟件控制系統 檢測代碼中的錯誤和異常 使用在大量現有代碼上訓練的機器學習系統的源代碼。

與傳統的靜態分析器不同, ControlFlag 不應用預定義的規則, 其中很難預見所有可能的選擇,而是 各類建築使用統計的一部分 大量現有項目中的語言。

根據研究,查找和刪除代碼中的錯誤通常是手動完成的,佔用了開發人員 50% 以上的工作時間。 

該工具學習識別和標記這些風格選項,您可以根據您的知識自定義錯誤識別和修復建議,最大限度地減少 ControlFlag 不良代碼特徵,這可能只是兩個開發人員團隊之間的風格偏差。

關於控制標誌

系統 通過從現有源代碼矩陣構建統計模型來訓練 open 發佈在 GitHub 和類似的公共存儲庫上。 在訓練階段,系統確定典型模板來構建代碼中的結構,並構建這些模板之間的連接句法樹,反映程序中代碼執行的流程。

從而形成了參考決策樹,它結合了所有分析源文本的開發經驗。 對被測代碼執行類似的模式設置過程,並將其與參考決策樹進行比較。 與相鄰分支的巨大差異表明正在驗證的模式中存在異常。

的特點 版本 ControlFlag 1.0,突出顯示對C模板的全面支持 和檢測能力 條件“if”語句中的異常。

例如,在解析代碼片段“if (x = 7) y = x;”時系統會檢測到“if”語句中一般使用結構“variable == number”來比較數值,因此“if”語句中出現“variable = number”的提示很可能是排版錯誤造成的。

套件 提供一個腳本,允許下載 GitHub 上可用的 C 存儲庫 並使用它們來構建模型。 還提供現成的模型,讓您可以立即開始檢查代碼

系統 是機器編程研究項目的一部分 (MPR) 來自英特爾,其主要目標是通過自動化將軟件開發所需的時間減少 1000 倍。

特別是,英特爾目前正在努力訓練 Controlflag 以自動糾正檢測到的錯誤。 同樣在 2020 年,該公司發布了與 MIT 實驗室聯合開發的 MISIM 工具,該工具可以研究代碼片段以了解一段代碼的用途。 該系統旨在為開發人員提供提高代碼效率的方法。

“調試預計會對開發人員和整個行業造成更大的損害,”英特爾表示。 公告……“完全實施後,ControlFlag 可以通過自動化軟件開發的麻煩(例如測試、監控和調試)來幫助緩解這一挑戰。”

“ControlFlag 無監督模式識別方法的主要優勢在於,您基本上可以學會適應開發人員的風格。 因為該程序對您需要評估的控制工具的輸入有限。 ControlFlag 可以識別編程語言中的排版變化,就像讀者可以識別單詞之間的完全差異並使用英文縮寫一樣,”英特爾寫道。

終於 如果您有興趣了解更多信息 關於 ControlFlag,你應該知道它是用 C++ 編寫的,並且是在 MIT 許可下開源的及其代碼 託管在 GitHub 上。


成為第一個發表評論

發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責數據:MiguelÁngelGatón
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。