エスエムジー(SMG)は2008年10月24日,動作中のJavaアプリケーションからシーケンス図やクラス図を自動生成するソフトの新バージョン「ENdoSnipe 3.5」を出荷開始した。新バージョンでは,メモリー・リークや複数スレッドによるオブジェクトのブロックといった,これまで解析が難しかった問題を診断できる機能を備えた。

 ENdoSnipeは,Javaアプリケーションが動作するサーバーに「Javelin(JAVa Extensible Logging INfrastructure)」と呼ぶエージェントをインストールし,Javelinが出力するログを基にシーケンス図やクラス図といったモデルを自動生成する。メソッド単位の処理時間をしきい値として設定しておけば,処理に時間がかかっているクラスやメソッドを特定できる。ログは動作中のオブジェクトから生成するので,ソースコードがなくてもモデルを作成することが可能だ。

 新バージョンでは,JavaVMに対してフル・ガベージコレクション(GC)を強制実行させ,メモリー・リークを確実に検出する機能を追加。従来は,GCをアプリケーション・プログラムで実行させないとメモリー・リークを確実に検出できなかった。

 また,複数スレッドによる特定のオブジェクトへのブロックを検出する機能も備えた。これは,あるスレッドが特定のオブジェクトを占有(ブロック)する際に,別のスレッドが待ち状態になっていることを検出するもの。従来は,特定のスレッドがオブジェクトをブロックする状態を検出できたが,待ち状態のスレッドまでは検出できなかった。

 ENdoSnipe 3.5の価格は,1サーバー当たり69万円(税別,保守料込み)。