オルタナティブ・ブログ > 森崎修司の「どうやってはかるの?」 >

計測できそうでできない多くのこと。エンピリカル(実証的)アプローチで。

凡ミスが多いところに欠陥が多いという研究結果があったとしても・・・

»

 コーディングルールに従っていないステートメントの多い部分、ドキュメント中の書式に従っていないものが多い部分にはバグが潜んでいる可能性が高いという報告や研究結果がいくつか報告されている。全面的にそれを支持するものではないが、たとえばこの論文では、MISRA Cによるコーディングルール違反と不具合の関係を報告している。

規模の大きいソフトウェアで、複数の担当者がいる場合、長年保守されていて、あるバージョンで特定の担当者が変更した部分がある場合に、欠陥を混入してしまうことがあるためだ。これらの欠陥は時間が足りなかったり、スキルが足りなかったりしたことを示していることが多い。それらを原因とする、より深刻な欠陥が潜んでいる場合が多いことが経験的に示されている。

だからといって、コーディングルールに従っていない部分だけをルールに従うよう書きかえたり、ドキュメントを書式に従って書き直ししたからといって、潜んでいる可能性の高い欠陥が直るわけではない(それらの書き直しや修正の最中に潜んでいるバグに気づくことはあるかもしれないが)。

凡ミスをたくさん発見したら、それを指摘するのに終始せず、そのあたりにもっと致命的なバグや影響範囲の大きなバグが含まれていないかを確かめる必要がありそうだ。

その他にも、分岐の数を数え、ソースコードの複雑さの一側面を計測するソースコードメトリクスを用いた分析から、複雑な部分に欠陥が含まれる傾向があることが報告されている。複雑な部分ほど欠陥を含む可能性が高くなるからだ。

論文でのケーススタディで示された結果だ。ご自身が携わっているソフトウェアではどうだろうか。

Comment(0)