2022 Fiscal Year Research-status Report
Web上のAPI利用例に対する情報の鮮度を判定する整合性検査手法の開発
Project/Area Number |
19K20239
|
Research Institution | Osaka University |
Principal Investigator |
神田 哲也 大阪大学, 大学院情報科学研究科, 助教 (90780726)
|
Project Period (FY) |
2019-04-01 – 2024-03-31
|
Keywords | ソフトウェア工学 / ソフトウェア開発効率化 / API / Javaライブラリ / Stack Overflow |
Outline of Annual Research Achievements |
本研究では、Web上で手に入るソフトウェア開発に関するAPI利用例について、その利用例が最新版のAPIに対応したものであるかどうか、その情報の鮮度を判定する整合性検査手法を開発する。 本年度は、昨年度開発したPython言語に関する整合性検査手法について、ブラウザ拡張の形でユーザに提示するツールを開発した。利用者が常にPython言語の最新バージョンを利用しているとは限らないため、最新バージョンに対する情報の鮮度の判定のほか、Pythonのバージョン番号を指定してそのバージョンに対してコード片が有効かどうかを提示する仕組みを構築した。年度末に国際会議に採録が決定し、来年度に発表予定である。 また、Webの性質上そこに存在するAPI利用例は公開後に編集され、情報の鮮度が更新されることがある。そこで、API利用例が変更された際に、単にその情報の鮮度を判定するだけでなく、それを利用している側のソフトウェアがその変更に追従するべきかを考える必要があると考えた。実際のソフトウェアを調査し、API利用例の変更にソフトウェア側が追従していないケースについて分類を行った。その結果、ソフトウェア保守の観点から、いくつかの種類の変更において追従の必要性が高い、もしくはその必要性を検討するべきであるといえるものがあることを確認した。 情報の鮮度の判定に用いるデータの蓄積について、ここまではAPIの変更に対する静的な解析情報を用いていた。そこで、APIの変更を動的な解析により取得する手法について検討した。その技術開発の結果として、Javaライブラリのテストケースの実行履歴を取得し、新旧で比較し可視化する手法を提案した。
|
Current Status of Research Progress |
Current Status of Research Progress
2: Research has progressed on the whole more than it was originally planned.
Reason
Python言語について整合性違反の検出から、それを利用者に向けて提示するブラウザ拡張のツール部分まで、一連の流れとして試作を進めることができた。 API本体が更新された場合だけでなく、その利用例が更新された場合に対する分析を行い、どのような情報に着目すればよいかを明らかにした。また、API本体の更新についても、実行トレースを用いた動的な情報による詳細な解析を行うための基盤技術を開発できた。
|
Strategy for Future Research Activity |
プログラム理解に関する国際会議(5月開催)に論文が採録されたことから、研究期間を延長し、会議での意見交換を行いその結果をもとに研究の深化を目指すこととする。当該国際会議はソフトウェア工学分野最大の国際会議に併設される形で実施されるため、世界のトップレベル研究者の意見をもとによりよい形で研究を進めることができると期待される。
|
Causes of Carryover |
プログラム理解に関する国際会議(5月開催)に論文が採録され、また当該国際会議はソフトウェア工学分野最大の国際会議に併設される形で実施されるため、世界のトップレベル研究者の意見をもとによりよい形で研究を進めることができると期待される。このことから、研究期間を延長し、会議での意見交換を行いその結果をもとに研究の深化を目指すために計画を変更した。次年度使用額は主に国際会議発表のための費用にあてる予定である。
|
Research Products
(8 results)