天天看點

我們在各種開源項目中發現的 10000 個 bug

為了改善我們的靜态代碼分析的方法論,以及改進我們的靜态分析工具pvs-studio,我們會定期地用他們驗證各種各樣的開源項目。我們找到了很多bug,事實證明,再牛的人也會拼寫錯誤 / 注意力不集中,沒有人能保證不犯錯。即便是在microsoft code contracts, qt, linux kernel, cryengine, virtualbox, libreoffice, firefox, boost, tor這些項目裡,依舊如此。目前我們檢測了262個項目,都是官方釋出版!我們一共記錄了10000個bug!

當然,262個項目中找到10000個bug其實并不多,平均每個項目隻有38個。但是值得注意的是,這些項目的品質差别也很大,有的項目隻發現一個bug,而另外一些則包含上百個bug。

另外需要注意的是,我們的主要目的是提升自己的方法論和工具,并不是要找出盡量多的bug。我們需要找出很多有趣的例子來寫文章,是以實際的bug數量應該是多于這個數目的。是以我總是奉勸為項目貢獻代碼的人好好測試一下自己的代碼,避免送出太多的bug。在分析的時候,找到那些不可重制的bug更能夠展現查錯工具的優越性,但是對實際項目卻沒什麼用,因為不可重制往往意味着無法修正。靜态分析工具很重要的功能就是能夠定期運作,這樣它就能夠在程式員編寫的過程中糾錯,而不是已經調試了50個小時之後才發現錯誤,或者等使用者開始抱怨了才發現錯誤。

好,是時候給大家看看我們發現的10000個bug了,通過下面連結檢視:

<a href="http://www.viva64.com/en/examples/">http://www.viva64.com/en/examples/</a>

這些bug可以幫助大家完善自己團隊的編碼标準,給程式設計技巧文章提供材料,輔助提高軟體可靠性的研究,等等。

繼續閱讀