OSS開発における欠陥数とカバレッジの関係に基づく継続的インテグレーションの有効性検証

南 智孝(1551105)


本発表では,オープンソースソフトウェア(OSS)を対象に,継続的インテグレーション(CI)におけるテストでの欠陥検出漏れを明らかにする. CIとは,開発者が加えた変更や修正をコミットするたびに,自動化されたビルド(コンパイル,テスト,デプロイ)が実行することにより,欠陥を早期発見し,ソフトウェアの品質を維持する手法である. 近年,OSS開発では,ソフトウェアの品質向上を図るために,CIを実施するプロジェクトが増加している. 従来研究では,テスト実行結果の失敗の回数を欠陥検出数とし,CIの有効性を評価した. 実際にOSSに混入している欠陥数には着目していない. 本発表では,テストにより見逃された欠陥を見逃し欠陥と定義し,テストカバレッジと欠陥数,見逃し欠陥数の関係を分析し,CIの有効性を検証する. ケーススタディを行った結果,テストカバレッジが高いプロジェクトほど欠陥混入数が少なく,また,テストカバレッジが低いプロダクトコードにおいても, テストで網羅されている箇所には欠陥が混入していないことが明らかとなった. CIはテスト対象箇所の欠陥を検出するうえで有効である.