hijikitaroのブログ

しがないSIerとして、日々プロジェクトを管理し、システムを育て、日々お子を見守り育てる中での出来事や学びを淡々と書いています。

FindBugについてちょっとした調べもの

ちょっと使う機会があったので調べたついでにメモしてみました。

(そういえば、数年前にも開発で虫マークが大量発生したことがあるなと・・・思っていました)

FindBugとは

FindBugsとはビル・ピューとデビッド・ホベメイヤーが製作したオープンソースプログラムでJavaコードにあるバグを解析する[2][3]。静的解析を使って[2][4]Javaプログラム内で100種類もの潜在的なエラーを検査する[2]。FindBugsソースコードではなくJavaバイトコード上で運用され[4]、スタンドアロンGUIアプリケーションで配布される。またEclipseNetBeans[5]、IntelliJ IDEA[6][7][8]、Hudson[9]、Jenkins[10]のプラグインとしても利用可能である。

出典:FindBugs - Wikipedia

大雑把に言うと、プログラミング中にバグがありそうなコードをチェックして知らせてくれるツールといった感じかと思います。(ビルドしなくてもよいので、その場でパッと見れる点が良い点なのかと)

ちなみに、FindBugs はもう開発はされていないそうです。(ということは、今後はSpotBugs を使用するように考えた方がよいのかもしれない。)

FindBugsの後継としてのSpotBugsの紹介 - Kengo's blog

何ができるのか

  • バグ予備群が検知できる

検知できるバグの種類は以下リンクに記載されている。

findbugs.sourceforge.net

また、バグのパターンは下記記事で整理されている。

FindBugsのバグパターン一覧 - 現場のためのソフトウェア開発プロセス - たかのり日記

使い方は下記記事でまとめられている。

(今回私が使う場合は、 Eclipse と思われる。)

qiita.com

おわりに

FindBugs 実施することでコードの品質があがるのかは今後試しながらやっていくしかないかなという気がしている。さらに、基準やコードの修正方法などいくつかの方針を決めてから本格的な修正に入らないと無限に対応することになりそうだなとも感じました。

もう少し自分の中で整理してどのバグパターンを重視してみていくかは考えていきたいと思います。

あとは、毎回 Eclipse 開いて実行して確認してはイヤなので、チェックと展開までを自動化を試みようと思われる。 ただし、まずは上記でどれだけの潜在バグが発生するかを分析してからかなと思っています。

参考

www.techmatrix.co.jp

findbugs.sourceforge.net

weblabo.oscasierra.net