研究課題/領域番号 |
19K20239
|
研究種目 |
若手研究
|
配分区分 | 基金 |
審査区分 |
小区分60050:ソフトウェア関連
|
研究機関 | 大阪大学 |
研究代表者 |
神田 哲也 大阪大学, 大学院情報科学研究科, 助教 (90780726)
|
研究期間 (年度) |
2019-04-01 – 2024-03-31
|
研究課題ステータス |
交付 (2022年度)
|
配分額 *注記 |
3,640千円 (直接経費: 2,800千円、間接経費: 840千円)
2022年度: 650千円 (直接経費: 500千円、間接経費: 150千円)
2021年度: 1,300千円 (直接経費: 1,000千円、間接経費: 300千円)
2020年度: 910千円 (直接経費: 700千円、間接経費: 210千円)
2019年度: 780千円 (直接経費: 600千円、間接経費: 180千円)
|
キーワード | ソフトウェア工学 / ソフトウェア開発効率化 / API / Javaライブラリ / Stack Overflow / データマイニング / 整合性 / Java / ソフトウエア開発効率化 |
研究開始時の研究の概要 |
本研究では、Web上で手に入るソフトウェア開発に関するAPI利用例について、その利用例が最新版のAPIに対応したものであるかどうか、その情報の鮮度を判定する整合性検査手法を開発する。また、その利用例に対して修正の提案や関連の最新記事への誘導を行う方法を開発し、ブラウザ拡張として社会に提供する。
|
研究実績の概要 |
本研究では、Web上で手に入るソフトウェア開発に関するAPI利用例について、その利用例が最新版のAPIに対応したものであるかどうか、その情報の鮮度を判定する整合性検査手法を開発する。 本年度は、昨年度開発したPython言語に関する整合性検査手法について、ブラウザ拡張の形でユーザに提示するツールを開発した。利用者が常にPython言語の最新バージョンを利用しているとは限らないため、最新バージョンに対する情報の鮮度の判定のほか、Pythonのバージョン番号を指定してそのバージョンに対してコード片が有効かどうかを提示する仕組みを構築した。年度末に国際会議に採録が決定し、来年度に発表予定である。 また、Webの性質上そこに存在するAPI利用例は公開後に編集され、情報の鮮度が更新されることがある。そこで、API利用例が変更された際に、単にその情報の鮮度を判定するだけでなく、それを利用している側のソフトウェアがその変更に追従するべきかを考える必要があると考えた。実際のソフトウェアを調査し、API利用例の変更にソフトウェア側が追従していないケースについて分類を行った。その結果、ソフトウェア保守の観点から、いくつかの種類の変更において追従の必要性が高い、もしくはその必要性を検討するべきであるといえるものがあることを確認した。 情報の鮮度の判定に用いるデータの蓄積について、ここまではAPIの変更に対する静的な解析情報を用いていた。そこで、APIの変更を動的な解析により取得する手法について検討した。その技術開発の結果として、Javaライブラリのテストケースの実行履歴を取得し、新旧で比較し可視化する手法を提案した。
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
2: おおむね順調に進展している
理由
Python言語について整合性違反の検出から、それを利用者に向けて提示するブラウザ拡張のツール部分まで、一連の流れとして試作を進めることができた。 API本体が更新された場合だけでなく、その利用例が更新された場合に対する分析を行い、どのような情報に着目すればよいかを明らかにした。また、API本体の更新についても、実行トレースを用いた動的な情報による詳細な解析を行うための基盤技術を開発できた。
|
今後の研究の推進方策 |
プログラム理解に関する国際会議(5月開催)に論文が採録されたことから、研究期間を延長し、会議での意見交換を行いその結果をもとに研究の深化を目指すこととする。当該国際会議はソフトウェア工学分野最大の国際会議に併設される形で実施されるため、世界のトップレベル研究者の意見をもとによりよい形で研究を進めることができると期待される。
|