研究課題/領域番号 |
18K11241
|
研究機関 | 京都大学 |
研究代表者 |
渥美 紀寿 京都大学, 学術情報メディアセンター, 助教 (70397446)
|
研究分担者 |
桑原 寛明 南山大学, 理工学部, 講師 (30432222)
|
研究期間 (年度) |
2018-04-01 – 2021-03-31
|
キーワード | , / ソフトウェア進化 / ソフトウェア保守 / プログラム解析 |
研究実績の概要 |
本研究では,ソフトウェアの修正および外部環境の変化に伴なう進化にかかる開発コストを削減することを目的とし,OSSおよび開発対象のソフトウェアの開発 履歴を基に,機械学習によってソフトウェアの自動修正および進化推薦する仮想開発者を継続的に進化させるためのフレームワークを構築することによって,ソ フトウェアの開発コストの削減を目指す. 本年度はソフトウェアの修正やライブラリ更新を自動的に行う環境を構築する手法に関して,調査および検討を行った.ソフトウェアの自動修正については,Github や Gitlab などにおいて,継続的インテグレーションツールにより自動テストを設定し,テスト失敗時に自動修正ツールを実行することによってソフトウェアの自動修正を行うことが可能となる.しかし,既存の自動修正ツールでは開発者が受け入れ可能な修正は少ないため,自動修正ツールが生成したソースコードをすべて開発者に提示することは開発者の負担になると考えられる.そのため,自動修正ツールが生成したソースコードを評価し,開発者に受け入れ可能かどうかを判定することが必要となる.ライブラリの自動更新については,指定されたバージョンより新しいバージョンのライブラリが公開されているかどうかを定期的に確認することで実現可能であり,これらを実現するツールが開発されている.これらのツールでは API の入出力仕様に変更がない場合にしか修正を行うことがでず対応可能なケースが限定的である.我々は API の入出力仕様に変更がある場合にも対応するために,入出力仕様の変更に基づくソースコードの変更支援について検討した.
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
3: やや遅れている
理由
Github や Gitlab などのソフトウェア開発プラットフォームにおいて,プログラム修正やライブラリの更新を自動的に行うツールが既に開発され,利用されるようになってきた.これらのツールは我々が提案する手法を実現する上で有用であり,これらを利用することでソフトウェアの修正および外部環境の変化に伴なう進化にかかる開発コストの削減を容易に実現可能であると思われた.しかし,これらのツールの適用方法が不明瞭であり,利用することが困難であった.そのため同様の処理を自前で構築する必要があり,それらの環境作りに時間を要したため,当初計画より遅れることとなった.
|
今後の研究の推進方策 |
ソフトウェアの不具合検出からソフトウェアの自動修正までの一連のプロセスを自動化する環境の構築を早急に進めるとともに,自動修正手法の精度向上に関する手法を検討する. また,ライブラリの自動更新についても自動適用できない場合の更新方法を支援するための手法を検討する.
|
次年度使用額が生じた理由 |
仮想開発者のソフトウェア自動修正・進化フレームワークの構築に時間がかかっており,提案手法を実現するための手法を提案できていない.そのため成果発表や環境構築のための計算機環境を整えるための費用を次年度に持ち越すこととした.
|