今天是瑞士新創公司
程式碼分析對於檢測錯誤、潛在漏洞、格式違規以及在軟體開發的早期、程式碼在任何地方使用之前進行檢測是必要的。 通常,此過程與新程式碼的開發並行進行,並在新程式碼完成後立即進行,在測試階段之前進行。 DeepCode 聯合創始人兼首席執行官 Boris Paskalev 在接受 VentureBeat 採訪時解釋道:“軟體測試從外部觀察代碼,而代碼分析可以讓你從內部觀察代碼。”
大多數情況下,程式碼審查是由作者與同事和經理一起執行的,以便在進入下一開發階段之前識別明顯的錯誤。 而且專案越大,需要檢查的程式碼行就越多,這會佔用程式設計師大量的時間。 應該加速這一過程的工具已經存在很長時間了,例如 Coverity 和 PVS-Studio 等靜態程式碼分析器,但它們的功能往往受到限制,因為它們專注於「煩人且重複的風格問題、格式化和小邏輯錯誤,」帕斯卡列夫解釋。
反過來,DeepCode 涵蓋了更廣泛的問題,例如,檢測跨站腳本和 SQL 注入機會等漏洞,因為其中嵌入的演算法不僅將程式碼分析為一組字符,而是嘗試將程式碼分析為字符集。理解所寫程序的工作意義和目的。 其核心是一個機器學習系統,該系統使用來自公開開源專案的數十億行程式碼進行訓練。 DeepCode 分析程式碼的先前版本以及隨後對其進行的更改,以研究哪些錯誤以及真正的程式設計師如何修正他們的工作,然後向使用者提供類似的解決方案。 此外,系統還使用傳統的預測演算法來發現程式碼中可能存在的問題,就像上面提到的靜態分析器一樣。
使用 DeepCode 時的關鍵問題之一是:自動程式碼審查的可靠性如何? 分析準確度低於 100% 意味著開發人員仍然需要手動分析他們的程式碼。 如果是這樣,使用工具自動執行此任務實際上可以節省多少時間? Paskalev 表示,DeepCode 將能夠為開發人員節省約 50% 的時間,這是他們目前自行搜尋錯誤所花費的時間,這是一個相當可觀的數字。
開發人員可以將 DeepCode 連接到他們的 GitHub 或 Bitbucket 帳戶,該工具還支援本機 GitLab 設定。 此外,該專案還有一個特殊的API,允許開發人員將DeepCode整合到自己的開發系統中。 連接到儲存庫後,DeepCode 將分析每個程式碼變更並標記潛在問題。
「平均而言,開發人員花費大約 30% 的時間來尋找和修復錯誤,但 DeepCode 現在可以節省一半的時間,將來甚至會更多,」鮑里斯說。 “因為 DeepCode 直接向全球開發者社區學習,所以它能夠發現的問題比一個人或整個評審小組發現的問題還要多。”
除了今天獲得投資的消息外,DeepCode還宣布了其產品的新價值政策。 到目前為止,DeepCode 僅對開源軟體開發專案免費。 現在,它將免費用於任何教育目的,甚至可供開發人員少於 30 名的商業公司使用。 顯然,透過這一步,DeepCode 的創建者希望讓他們的產品在小團隊中更受歡迎。 此外,DeepCode 對雲端部署收取每個開發人員每月 20 美元的費用,並對本地支援向每位開發人員收取 50 美元的費用。
此前,DeepCode團隊已獲得1萬美元的投資。 該公司表示,計劃再增加 4 萬個用戶,將其支援的程式語言擴展到 Java、JavaScript 和 Python 之外,包括增加對 C#、PHP 和 C/C++ 的支援。 他們還確認他們正在開發自己的整合開發環境。
來源: 3dnews.ru