Tsantalisというデザインパターン検出ツールが「edubase Stream ソフトウェアパターン第9回ツール活用」で紹介されていた。 Tsantalis デザインパターン検出ツールとは、既存のソフトウェアについて既知のパターンが適用されているかどうかを検出するツール。 既存のプログラムの理解を容易にし、プログラムを修正しやすくなる。 TsantalisはJavaのクラスファイル集合から12のGoFデザインパターンを検出する。 複数のデザインパターンの重ね合わせを扱うことができ、軽快で精度がいい。 割り切れば使える、とのこと。 Tsantalisが検出する仕組みは、対象ソフトウェアをグラフ化し、既知デザインパターンのグラフが含まれるかを判定する。 部分グラフの同型判定問題である。 規模の大きいJavaプログラムを読む時には、試してみる価値がありそうだ。
![デザインパターン検出ツール Tsantalis](https://cdn-ak-scissors.b.st-hatena.com/image/square/8d71ff5111e05619a10d29bb40d7aebaa75c8fbc/height=288;version=1;width=512/https%3A%2F%2Fs0.wp.com%2Fi%2Fblank.jpg)