2019 Fiscal Year Research-status Report
探索と対話の融合による半自動リファクタリング環境の確立
Project/Area Number |
18K11238
|
Research Institution | Tokyo Institute of Technology |
Principal Investigator |
林 晋平 東京工業大学, 情報理工学院, 准教授 (40541975)
|
Project Period (FY) |
2018-04-01 – 2021-03-31
|
Keywords | リファクタリング / ソフトウェア自動進化 / 探索ベースソフトウェア工学 / 対話型システム / 不吉な臭い |
Outline of Annual Research Achievements |
本研究は,より現実的な自動リファクタリングの実現に向けて,探索処理の向上,対話的な制御,および対話的制御のためのリファクタリング結果の効率的なレビュー方法の確立を目指すものである.令和元年度では,主に以下の成果を得た.(1)前年度に引き続き自動リファクタリングに用いる探索手法の検討を行った.複数のヒューリステック探索アプローチを適用したリファクタリング探索器のプロトタイプ実装を進め,手法の得失を比較した.(2)特定のメソッド内で行われた変更において行われたローカルリファクタリングを探索により検出する手法を提案し,本研究で開発した自動探索ツールのプロトタイプを応用して実現した.また,オープンソースソフトウェアの変更履歴から特定したローカルリファクタリングの検出が可能であったことを確認した.(3)リファクタリングを含むソースコード変更パターンを版管理履歴から抽出し,自動的にそれらを適用すべき箇所を特定するツールを開発し,その有用性を評価した.(4)複数のリファクタリング適用が混在したような変更を効率よく理解するため,行われた変更間の依存関係を考慮しながら変更の粒度を調整するための環境のプロトタイプを開発し,その評価を行った.(5)適用すべきリファクタリングの選定要因として,ソースコードの低品質箇所の改善だけでなく,ソースコードの品質低下の予防も考慮し,予防の観点からリファクタリング適用対象モジュールの選定に利用可能な特徴として腐敗モジュールを提案し,その特徴を分析した.(6)リファクタリングによる品質向上を適用すべきソースコード中の低品質箇所である不吉な臭いの情報を,ソフトウェア変更記述とモジュールとの対応付けに利用する手法を提案するとともに,その特徴を分析した.
|
Current Status of Research Progress |
Current Status of Research Progress
2: Research has progressed on the whole more than it was originally planned.
Reason
本研究は,リファクタリング等のプログラム変換を探索的に組み合わせて自動的にソフトウェア品質を改善する,自動ソフトウェア進化方式のより現実的な実現を目指している.令和元年度では,平成30年度に開発したリファクタリング操作列の探索手法の自動ツールの開発をさらに進め,リファクタリングの検出への応用に成功している.また,リファクタリング結果のレビューに向けて,変更の粒度を変更しながらその全体像を俯瞰するためのツールのプロトタイプも完成し,実際に結果の分析が可能であったことを確認できている.
|
Strategy for Future Research Activity |
令和2年度では,これまでに開発してきたツールを組み合わせ,実際に探索に基づいたリファクタリングの提案を実現していく.また,これまでに収集したリファクタリング実例および提案されたリファクタリング操作を組み合わせて用いて,その適用範囲を拡張していく.さらに,研究成果の公表に注力する.
|
Causes of Carryover |
令和元年度では,大学院生を雇うための謝金や成果発表のための旅費の一部,また論文掲載費の執行時期に遅れが出た.これらの予算は令和2年度以降で使用する.令和2年度では,ソフトウェア保守・進化国際会議(International Conference on Software Maintenance and Evolution; ICSME),ソフトウェア解析・進化・リエンジニアリング国際会議(International Conference on Software Analytics, Evolution, and Reengineering; SANER)などの国際会議,ソフトウェア工学の基礎ワークショップ(FOSE)などの国内ワークショップに参加し,提案中のリファクタリング支援手法やそれに関連する技術の研究成果を発表していく予定である.ただし,新型コロナウィルスの影響により国際会議の参加が想定通りに行えない可能性もあり,その際には研究期間の延長を検討する.
|
Research Products
(19 results)