[様式-学 5]
博士論文要旨
論文題名:ソースコードの編集履歴を用いた プログラム変更理解に関する研究
立命館大学大学院情報理工学研究科 情報理工学専攻博士課程後期課程
ふりがな きつ えいじろう 氏 名 木津 栄二郎
ソフトウェアの保守や進化の過程において,開発者や保守者はクライアントの拡張要求 や環境の変化への適応,欠陥の修正のために,そのプログラムに対して変更を加える必要 がある.また開発者や保守者は,そのプログラムに対して変更を加える前に,そのプログ ラムの現在の状態だけでなく,過去にそのプログラムに対して行われてきた変更の過程も 理解する必要がある.
プログラム変更理解を支援するために,ソースコードの 2 つの版の差分情報からその間 の変更内容を検出する手法が提案されているが,個々の変更が混ざり合った状態で検出さ れてしまうという問題がある.開発者や保守者にとって,混ざり合った変更を解きほぐす 手間は大きい.
本論文では,開発者や保守者によるプログラム変更理解を支援するために,統合開発環 境により記録されるソースコードの編集操作履歴を用いて,個々のプログラム変更を自動 検出する手法を提案する.提案手法では,編集操作履歴から過去におけるソースコードの さまざまな時点のスナップショットを復元することで,コード片レベルではなくプログラ ム要素レベルの変更を検出する.さらに,検出された変更を開発者や保守者の方針に応じ て集約する仕組みを導入する.提案手法を実装したツールを用いることで,プログラマは 過去に行われたプログラム変更を容易に閲覧および調査することができる.
評価実験では,6 個のプロジェクトの開発時の編集操作履歴から本ツールを用いてそれぞ れプログラム変更を検出し,それらの検出数と 5 つの事例における人手で作成した変更タ スクとの比較と考察によって提案手法の有用性を確認した.その結果,それぞれのプロジ ェクトのプログラム変更の検出数については,検出されたプログラム変更の総数を,それ らを集約することで 30.3%〜54.5%に減少させることができた.また,5 つの事例における 比較を見る限り,時間的な方針による集約では,どの事例においても妥当なプログラム変 更を検出していた.一方,空間的な方針による集約では,集約対象であるプログラム変更 の変更箇所周辺の構文上の構造に集約結果が影響を受ける傾向があり,時間的な方針によ る集約よりもプログラム理解支援の効果が低いことがわかった.