ソースコードの構文解析木の差分を詳細に計算することで、大規模ソフトウェアのバージョンをまたいだ変更履歴を効率よく検索したり表示できるようなツールを開発した。ツールは、変更情報を格納し検索可能とするデータベースシステムや、検索された変更をソースコード上にわかりやすく表示するユーザーインターフェースを含む。このツールを用いて、実際のオープンソースの大規模プロジェクトを対象にした変更パターンの検索実験や、テスト結果が反転するソースコードの変更を自動的に同定するデバッグ手法や、さらには機械学習を用いたソースコードの意味情報抽出などの実験に取り組み、手法の有用性を示した。
|