より短い編集スクリプトを目指して ― 行単位の差分情報に基づくGumTreeの拡張 ―

松本 淳之介  肥後 芳樹  楠本 真二  

誌名
電子情報通信学会論文誌 D   Vol.J103-D   No.8   pp.579-590
発行日: 2020/08/01
Online ISSN: 1881-0225
DOI: 10.14923/transinfj.2019JDP7100
論文種別: 論文
専門分野: ソフトウェア工学
キーワード: 
差分理解,  編集スクリプト,  GumTree,  

本文: PDF(1MB)>>
論文を購入




あらまし: 
ソフトウェア開発においてコードレビューは頻繁に行われ,レビューをする開発者はソースコードの差分を理解する必要がある.編集前のソースコードを編集後のソースコードに変換する操作の列を編集スクリプトと呼び,開発者はその編集スクリプトを理解することでソースコードの差分を理解する.編集スクリプトを出力するツールとしてGumTreeがある.GumTreeは二つのバージョンのソースコードを入力として受けとり,抽象構文木のノード単位の挿入・削除・更新・移動といった4種類の操作で構成された編集スクリプトを出力する.しかし,GumTreeが更新と移動を検知する精度は低く,差分の理解が困難であるという問題がある.GumTreeの精度が低い原因の一つとして,抽象構文木の情報のみで編集スクリプトを出力しようとすることが挙げられる.そこで提案手法では抽象構文木の情報のみでなく,行単位の差分情報を用いて編集スクリプトを出力する.そしてオープンソースソフトウェアに対して提案手法が有効か実験を行い,提案手法が差分の理解に有効であることを確認した.