2011 Fiscal Year Research-status Report
理解と品質維持に適したソースコード修正を支援する開発環境の構築
Project/Area Number |
23700030
|
Research Institution | Tokyo Institute of Technology |
Principal Investigator |
林 晋平 東京工業大学, 情報理工学(系)研究科, 助教 (40541975)
|
Project Period (FY) |
2011-04-28 – 2014-03-31
|
Keywords | ソフトウェア進化 / リファクタリング / ソフトウェア構成管理 / ソフトウェア開発環境 |
Research Abstract |
本研究の目的は,開発者がソースコードに対して行う変更を,開発の後段での理解が容易になるよう,また対象ソフトウェアに与える品質の悪影響を抑制するよう構成可能な開発環境を実現することである.平成23年度では,以下の成果を得た.1. ソフトウェア統合開発環境下で行われたソースコードの編集操作を,その編集意図と関連づけて管理するためのモデルの基本設計を行った.2. ソースコード編集操作履歴の理解性・利用性向上を目的として,履歴全体の効果を保存したままその構造を書き換える,編集操作履歴のリファクタリング手法を提案し,4つの基本操作および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
本研究では大きく,1. 開発者の変更操作履歴の再構成と 2. それに対応したソースコードの品質改善の2つの実現を目的としている.平成23年度では,基本的な変更モデルを構築し,それに基づき1のプロトタイプツールを完成させている.また,ソフトウェア進化の既存研究の調査もこれまでに進めており,我々の提案するシステムの新規性および既存研究との位置づけも明らかにできていると考える.これらにより,平成24年度は1については変更モデルの拡張およびそれへのツールの追従に注力することができる.また,2についても同様に,構築したモデルに基づきツールの実装を開始することができる.
|
Strategy for Future Research Activity |
平成24年度では,これまでに構築した変更モデルの拡張から開始する.モデルの拡張方法としては,大きなリファクタリングなどのような変更の階層構造をより考慮すること及び分岐を取り扱えるようにすることから検討する.また,平成23年度に実現した支援ツールを,これらの拡張に追従させる.さらに,平成23年度の変更モデルに基づき,ソースコードの品質改善ツールのプロトタイプを構築する.平成25年度では,構築したツールの公開に向け,そのユーザビリティを洗練させるなど,完成度を向上させていく.また,構築したツールのユーザビリティや有用性の評価を行う.
|
Expenditure Plans for the Next FY Research Funding |
平成23年度では完成度の高いツールの実装に先立ち変更モデルの設計を優先したため,大学院生を雇うための謝金の執行時期が遅れたが,この予算は平成24年度以降で利用する.平成24年度では,前年度に構築した編集操作履歴のリファクタリングツールの拡張を行いながら,その完成度を向上させていく.この作業と,有用性評価のための実験の準備のために,謝金を用いて大学院生を雇う.そのほか,ソフトウェア保守国際会議(ICSM)や欧州ソフトウェア保守・リエンジニアリング国際会議(CSMR)などの国際会議,ソフトウェア工学の基礎ワークショップ(FOSE)などの国内ワークショップに参加し,提案中の編集操作履歴リファクタリングやそれに関連する技術の研究成果を発表していく.
|
Research Products
(8 results)