2015 Fiscal Year Research-status Report
ソフトウェア変更計画に基づいたプレファクタリング支援手法の確立
Project/Area Number |
15K15970
|
Research Institution | Tokyo Institute of Technology |
Principal Investigator |
林 晋平 東京工業大学, 情報理工学(系)研究科, 助教 (40541975)
|
Project Period (FY) |
2015-04-01 – 2018-03-31
|
Keywords | リファクタリング / プレファクタリング / 不吉な臭い / 機能捜索 |
Outline of Annual Research Achievements |
本研究は,リリースを伴いながら開発が進行していく現実のソフトウェアに対して,変更に先立って,それらを行いやすいようなリファクタリング候補を導出すること,該当リファクタリングをどのように安全に行えば良いかのガイドを開発者に促すことにより,開発のコンテキストを考慮したリファクタリングの実行を支援することを目指している.平成27年度では以下の成果を得た.(1) 開発プロジェクトの過去のマイルストーンにおけるイシューの一覧を抽出し,機能捜索ツールと組み合わせることにより,対応するモジュールの一覧を特定するプロセスを自動化した.(2) 開発プロジェクトの将来のマイルストーンに紐付けられたイシューの一覧を開発者のコンテキストとみなし,不吉な臭いのコンテキストに適合する度合いを1で実現したツールを用いて計算することにより,不吉な臭いを優先順位付けする手法を開発した.(3) 2の手法において,機能捜索結果に基づく単純な優先度と,結果に含まれるモジュールの確度を利用した優先度を,オープンソースソフトウェア事例を用いて比較することにより,適当な優先度に基づく優先順位付け方法について検討した.(4) 名前変更リファクタリング,大きなリファクタリング,履歴リファクタリング等の各種リファクタリング手法について,それらの連鎖や組合せ,粒度の違い等の観点から,プレファクタリング支援に有用なコンテキストを考慮できるか検討した.
|
Current Status of Research Progress |
Current Status of Research Progress
2: Research has progressed on the whole more than it was originally planned.
Reason
本研究は,開発のコンテキストを考慮したプレファクタリングの実行を支援することを目指している.平成27年度では,そのうちの中心的な機構である,開発のコンテキストに従った不吉な臭いの推薦法の基本的な設計を行い,また予備調査によりその既存手法に比べた優位性を確認している.
|
Strategy for Future Research Activity |
平成28年度では,平成27年度に設計したプレファクタリング向け不吉な臭いの推薦法を洗練させ,手法として確立させる.前年度の成果を発展させるとともに,前年度に利用しなかった分析結果の利用も検討する.これには,機能実装にオーバラップするリファクタリングの関係を利用した推薦や,Github等で多く見られる,変更が途中まで起こった場合を想定した,部分的な変更内容の利用等がある.また,不吉な臭いの導出のみならず,それを解消するためのリファクタリング計画の導出法を模索する.計画は,前年度に検討したプレファクタリング手法を拡張し,複数のリファクタリングをどういった順序でどのように組み合わせれば失敗なく実行できるかを発見し,得られたリファクタリング列の候補をガイドとして開発者に提示することにより行う.そのために,実際に得られたリファクタリングを探索的に適用していく手法を検討している.
|
Causes of Carryover |
平成27年度では基本的な枠組みの設計に注力したため,大学院生を雇うための謝金,成果発表のための旅費,論文掲載費の執行時期に遅れが出た.
|
Expenditure Plan for Carryover Budget |
上記予算は平成28年度以降で使用する.平成28年度では,ソフトウェア工学国際会議(International Conference on Software Engineering; ICSE)やソフトウェア解析・進化・リエンジニアリング国際会議(International Conference on Software Analytics, Evolution, and Reegigineering; SANER)などの国際会議,ソフトウェア工学の基礎ワークショップ(FOSE)などの国内ワークショップに参加し,提案中のリファクタリング支援手法やそれに関連する技術の研究成果を発表していく.
|
Research Products
(11 results)