スライド 0

メソッド呼び出しパターン
分析ツールの提案と実現
山田吾郎,吉田則裕,三宅達也,宮崎宏海,井上克郎
(大阪大学)
Department of Computer Science,
Graduate School of Information Science & Technology,
Osaka University
メソッド呼び出しパターン[1]とは?


ソースコード中のメソッド呼び出しと制御構造を要素するパターンのこと
メソッド呼び出しと制御構造からなる系列に対して,Sequential Pattern
Mining[2] を行うことで検出する
[ IF, isEditable, beep, ENDIF ] パターン (テキスト編集ソフトJEdit中に25回出現)
if(!buffer.isEditable()) {
バッファが編集不可であれば...
textArea.getToolkit().beep();
ビープ音を鳴らす
return;
}
メソッド呼び出しパターンの用途例
• パターンが表す機能を他の部分に実装する場合に参考にすることができる
問題点:
パターンの数が多く,必要なパターンのみを抽出することが困難
[1] 三宅ら: メソッド呼び出しパターンとして現れる横断的関心事の検出, SS2007-9, 2007.
[2] R. Agrawal, et al.: Mining Sequential Patterns, ICDE 95, 1995.
Department of Computer Science, Graduate School of Information Science & Technology, Osaka University
1
メソッド呼び出しパターン分析ツール
必要なパターンを抽出する作業を支援するために
分析ツールを作成


スキャタープロット
メソッド呼び出しパターンのソース
ファイル中での散布状況を表した図
検索機能付きパターンリスト
順序関係を考慮した検索が可能
条件に適合する
パターン一覧
検索条件入力エリア
選択されたパターン
を含むファイル一覧
Department of Computer Science, Graduate School of Information Science & Technology, Osaka University
2