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