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

2018 Fiscal Year Research-status Report

仮想開発者によるソフトウェア自動修正と進化推薦

Research Project

Project/Area Number 18K11241
Research InstitutionKyoto University

Principal Investigator

渥美 紀寿  京都大学, 学術情報メディアセンター, 助教 (70397446)

Co-Investigator(Kenkyū-buntansha) 桑原 寛明  南山大学, 理工学部, 講師 (30432222)
Project Period (FY) 2018-04-01 – 2021-03-31
Keywordsソフトウェア工学 / ソフトウェア進化 / ソフトウェア保守 / プログラム解析
Outline of Annual Research Achievements

本研究では,ソフトウェアの修正および外部環境の変化に伴なう進化にかかる開発コストを削減することを目的とし,OSSおよび開発対象のソフトウェアの開発履歴を基に,機械学習によってソフトウェアの自動修正および進化推薦する仮想開発者を継続的に進化させるためのフレームワークを構築することによって,ソフトウェアの開発コストの削減を目指す.
本年度は仮想開発者のための修正・進化フレームワークに必要となる開発支援システム群の選定およびそれらの連携動作の確認,ライブラリの更新に伴なう修正手法の蓄積手法の検討,自動修正に必要となる機械学習モデルの構築や既存のソフトウェア自動修正手法に関する調査を中心に行った.
既存のOSSライブラリのリリースバージョン間の公開APIの変化に関する調査では,削除される公開APIの数が少ないライブラリが多数であった.このことから,多くのソフトウェアではビルドファイル等で指定している外部ライブラリのバージョン番号を更新するだけで,新しいバージョンへの移行をすることが可能であることがわかった.OSS を対象に外部ライブラリを利用したソフトウェアにおいてライブラリの更新時にソースコードの修正が必要な場合,その修正をどの程度支援可能か調査したが,同じライブラリの公開APIに対する更新情報が少なく,支援可能な情報を既存のOSSから得ることはできないことがわかった.

Current Status of Research Progress
Current Status of Research Progress

2: Research has progressed on the whole more than it was originally planned.

Reason

ソフトウェアの不具合検出からソフトウェアの自動修正までの一連のプロセスまでを自動化することはまだできていないが,ソフトウェア開発ツールのツール間連携で自動化可能であることは確認できている.
ライブラリの進化に伴なうソフトウェアの修正については自動化可能な場合があることは判明している.ソースコードの修正が必要な場合については,現段階では支援に十分な情報が得られていないが対象を広げることやライブラリの @Deprecated アノテーションの情報を利用することなどにより対応可能であると考えている.
また,来年度実施予定であった,ソフトウェアの自動修正を機械学習によって実現する手法についても研究を進めており,概ね順調に進展している.

Strategy for Future Research Activity

ソフトウェアの不具合検出からソフトウェアの自動修正までの一連のプロセスを自動化する環境の構築を早急に進める.
ソフトウェア自動修正については,既存の自動修正手法やツールを用いることで,一連のプロセスによりソフトウェアの保守作業がどの程度効率化可能か調査する.
また,ソフトウェアの修正が正しく行われたことを確認するためにはテストプログラムが適切でなければならないため,テストプログラムの自動生成につての研究を進める.

Causes of Carryover

本年度は仮想開発者のソフトウェア自動修正・進化フレームワークを構築することを中心に行う予定であったが,ソフトウェアの修正のための機械学習モデルの構築が困難であることがわかったため,ソースコードを扱った深層学習関連の調査を中心に行うこととした.
そのため成果発表や環境構築のための計算機環境を整えるための費用を次年度に持ち越すこととした.

  • Research Products

    (7 results)

All 2019 2018

All Presentation (7 results)

  • [Presentation] ライブラリ進化への追随のためのソフト ウェア修正の共有手法の提案2019

    • Author(s)
      渥美 紀寿, 桑原 寛明
    • Organizer
      電子情報通信学会ソフトウェアサイエンス研究会
  • [Presentation] Stream APIを利用するJavaプログラムにおけるストリーム再利用の静的検出手法2019

    • Author(s)
      荒木 良仁, 桑原 寛明, 國枝 義敏
    • Organizer
      情報処理学会ソフトウェア工学研究会
  • [Presentation] 字句列の共通性に基づく例外処理条件文の抽出手法の提案2018

    • Author(s)
      吉田 敦, 加藤 大貴, 蜂巣 吉成, 桑原 寛明, 阿草 清滋
    • Organizer
      ソフトウェアエンジニアリングシンポジウム2018
  • [Presentation] ソースコードの XML表現のための選択例を用いた対話的XPath生成支援2018

    • Author(s)
      夏目雅槻, 相澤遥也, 渥美紀寿, 小林 隆志
    • Organizer
      電子情報通信学会ソフトウェアサイエンス研究会
  • [Presentation] Java Stream API によるストリーム操作の停止性検査のための型システム2018

    • Author(s)
      長谷川 健太, 桑原 寛明, 國枝 義敏
    • Organizer
      第25回ソフトウェア工学の基礎ワークショップ
  • [Presentation] 情報流解析における制約付き機密度パラメータ2018

    • Author(s)
      桑原 寛明, 國枝 義敏
    • Organizer
      第25回ソフトウェア工学の基礎ワークショップ
  • [Presentation] 記述の共通性に着目したプログラムのダイジェスト化手法の提案2018

    • Author(s)
      加藤 宗一郎, 吉田 敦, 蜂巣 吉成, 桑原 寛明
    • Organizer
      第25回ソフトウェア工学の基礎ワークショップ

URL: 

Published: 2019-12-27  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi