FindBugs

バグ・パターンを探る

FindBugs ロゴ

昔、良く笑い話にあったのだが、『VBのソースは三ヵ月後、自分でも何を書いたか分からない』と言っていた。理由は二つあって、一つはVBはGUIの開発環境が提供されていて、これらを利用する事であまり深く詳細設計を考える事なく開発が可能であり、意味も無く長ったらしいソースになりやすい。もう一つはVB自体が初心者でも開発可能であり、三ヵ月後にはレベルアップしていて、前と書き方が変わってしまっていると言う事である。いずれにせよ、企業内での教育体制によって解決できる問題かも知れない。

幸い、訳が分からないという自体にはならなかったが、それでもレベルアップすると前の書き方が非効率的に見えてならなかった。ただ、現在でもそういう事が多少あって、更に良い書き方を見つける場合がある。そうなるとそれ以前に書かれたソースは多少不便に見えてしまう事がある。そして問題なのはそういった不便な書き方はバグを孕む書き方であったり事が多いのだ。

本日紹介するオープンソース・ソフトウェアはFindBugs、Javaプログラムの中からバグを探し出してくれるソフトウェアだ。ソースを解析し、バグ・パターンにマッチするものがあれば警告してくれると言う訳だ。

面白いと思うのはAntのタスクとして実行する事だろうか。毎回Buildする際にチェックするようにすれば、間違えやすいパターンを踏まずに済む。勿論、それらが確実にバグだと言う訳ではない。ただバグを含んでいる可能性があると言う事なのだ。

他人のソースコードを見ると、やはり綺麗なソースコードはバグが少なかったりする。それらは何でもそうだと思うが、明確な定義付けが明らかであるからバグが少ないのだ。あやふやなロジックの元ではやはりソースコードも心もとなく、大抵そう言った所にバグが潜んでいる。

FindBugsはバグが無くなるソフトウェアではない。しかしバグが無くなる可能性を持ったソフトウェアだ。Javaの開発案件であれば、是非導入を検討して欲しい。

http://findbugs.sourceforge.net/