楠本研究室

業績一覧

ホーム業績一覧

抽象構文木を利用したファイル間の移動コード検出

抽象構文木を利用したファイル間の移動コード検出
卒業論文, 大阪大学
概要: ソフトウェア開発において,開発者がソースコードの差分を理解することは重要である.ソースコードの差分を検出するツールとしてGumTreeがある.GumTreeは変更前後のソースコードを入力として受け取ると,内部で抽象構文木を生成し,削除・挿入・移動・更新といった操作を抽象構文木のノード単位で検出する.しかし,GumTreeは単一ファイルの差分しか検出できないため,ファイルを横断するソースコードの移動を検出できないという問題点がある.そこで本研究では,プロジェクトに含まれる全てのソースファイルから1つの抽象構文木を構築し,ファイルを横断するソースコードの移動を検出する手法を提案する.そして8個のオープンソースソフトウェアに対して提案手法を用いて実験を行った結果,全てのプロジェクトから合計で76,600個のファイルを横断する移動を検出できた.また,検出結果を確認したところ,ファイルを横断するソースコードの移動やファイル名に,いくつかの特徴が得られた.さらに,ソースコードの移動を検出できる既存ツールと比較を行った結果,提案手法のみが検出できる移動の特徴についても明らかになった.
@mastersthesis{藤本章良2020a,
  author = {藤本 章良},
  title = {抽象構文木を利用したファイル間の移動コード検出},
  school = {大阪大学},
  type = {Bachelor's Thesis},
  year = {2020},
  month = {feb}
}