講演名 2011-07-29
ソースコードの構造に対する体系的変更内容の復元
畑 秀明, 水野 修, 菊野 亨,
PDFダウンロードページ PDFダウンロードページへ
抄録(和) リファクタリングなどのソースコード構造の変更はソフトウェア開発において不可避な活動であり,保守性向上の面で推奨もされている.しかし版管理システムからは,個々のファイル間の変更や行レベルの差分しか得られない.このため複数のファイルにまたがる,クラスやメソッドなどの要素に対する移動や名前変更といったソースコード構造の変更は,網羅的な把握が難しい.本稿は,変更前後のソースコード構造に対する体系的変更内容を復元する手法を提案する.ソースコード構造の変更分析のコアとなる技術はソースコード要素の対応付けである.要素間の対応付けにおける従来手法は主に部分グラフの類似度から求めるものであったのに対して,我々は主に要素の属性間の類似度(テキストの類似度)から対応付けを求める.工夫した点は,対応付けの決定において,実証的に求めたデータを用いてベイズ推定を行うステップを導入したことである.AndroidとEclipseから選択した6つオープンソースソフトウェアへ適用し,精度良く対応付けができ体系的変更内容を復元できた結果を報告する.しかし,従来手法との比較評価は行えていないので今後の課題である.
抄録(英) Structure changes of source code including refactoring are inevitable activities in software development and maintenance, and also they are recommended for the improvements of maintainability. However, we can obtain only file-level and line-level change information from source code management systems. Therefore, it has been difficult to understand structure changes including moving and renaming of classes or methods. As a result, management of changes will become cost of software development and maintenance, and developers might make bugs because of misunderstanding changes. This paper presents a technique of identifying systematic changes of Java source code structure. For identifying systematic changes, the core part of analyzing source code structure changes is mapping elements between two revisions. Though previous work tackle this problem based on the similarity of subgraph, we obtain matching pairs based on the similarity of the content of elements. We report the result of empirical evaluation of our technique with nine open source software projects from Android and Eclipse.
キーワード(和) 体系的変更 / 変更管理 / リファクタリング / ソフトウェア進化
キーワード(英) systematic code change / change management / refactoring / software evolution
資料番号 SS2011-18,KBSE2011-15
発行日

研究会情報
研究会 KBSE
開催期間 2011/7/22(から1日開催)
開催地(和)
開催地(英)
テーマ(和)
テーマ(英)
委員長氏名(和)
委員長氏名(英)
副委員長氏名(和)
副委員長氏名(英)
幹事氏名(和)
幹事氏名(英)
幹事補佐氏名(和)
幹事補佐氏名(英)

講演論文情報詳細
申込み研究会 Knowledge-Based Software Engineering (KBSE)
本文の言語 JPN
タイトル(和) ソースコードの構造に対する体系的変更内容の復元
サブタイトル(和)
タイトル(英) Identifying systematic changes of Java source code structure
サブタイトル(和)
キーワード(1)(和/英) 体系的変更 / systematic code change
キーワード(2)(和/英) 変更管理 / change management
キーワード(3)(和/英) リファクタリング / refactoring
キーワード(4)(和/英) ソフトウェア進化 / software evolution
第 1 著者 氏名(和/英) 畑 秀明 / Hideaki HATA
第 1 著者 所属(和/英) 大阪大学大学院情報科学研究科
Graduate School of Information Science and Technology, Osaka University
第 2 著者 氏名(和/英) 水野 修 / Osamu MIZUNO
第 2 著者 所属(和/英) 京都工芸繊維大学大学院工芸科学研究科
Graduate School of Science and Technology, Kyoto Institute of Technology
第 3 著者 氏名(和/英) 菊野 亨 / Tohru KIKUNO
第 3 著者 所属(和/英) 大阪大学大学院情報科学研究科
Graduate School of Information Science and Technology, Osaka University
発表年月日 2011-07-29
資料番号 SS2011-18,KBSE2011-15
巻番号(vol) vol.111
号番号(no) 169
ページ範囲 pp.-
ページ数 6
発行日