2018 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 |
本研究は,より現実的な自動リファクタリングの実現に向けて,探索処理の向上,対話的な制御,および対話的制御のためのリファクタリング結果の効率的なレビュー方法の確立を目指すものである.平成30年度では,主に以下の成果を得た.(1)自動リファクタリングに用いる探索手法の検討を行った.その際には,申請者らがこれまでに行ってきたヒューリステック探索に基づくものを試し,求解の性能を分析しながら,他の探索手法も検討した.(2)探索手法を組み込んだ自動ツールの設計およびプロトタイプの実装を行った.(3)ソースコード変更からのリファクタリング検出を題材に探索手法のプロトタイプを実装し,その性能の予備評価を行った.(4)複数のリファクタリングが混在した場合の差分を効率よく理解するために,変更間の依存関係を考慮しながら変更の粒度を調整するための環境の設計を行った.(5)GitHubウェブサイトから得たソースコード変更からリファクタリングの実例を効率よく収集・管理するための,変更の注釈付け環境の設計およびプロトタイプの実装を行った.
|
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 |
平成31年度では,平成30年度に設計・試作した自動リファクタリングツールの挙動を洗練させ,手法として確立させる.その際には,保守性メトリクスを用いたリファクタリング適用結果の評価に基づくリファクタリング候補の推薦と,変更の説明性の高さをメトリクスとして用いたリファクタリング実例の分解の2つのアプリケーションを想定して進める.また,開発した実例収集環境を用いて,GitHub上のソフトウェア開発リポジトリ中の変更履歴からリファクタリング例を収集する.
|
Causes of Carryover |
平成30年度では,提案手法の設計に注力したため,大学院生を雇うための謝金,成果発表のための旅費,論文掲載費の執行時期に遅れが出た.これらの予算は平成31年度以降で使用する.平成31年度では,ソフトウェア工学国際会議(International Conference on Software Engineering; ICSE)やソフトウェア保守・進化国際会議(International Conference on Software Maintenance and Evolution; ICSME),ソフトウェア解析・進化・リエンジニアリング国際会議(International Conference on Software Analytics, Evolution, and Reengineering; SANER)などの国際会議,ソフトウェア工学の基礎ワークショップ(FOSE)などの国内ワークショップに参加し,提案中のリファクタリング支援手法やそれに関連する技術の研究成果を発表していく.
|
Research Products
(10 results)