• Search Research Projects
  • Search Researchers
  • How to Use
  1. Back to project page

2012 Fiscal Year Research-status Report

開発者の操作履歴に基づきプログラムの理解と変更を支援する統合開発環境

Research Project

Project/Area Number 24700034
Research InstitutionRitsumeikan University

Principal Investigator

大森 隆行  立命館大学, 情報理工学部, 助教 (90532903)

Project Period (FY) 2012-04-01 – 2014-03-31
Keywordsソフトウェア工学 / 統合開発環境 / コード補完 / ソフトウェア理解
Research Abstract

2012年度においては、主に以下の研究を実施した。
1,前年度までに実現していたソースコード編集操作履歴記録ツールを拡張し、各操作が行われた時点のソースコードの構文解析を操作履歴応用ツールから容易に行うことができるようにした。これにより、編集操作がどの構文要素に対して行われたか等の情報を容易に得ることが可能となった。
2,開発者の編集操作のうち、特にコード補完操作に着目した分析を行った。コード補完は短い時間のうちに繰り返されることが比較的多いという結果を得た。これに基づき、コード補完の繰り返しの手間を削減するコード入力支援手法を実現した。結果として、過去の操作履歴を利用することで、コード補完候補の推薦の性能を向上させられることを確認した。コード補完は近年の統合開発環境において不可欠な機能の一つとなっており、実開発において本手法を応用できる可能性は高い。
3,ソースコード編集操作履歴の再構成を行う手法の考案および実装を行った。再構成済みの操作履歴を用いることで、編集操作の再生をより効果的に行えると考えられる。
これらの成果に関して、28th IEEE International Conference on Software Maintenance (ICSM2012)、日本ソフトウェア科学会第19回ソフトウェア工学の基礎ワークショップ(FOSE2012)等において発表を行った。また、Software Evolution and Architecture Laboratory, University of Zurichにおいて研究発表・議論を行った。

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,「様々な観点(特定の開発者やタスクの種類など)から操作履歴を分析するとどのような特徴を抽出できるか」について:今年度は、操作の種類や操作履歴に関連付けられた構文情報に着目した実験を行った。特に、コード補完操作の繰り返しに関して新しい知見を得た。最近行われたコード補完操作は繰り返し実行されやすいことや、Enum定数(列挙子)が分岐文において繰り返し入力される例が多いこと等が判明した。開発者のタスク等、より様々な観点からの操作履歴の分析を今後行う予定である。
3,「過去の操作やそれらの特徴が次に行う操作の推薦にどの程度有効か」について:今年度は、過去に行われたコード補完操作の情報を利用して、次に行うコード補完操作の際に提示する入力候補のランキングを改善できることを示した。
上記の通り、研究の目的に挙げた3つの項目すべてに対して成果を得ることができた。初年度の成果としては、おおむね順調に進展していると考えられる。

Strategy for Future Research Activity

今年度の成果を元に、操作履歴の特徴分析を通してプログラムの理解や変更を支援するツールを構築する。
1,様々な観点での操作の特徴分析: 操作履歴は、どのような観点から分析を行うかによって様々な特徴を持つ。本研究では、特にタスクが異なるとどのように編集操作が異なるのかに着目する。パターンマイニング手法等を用いて、開発タスクごとに操作対象の構文要素や変更操作の内容にどのような違いがあるかを分析する予定である。
2,操作履歴に基づくプログラム理解支援ツール: 操作履歴の再構成や特徴分析の成果を応用し、操作履歴に基づくプログラム理解支援ツールを実現する。特に、過去にプログラムに対して行われた変更や、過去のプログラム理解作業における閲覧履歴等を利用することで、新たにプログラム理解を行う開発者に適切な支援を提供することができる開発環境の実現を目指す。
3,操作履歴に基づくプログラム変更支援ツール: 上記1および2の成果を応用し、操作履歴に基づくプログラム変更支援ツールを実現する。過去に行われた変更情報から、現在の作業と関連のある箇所を自動で検出し、変更を推薦する機能の実現等を目指す。
次年度は、上記の成果について、論文誌投稿1~2回、国際会議発表2回程度を行う予定である。

Expenditure Plans for the Next FY Research Funding

当初は国内研究者との研究討論を予定していたが、海外研究者との研究討論の機会を得たため、当初予定より旅費が増額した。このため、当該研究費の残金が半端になり、物品購入等を他研究費でまかなった。このため、わずかながら残額が発生した。当該研究費は、次年度の学会参加費、論文掲載料等に合算して使用する予定である。

  • Research Products

    (5 results)

All 2012 Other

All Presentation (5 results)

  • [Presentation] Slicing and Replaying Code Change History to Assist Program Comprehension2012

    • Author(s)
      Katsuhisa Maruyama, Eijiro Kitsu, Takayuki Omori, Shinpei Hayashi
    • Organizer
      The 27th IEEE/ACM International Conference on Automated Software Engineering
    • Place of Presentation
      Essen, Germany
    • Year and Date
      2012-09-05
  • [Presentation] A Study on Repetitiveness of Code Completion Operations

    • Author(s)
      Takayuki Omori, Hiroaki Kuwabara, Katsuhisa Maruyama
    • Organizer
      28th IEEE International Conference on Software Maintenance
    • Place of Presentation
      Riva del Garda, Italy
  • [Presentation] Refactoring Edit History of Source Code

    • Author(s)
      Shinpei Hayashi, Takayuki Omori, Teruyoshi Zenmyo, Katsuhisa Maruyama, Motoshi Saeki
    • Organizer
      28th IEEE International Conference on Software Maintenance
    • Place of Presentation
      Riva del Garda, Italy
  • [Presentation] 統合開発環境におけるコード補完の繰り返しに関する調査

    • Author(s)
      大森隆行,桑原寛明,丸山勝久
    • Organizer
      日本ソフトウェア科学会 第19回 ソフトウェア工学の基礎ワークショップ
    • Place of Presentation
      ゆふいん山水館,大分県
  • [Presentation] 編集操作履歴の再生における粗粒度な再生単位

    • Author(s)
      桑原寛明,大森隆行
    • Organizer
      日本ソフトウェア科学会 第19回 ソフトウェア工学の基礎ワークショップ
    • Place of Presentation
      ゆふいん山水館,大分県

URL: 

Published: 2014-07-24  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi