FindBugについてちょっとした調べもの
ちょっと使う機会があったので調べたついでにメモしてみました。
(そういえば、数年前にも開発で虫マークが大量発生したことがあるなと・・・思っていました)
FindBugとは
FindBugsとはビル・ピューとデビッド・ホベメイヤーが製作したオープンソースプログラムでJavaコードにあるバグを解析する[2][3]。静的解析を使って[2][4]Javaプログラム内で100種類もの潜在的なエラーを検査する[2]。FindBugsはソースコードではなくJavaバイトコード上で運用され[4]、スタンドアロンのGUIアプリケーションで配布される。またEclipse、NetBeans[5]、IntelliJ IDEA[6][7][8]、Hudson[9]、Jenkins[10]のプラグインとしても利用可能である。
大雑把に言うと、プログラミング中にバグがありそうなコードをチェックして知らせてくれるツールといった感じかと思います。(ビルドしなくてもよいので、その場でパッと見れる点が良い点なのかと)
ちなみに、FindBugs はもう開発はされていないそうです。(ということは、今後はSpotBugs を使用するように考えた方がよいのかもしれない。)
FindBugsの後継としてのSpotBugsの紹介 - Kengo's blog
何ができるのか
- バグ予備群が検知できる
検知できるバグの種類は以下リンクに記載されている。
また、バグのパターンは下記記事で整理されている。
FindBugsのバグパターン一覧 - 現場のためのソフトウェア開発プロセス - たかのり日記
使い方は下記記事でまとめられている。
(今回私が使う場合は、 Eclipse と思われる。)
おわりに
FindBugs 実施することでコードの品質があがるのかは今後試しながらやっていくしかないかなという気がしている。さらに、基準やコードの修正方法などいくつかの方針を決めてから本格的な修正に入らないと無限に対応することになりそうだなとも感じました。
もう少し自分の中で整理してどのバグパターンを重視してみていくかは考えていきたいと思います。
あとは、毎回 Eclipse 開いて実行して確認してはイヤなので、チェックと展開までを自動化を試みようと思われる。 ただし、まずは上記でどれだけの潜在バグが発生するかを分析してからかなと思っています。