研究課題/領域番号 |
19K20239
|
研究機関 | 大阪大学 |
研究代表者 |
神田 哲也 大阪大学, 情報科学研究科, 助教 (90780726)
|
研究期間 (年度) |
2019-04-01 – 2023-03-31
|
キーワード | ソフトウェア工学 / データマイニング / API / ソフトウェア開発効率化 / 整合性 |
研究実績の概要 |
本研究では、Web上で手に入るソフトウェア開発に関するAPI利用例について、その利用例が最新版のAPIに対応したものであるかどうか、その情報の鮮度を判定する整合性検査手法を開発する。 本年度は、検出した整合性違反の重要度をはかるために、バージョン検出結果と脆弱性データベースとの照合を行うツールを作成した。バージョン検出に高速な近似計算を用いる手法を適用することで、対象のライブラリが大きいものであっても実用的な時間で検出することができた。また、いくつかのソフトウェアとライブラリの組み合わせについて、ツールを用いて脆弱性の残留期間を計測し、著名なソフトウェアであっても脆弱性が長い期間残ったままであることがわかった。 Web上で手に入るソフトウェア開発に関するAPI利用例の中でも特に広く利活用が行われているプログラマ向けQ&Aサイト上のコード片について、Python言語に関する情報のうち、Python言語自体のバージョンについて判定する手法を開発した。Python言語がバージョン2系から3系に移行する中で、Q&Aサイトの利用者がそれに追従する様子や、新しいバージョンがリリースされた後も引き続き古いバージョン向けのコード片が投稿される様子を観測することができた。 また、情報の鮮度が落ちる原因であるソフトウェアの進化について、その履歴をデータベースとして利用しているが、その進化履歴が欠落してる場合においても手法を応用できるよう、軽量なデータ構造を利用したソフトウェア進化履歴の高速な復元手法を開発した。
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
2: おおむね順調に進展している
理由
Javaのライブラリについて、整合性違反の検出から、それを実際の開発現場で重要度に応じて提示する部分まで、一連の流れとして試作を進めることができている。また、Pythonなど他の言語についても手法に取り入れる目途が立った。 研究概要に示したほかに、Web上のAPI利用例が実際のオープンソースソフトウェアに再利用された例の調査やプログラムの実行トレースを応用した分析手法についても、研究を進めることができた。
|
今後の研究の推進方策 |
次年度は、これまでの研究成果をもとに、Q&AサイトなどWeb上のAPI利用例を閲覧時に、それに重ねる形で整合性検査手法の適用結果や、脆弱性情報との関連などの情報を提示する仕組みにまとめる。 また、Python言語自体のバージョンを特定することができたことから、これを発展させてPython言語のライブラリや他の言語など、当初進めていたJava以外の言語へ適用を広げていく。
|
次年度使用額が生じた理由 |
対外発表のすべてがオンライン開催となったため、旅費の支出がなくなった。 次年度は成果発表のための論文誌掲載費や、その実現に必要となった装置・物品の購入に未使用額を充てる方針である。
|