佐々木, "プログラム構造に着目したソースコード理解性向上のためのリファクタリング支援手法," , 2013年2月.
ID 264
分類 学位論文
タグ source code understanding refactoring metrics measurement source code analysis data flow analysis
表題 (title) プログラム構造に着目したソースコード理解性向上のためのリファクタリング支援手法
表題 (英文) Supporting Refactoring for Improving Source Code Understandability Based on Program Structures
著者名 (author) 佐々木 唯
英文著者名 (author) Yui Sasaki
キー (key) Yui Sasaki
刊行月 (month) 2
出版年 (year) 2013
刊行形式 (howpublished)
URL
付加情報 (note)
注釈 (annote)
内容梗概 (abstract) ソフトウェア保守を行うにあたって,最も時間的コストの高い作業はソースコードを読み理解することである.そのため,ソースコードの理解性を向上させることで,ソフトウェアの保守作業全体のコストを削減することができる.ソースコードの理解性を向上させる手段の1つとして,プログラムの振る舞いを変えずに内部構造を改善するリファクタリングという技術が存在する.本研究では,ソースコードの理解性を向上させるためのリファクタリング支援として,2つの手法を提案する.
1つ目は,リファクタリングすべき箇所を特定するため,理解性の低いモジュールを検出する手法である.一般的な方法として,サイクロマチック数や行数といったメトリクスを計測し,これらの値が大きければ理解性が低いとみなす方法が挙げられる.しかし,連続して記述されたif文など,ソースコード中に類似した構造の繰り返しが存在する場合,メトリクスの値が大きくても理解性が低いとは限らない.そこで,メトリクスを計測する前処理として,繰り返し構造を折りたたんでプログラム構造を簡略化する手法を提案する.提案手法を適用した場合としなかった場合のメトリクスを計測して比較を行ったところ,提案手法を適用して計測したメトリクスの方が,理解性の低いモジュールを特定するのに有用であることが分かった.
2つ目は,ソースコードの理解性を向上させるための,プログラム文の並び替え手法である.既存研究として,ソースコードを読んで理解しようとする際,変数が定義されてから参照されるまでの距離が離れていると理解するためのコストが増大することが報告されている.従って,文の並びはソースコードの理解性に影響を及ぼすと考えられる.そこで,変数の定義・参照間の距離に着目して,モジュール内の文を並び替える手法を提案する.提案手法をオープンソースソフトウェアに適用し,並び替えの行われたモジュールについて被験者からの評価を得たところ,並び替えの行われたモジュールは理解性が向上するという結果が得られた.
論文電子ファイル Mthesis_s-yui_final.pdf (application/pdf) [一般閲覧可]
BiBTeXエントリ
@misc{id264,
         title = {プログラム構造に着目したソースコード理解性向上のためのリファクタリング支援手法},
        author = {佐々木 唯},
         month = {2},
          year = {2013},
}