オープンソースソフトウェアのなかで最も人気の高いものは、バグの数も最も少ないことが、ソフトウェアの安全を可能な限り確保する目的で米国政府が後援した初めての取り組みの結果から明らかになった。
コード解析ツールメーカーのCoverityが米国時間6日に発表したところによると、いわゆる「LAMP」と呼ばれるオープンソーススタックは、調査の対象となった32のオープンソースソフトウェアの基準値に比べて、バグ密度が低いことがわかったという。バグ密度とは、一定の行数のプログラムコードに含まれるバグの数を示すもの。
米国土安全保障省は1月に、スタンフォード大学、Coverity、Symantecの3者に対して124万ドルの資金を提供することを発表した。3者はこの資金を使って、オープンソースソフトウェアにあるセキュリティバグの探り出しや、Coverityの開発する商用ソースコード解析ツールの強化を行う。この資金提供は「Open Source Hardening Project」という3年計画の一部だ。
LAMPとは、Linux OS、ウェブサーバのApache、データベースのMySQL、そしてPHP、Perl、あるいはPythonのいずれかのスクリプティング言語を指す。LAMPは、主流の企業コンピューティング分野に進出してきており、JavaやMicrosoftの.NETと競合する存在となっている。
今回の解析では、32のオープンソースプロジェクトから1750万行以上のコードを選んで細かくチェックした。その結果、平均でコード1000行につき0.434件のバグが見つかったと、Coverityは述べている。これに対し、LAMPスタックはコード1000行あたりのバグの数が平均0.29件で、「品質の点で大幅に上回っていた」という。
ただ一点注意が必要な部分がある。LAMPスタックのコンポーネントのなかでも、人気の高いプログラミング言語であるPHPだけは、バグ密度が基準より高かったと、Coverityは述べている。
Coverityの調査結果によると、チェックしたほかのオープンソースプロジェクトのなかでは、Amandaのバックアップツールがコード1000行あたりのバグ数が最も多く、バグ密度は1.237だった。最も少なかったのはXMMSオーディオプレイヤーで、コード1000行あたりのバグ数は0.051件だった。
絶対数が最も多かったのは、Linux/UNIX用ローレベルGUIソフトウェアのXだった。Coverityは、Xから1681件の欠陥を発見したという。XMMSは欠陥の数がわずか6件と、絶対数でもトップだった。
Coverityは、ソフトウェアのコード中にある最も重大なセキュリティ脆弱性やコーディングミスのうち、40種類を選んで分析の対象とした。同社は見つかった脆弱性の詳細については明らかにしていない。
この政府肝いりの取り組みの一部として、スタンフォード大学とCoverityは、人気のあるオープンソースプロジェクトに提供されるコードを毎日スキャンするシステムを構築した。このシステムから得られたバグのデータベースは、開発者も利用でき、脆弱性の修正に必要とされる詳細な情報を入手することができる、とCoverityは述べている。
この記事は海外CNET Networks発のニュースを編集部が日本向けに編集したものです。海外CNET Networksの記事へ
CNET Japanの記事を毎朝メールでまとめ読み(無料)
ZDNET×マイクロソフトが贈る特別企画
今、必要な戦略的セキュリティとガバナンス
ものづくりの革新と社会課題の解決
ニコンが描く「人と機械が共創する社会」