根據美國政府贊助的一項計畫,最受歡迎的開放原始碼軟體,往往也是程式錯誤最少的軟體。
程式分析工具製造商Coverity 6日宣佈,「LAMP」開放原始碼軟體堆疊的程式錯誤密度 – 每千行程式的錯誤數量 – 低於其分析的32項開放原始碼計畫基線。
美國聯邦國土安全部撥款124萬美元,贊助史丹福大學、Coverity和賽門鐵克公司,抓出開放原始碼軟體的程式錯誤,並且改進Coverity的商用原始碼分析工具。這項始於今年元月的贊助,屬於為期三年的「開放原始碼強化計畫」(Open Source Hardening Project)。
LAMP堆疊包括Linux作業系統、Apache網路伺服器、MySQL資料庫和一種指令語言 – PHP、Perl或Python。目前正朝向主流商業運算發展,企圖挑戰Java和微軟的.Net。
Coverity表示,其分析行動掃瞄了32項開放原始碼計畫共約1,750萬行程式,平均每千行程式出現0.434個錯誤。但LAMP堆疊「展現明顯較佳的軟體品質」,平均每千行程式只有0.29個錯誤。
但Coverity指出一項警訊:相當受歡迎的指令語言PHP,是LAMP堆疊中唯一錯誤密度超過基線的元件。在32項作為基線的開放原始碼計畫中,Amanda備份工具的錯誤密度最高,每千行達1.237。密度最低的是XMMS聲音播放器,每千行約偵測到0.051個錯誤。
單就數字而言,錯誤最多的是Linux與Unix適用的低階繪圖介面軟體X,Coverity在當中抓出1,681個程式錯誤。XMMS在數量上的表現同樣居首,僅偵測到6個程式錯誤。
Coverity的分析工具針對軟體程式中40種最緊要的安全弱點和編碼錯誤。該公司並未詳細說明其發現的瑕疵範圍,其分析結果也不能用來評斷開放原始碼程式與專有程式的安全差異,因為專有軟體不供外界掃瞄抓錯。
史丹福大學與Coverity也利用政府贊助的資金,建構一套每日掃瞄開放原始碼計畫獲贈程式的系統。Coverity表示,分析結果的資料庫開放給所有軟體開發員,以便進行必要的修補。(陳智文)
下載分析結果之PDF檔(需要註冊)。


