Coverity掃描報告開源軟件質量領先

Coverity公司發布了2013年Coverity掃描開源軟件報告。經過Coverity掃描服務以及按照Coverity開發測試平臺的商業慣例,該報告中詳細分析了對于7.5億行開源軟件代碼的分析,這是至今已知報道的最大的樣本量的研究。
在2013年Coverity掃描報告中,他們分析了超過700個C/C++開源項目和一個匿名的企業項目的樣本。另外,報告中還重點突出了一些流行的開源Java項目的分析結果,這些項目從2013年3月接受了掃描服務。
Coverity掃描開源項目報告成為了一個被廣泛接受的衡量開放源代碼質量狀態的標準。在過去8年時間里,Coverity掃描服務分析了超過1500個開源項目的數億行代碼——其中包括的C/C++項目中有NetBSD、FreeBSD、LibreOffice和Linux等,Java項目中有Apache Hadoop,HBase以及Cassandra等。
掃描服務自2006年來,已幫助開發者發現和修復了超過94000缺陷。僅在2013年一年就修復了近50000個缺陷——這是掃描服務的用戶在一年中修復缺陷的最大數量。在這些缺陷中,有超過11,000的缺陷修復出現在掃描服務中的四個最大的項目:NetBSD、FreeBSD、LibreOffice和Linux。
2013年報告中重要發現,包括:
C/C++項目中開源軟件代碼質量超過專有軟件。缺陷密度(每1,000行軟件代碼所含的缺陷)是一個通用的測量軟件質量的方法,缺陷密度1.0被認為是高質量軟件的公認的行業標準。
Coverity的分析中發現,掃描服務中的開源的C/ C++項目的平均缺陷密度為 0.59,而為企業項目開發的專有C/C++代碼的缺陷密度為 0.72。在2013年,在所有不同大小的代碼庫中,掃描服務中的開源項目的代碼質量超過專有項目,這進一步強調了開源社區開發測試的堅定承諾。
Linux繼續成為開源質量的基準。通過利用掃描服務,Linux將修復一個新發現的缺陷的時間從122天減少到僅6天。從2008年第一個Coverity掃描報告發布后,掃描過的Linux版本的缺陷密度一直小于1.0。在2013年,Coverity掃描了超過850萬行Linux代碼并發現缺陷密度為 0.61。
C/C++開發者修復了更多的高風險缺陷。Coverity分析報告發現貢獻于開源Java項目的開發者修復的高風險缺陷的數量沒有貢獻于開源C/C++項目的開發者修復的多。
參加掃描服務的Java項目開發者只修復了13%的被指出的資源泄露,而C/C++項目開發者則修復了46%。這一方面可能是因為Java編程社區錯誤的安全感的原因,這種安全感是由于語言的保護,比如垃圾收集。然而,垃圾收集是不可預測的,而且不能訪問系統資源,所以這些項目處于危險之中。
HBase是Java項目的基準。Coverity分析了100個開源Java項目的超過800萬行代碼,包括流行的大數據項目Apache Hadoop 2.3 (320,000 行代碼)和Apache Cassandra (345,000 行代碼)。
自從在2013年8月加入掃描服務以來,Apache HBase (Hadoop的數據庫)修復了超過220個缺陷,其中包括比其他參加掃描服務Java項目更高比例的資源泄露(HBase的缺陷中資源泄露占的比例為66%,而其他項目平均為13%)。
“如果說軟件正在吞食世界,那么開源軟件則是帶頭沖鋒,”Coverity的產品高級總監Zack Samocha說,“我們的目標,包括Coverity掃描服務在內是幫助開源軟件社區創作高質量的軟件。基于這個報告的結果——以及這個日益流行的服務——使用開發測試的開源軟件項目繼續提升他們軟件的質量,這使得整個行業更上一層樓。”
Coverity也宣布已經開放了Coverity掃描服務,允許任何對開源軟件感興趣的人查看參與項目的進展。個人現在可以成為項目觀察者,這使得他們可以跟蹤掃描服務中相關開源軟件的狀態,查看高級數據包括未解決和已修復的缺陷的數目以及缺陷密度。
(來源:http://www.ciol.com 編譯:紀元)