當前位置:
首頁 > 科技 > Google 開源 ClusterFuzz:使得查找錯誤並修復錯誤變得異常簡單

Google 開源 ClusterFuzz:使得查找錯誤並修復錯誤變得異常簡單

作者:ClusterFuzz團隊的Abhishek Arya、Oliver Chang、Max Moroz、Martin Barbella和Jonathan Metzman

模糊測試(fuzzing)是一種用於檢測軟體中錯誤(bug)的自動方法,其工作方式是向目標程序饋送意外的輸入,從而發現錯誤。它可以有效地發現內存損壞錯誤,內存損失錯誤常常會帶來嚴重的安全隱患。手動查找這些問題棘手又耗時;儘管有嚴格的代碼審查實踐,錯誤還是常常成為漏網之魚。對於用一種不安全的語言(比如C或C )編寫的軟體項目而言,模糊測試是確保安全性和穩定性的一個關鍵要素。

模糊測試要真正有效,它必須是持續性、大規模執行,並且集成到軟體項目的開發過程中。為了為Chrome提供這些功能,我們編寫了ClusterFuzz,這是一套在25000多個核心上運行的模糊測試基礎設施。兩年前,我們開始通過OSS-Fuzz向開源項目提供ClusterFuzz這項免費服務。

今天,我們宣布ClusterFuzz現在是開源的,任何人都可以使用。

我們在這八年的時間裡開發了ClusterFuzz,以便無縫地融入到開發人員的工作流程,並且使得查找錯誤並修復錯誤變得異常簡單。ClusterFuzz提供端到端自動化:從錯誤檢測到分類排查(準確的重複數據刪除和二分法)、錯誤報告,直到最後的自動關閉錯誤報告。

ClusterFuzz已發現了Chrome中的16000多個錯誤,並發現了與OSS-Fuzz集成的160多個開源項目中的11000多個錯誤。它是Chrome及另外許多開源項目開發過程中不可或缺的一部分。ClusterFuzz常常能夠在引入後幾小時就能發現錯誤,並在一天內驗證修復方法。

查看我們的GitHub代碼庫(https://github.com/google/clusterfuzz)。你可以遵照這些說明在本地嘗試ClusterFuzz。在生產環境中,ClusterFuzz依賴谷歌雲平台的一些關鍵服務,但你可以使用自己的計算集群。我們歡迎你的貢獻,並期待任何有助於改善和擴展該基礎設施的建議。我們希望,通過開源ClusterFuzz,鼓勵所有軟體開發人員將模糊測試集成到他們的工作流程中。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 雲頭條 的精彩文章:

農行 635 萬元 PaaS 項目被廢標

TAG:雲頭條 |