ソフトウェア開発ツール
2005.1.23より、ヒットになります。
SWEBOK(Software Engineering Body Of Knowledge)による分類に沿って整理していきます。
プラグイン・フレームワーク形式によるエディタ、コンパイラ、コード生成、デバッガを統合したツールです。各種プラグインを組み込むことによって、設計ツール、品質ツール、バージョン管理ツール、リリースおよびビルド管理ツールといった機能が拡張できます。当初はJava言語開発を主な対象としていましたが、Ver.3.0からはプラグイン化がさらに進み、Java言語開発機能も一つのプラグインとなり、C++言語用CDTなど他の言語も扱えます。
入手先
紹介記事等
書籍・Webともに膨大な情報があるので、ほんの一部だけ紹介します。
Eclipse詳細ページ
Eclipseの詳細(バージョン3.x用)はこちら(現在作成中)
入手先
ダウンロードは下記「日本語オープンソースコミュニティ」から辿れます。
日本語情報
NetBeans詳細ページ
NetBeans 6.x
ユニットテストフレームワーク、カバレッジ計測
紹介記事等
レビューおよびインスペクションを補助するツール。静的解析ツールと近いものがあります。ここでは、コードレビュー・コードインスペクションで実施する検査である規約との適合性を主に扱うツールとして分類します。
Java言語のソースコードを解析し、コーディング規約に違反している箇所を指摘するツールです。
入手先
紹介記事等
構文および意味を解析するもの、データ、制御フロー、従属関係の解析をするもの、などソフトウェアを解析し、適格性や検証を目的とするツール。
Java言語のバイトコードおよびソースコードを解析し、コンパイラでは検査していない問題点を指摘するツールです。
入手先
紹介記事等
jlint詳細ページ
using Jlint
Javaソースコードを解析し、排他・スレッド問題、性能・スケーラビリティ問題、シリアライズ、データフロー等の問題を指摘するツールです。
入手先
Java言語のバイトコードを解析し、バグパターンリストと照合して潜在的な問題点を指摘するツールです。ルールの一例は、equalsメソッドとhashCodeメソッドが整合性を持ってオーバーライドされているか、メソッドの戻り値が無視されているか、null参照呼び出しを引き起こす可能性があるか、初期化前にフィールドを読み出すか、などです。一覧はFindBugsのサイトに掲載されています。
入手先
紹介記事等
Java言語のソースコードを解析し、ルールと照らし合わせて問題個所をレポートするツール。未使用のローカル変数/引数、空のcatch文/if文、重複したimport文、シングルトンにすべきクラス、短すぎ/長すぎる命名などを調査する。Eclipseをはじめ各種開発ツールへのプラグインが充実している。
入手先
紹介記事等
Effective Java等で提唱されているルールとのチェック、Sunコーディング規約とのチェックなどを行い問題個所を指摘するツールです。なお、静的解析のほか動的解析(単体テストの自動生成・検査)を行う機能があります。
日本IBMではコーポレート契約で社内では自由に使えるように整えているとのこと。