• Search Research Projects
  • Search Researchers
  • How to Use
  1. Back to project page

2022 Fiscal Year Research-status Report

Web上のAPI利用例に対する情報の鮮度を判定する整合性検査手法の開発

Research Project

Project/Area Number 19K20239
Research InstitutionOsaka 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)

All 2022 Other

All Journal Article (1 results) (of which Peer Reviewed: 1 results) Presentation (6 results) (of which Int'l Joint Research: 2 results) Remarks (1 results)

  • [Journal Article] Stack Overflowのコード片へ加えられた変更に追従しないGitHubプロジェクトの変更パターン分類による考察2022

    • Author(s)
      栗原 拓己, 嶋利 一真, 神田 哲也, 井上 克郎
    • Journal Title

      電子情報通信学会論文誌D

      Volume: J105-D Pages: 717-719

    • DOI

      10.14923/transinfj.2022JDL8007

    • Peer Reviewed
  • [Presentation] Comparison of Developer’s Work Efficiency between Different Editors2022

    • Author(s)
      Sentaro Onizuka, Tetsuya Kanda, Katsuro Inoue
    • Organizer
      29th Asia-Pacific Software Engineering Conference
    • Int'l Joint Research
  • [Presentation] Debianパッケージに対する依存関係を含むSPDXファイルの自動生成ツール2022

    • Author(s)
      田邉 傑士, 眞鍋 雄貴, 神田 哲也, 井上 克郎
    • Organizer
      電子情報通信学会ソフトウェアサイエンス研究会2022年7月研究会
  • [Presentation] Javaプログラムを対象としたソースコードの変更量と実行トレースの変化量間の相関調査2022

    • Author(s)
      藤原 勇真, 神田 哲也, 嶋利 一真, 井上 克郎
    • Organizer
      情報処理学会第211回ソフトウェア工学研究発表会
  • [Presentation] The Effect of Python Version Upgrades on the Compilability of Code Snippets Posted on Stack Overflow2022

    • Author(s)
      Shiyu Yang, Tetsuya Kanda, Katsuro Inoue
    • Organizer
      情報処理学会第211回ソフトウェア工学研究発表会
  • [Presentation] didiffff: A Viewer for Comparing Changes in both Code and Execution Traces2022

    • Author(s)
      Tetsuya Kanda, Kazumasa Shimari, Katsuro Inoue
    • Organizer
      30th IEEE/ACM International Conference on Program Comprehension
    • Int'l Joint Research
  • [Presentation] An Empirical Study of Python Code Snippets with Version Compatibility Issues on Stack Overflow2022

    • Author(s)
      Shiyu Yang, Tetsuya Kanda, Davide Pizzolotto, Daniel M. German, Yoshiki Higo
    • Organizer
      第4回 次世代ソフトウェアエコシステムワークショップ
  • [Remarks] didiffff

    • URL

      https://github.com/tetsuyakanda/didiffff

URL: 

Published: 2023-12-25  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi