DeepCode將使用AI發現軟體原始碼中的錯誤

今天是瑞士新創公司 深度密碼利用人工智慧和機器學習實現程式碼分析自動化的公司宣布已獲得創投基金 Earlybird、4VC 和 Btov Partners 的 3 萬美元投資。 該公司計劃利用這些資金在其服務中引入對新程式語言的支持,以及在全球 IT 市場上行銷該產品。

DeepCode將使用AI發現軟體原始碼中的錯誤

程式碼分析對於檢測錯誤、潛在漏洞、格式違規以及在軟體開發的早期、程式碼在任何地方使用之前進行檢測是必要的。 通常,此過程與新程式碼的開發並行進行,並在新程式碼完成後立即進行,在測試階段之前進行。 DeepCode 聯合創始人兼首席執行官 Boris Paskalev 在接受 VentureBeat 採訪時解釋道:“軟體測試從外部觀察代碼,而代碼分析可以讓你從內部觀察代碼。”

大多數情況下,程式碼審查是由作者與同事和經理一起執行的,以便在進入下一開發階段之前識別明顯的錯誤。 而且專案越大,需要檢查的程式碼行就越多,這會佔用程式設計師大量的時間。 應該加速這一過程的工具已經存在很長時間了,例如 Coverity 和 PVS-Studio 等靜態程式碼分析器,但它們的功能往往受到限制,因為它們專注於「煩人且重複的風格問題、格式化和小邏輯錯誤,」帕斯卡列夫解釋。

反過來,DeepCode 涵蓋了更廣泛的問題,例如,檢測跨站腳本和 SQL 注入機會等漏洞,因為其中嵌入的演算法不僅將程式碼分析為一組字符,而是嘗試將程式碼分析為字符集。理解所寫程序的工作意義和目的。 其核心是一個機器學習系統,該系統使用來自公開開源專案的數十億行程式碼進行訓練。 DeepCode 分析程式碼的先前版本以及隨後對其進行的更改,以研究哪些錯誤以及真正的程式設計師如何修正他們的工作,然後向使用者提供類似的解決方案。 此外,系統還使用傳統的預測演算法來發現程式碼中可能存在的問題,就像上面提到的靜態分析器一樣。

使用 DeepCode 時的關鍵問題之一是:自動程式碼審查的可靠性如何? 分析準確度低於 100% 意味著開發人員仍然需要手動分析他們的程式碼。 如果是這樣,使用工具自動執行此任務實際上可以節省多少時間? Paskalev 表示,DeepCode 將能夠為開發人員節省約 50% 的時間,這是他們目前自行搜尋錯誤所花費的時間,這是一個相當可觀的數字。

開發人員可以將 DeepCode 連接到他們的 GitHub 或 Bitbucket 帳戶,該工具還支援本機 GitLab 設定。 此外,該專案還有一​​個特殊的API,允許開發人員將DeepCode整合到自己的開發系統中。 連接到儲存庫後,DeepCode 將分析每個程式碼變更並標記潛在問題。

DeepCode將使用AI發現軟體原始碼中的錯誤

「平均而言,開發人員花費大約 30% 的時間來尋找和修復錯誤,但 DeepCode 現在可以節省一半的時間,將來甚至會更多,」鮑里斯說。 “因為 DeepCode 直接向全球開發者社區學習,所以它能夠發現的問題比一個人或整個評審小組發現的問題還要多。”

除了今天獲得投資的消息外,DeepCode還宣布了其產品的新價值政策。 到目前為止,DeepCode 僅對開源軟體開發專案免費。 現在,它將免費用於任何教育目的,甚至可供開發人員少於 30 名的商業公司使用。 顯然,透過這一步,DeepCode 的創建者希望讓他們的產品在小團隊中更受歡迎。 此外,DeepCode 對雲端部署收取每個開發人員每月 20 美元的費用,並對本地支援向每位開發人員收取 50 美元的費用。

此前,DeepCode團隊已獲得1萬美元的投資。 該公司表示,計劃再增加 4 萬個用戶,將其支援的程式語言擴展到 Java、JavaScript 和 Python 之外,包括增加對 C#、PHP 和 C/C++ 的支援。 他們還確認他們正在開發自己的整合開發環境。



來源: 3dnews.ru

添加評論