ソースコード修正漏れ防止を目的とした同時変更箇所検索ツールの出力結果の並べ替え
卒業論文, 大阪大学
特別研究報告
概要: ソフトウェア開発において,あるコード片を修正する際に他のコード片にも同様の修正を行うことがある.
そのためには開発者が同時に修正を加えるべきコード片を把握している必要がある.
もし修正を加えるべきコード片を把握していなければソースコードの修正漏れが発生する恐れがある.
そのような修正漏れを少なくするため,同時変更箇所検索ツールがよく用いられる.
現在,我々の研究グループと共同研究を行っているある企業では独自に同時変更箇所検索ツールを開発している.
このツールは文字列を入力すると入力された文字列と一致する箇所をソースコード内から見つけ,その箇所を出力する.
このツールから出力された文字列のある箇所全てに対して,開発者は目視で修正の有無の判断を行っている.
しかし,ツールの出力の順番がファイルのパスの辞書順となっている.
そのため,ツールの出力の箇所が膨大になると開発者の集中力の低下により修正漏れが発生してしまうという問題が起こっている.
そこで本研究では,修正が必要となる可能性が高い順にツールの出力の順番を並べ替える手法を提案する.
提案手法ではロジカルカップリングを用いて並べ替えを行う.
ロジカルカップリングとはプログラム要素(ファイル,メソッド等) 間に存在する依存関係を指す.
ロジカルカップリングの関係にあるプログラム要素は同時に修正が必要となる可能性が高い.
ロジカルカップリングを用いると修正が必要となる可能性が高い順にツールの出力の順番を並べ替えることができる.
本研究では,ある企業が開発している3 つのシステムに対して実験を行い,並べ替えを行わない場合との比較を行った.
実験の結果,提案手法の並べ替えによって修正されたファイルを上位に表示できた件数がそうでない件数より多いことを確認した.
特にツールの出力が50 箇所以上の場合には,提案手法を用いた並べ替えがより有効に働くことを確認した.
タグ: Software, Development, Logical, Coupling, Code, Search, Academic-industrial, Collaboration
@mastersthesis{佐飛祐介2015,
author = {佐飛 祐介},
title = {ソースコード修正漏れ防止を目的とした同時変更箇所検索ツールの出力結果の並べ替え},
school = {大阪大学},
type = {Bachelor's Thesis},
year = {2015},
month = {feb}
}