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

2019 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 – 2023-03-31
KeywordsAPI / Java / ソフトウェア工学 / 整合性
Outline of Annual Research Achievements

本研究において開発する整合性検査手法について、各段階において以下の成果を得た。
「1.解析基盤の準備」について、Javaライブラリの開発履歴を自動で解析し、API呼び出しにおけるメソッド名・引数・返り値の3つ組を取得するツールを試作した。また、ライブラリを利用するアプリケーション側のリポジトリを分析することにより、APIそのものだけではなく、APIの組み合わせパターンも変化していくことがわかった。主流なパターンは長く多く使われることや、パターンが複数プロジェクトで同時に減少する現象などを確認した。
「2.整合性違反検出手法の開発」について、Q&Aサイトの投稿を分析しDBと照合するツールの試作を行った。現段階ではこのツールは引数や返り値の型などを厳密には検査していないが、いくつかのJavaライブラリについて整合性違反となる投稿を発見できた。また、コード片を分析するための別な手法としてプログラムの実行トレースを応用することを検討し、実行トレースの記憶量を制御可能でかつその挙動を説明するための実行順序や変数の値を可能な限り網羅できる記録手法を開発した。
「3.整合性違反への対処の推薦」について、類似したより良いQ&Aサイトの投稿への誘導をはかるために、コード片の品質を評価する指標としても利用されているソースコードメトリクスを用いたコード片の分類手法を開発した。サンプルとしてプログラミングコンテストの同一問題に対する解答を対象に、コード片をソースコードメトリクスに応じて分類することが可能であることを示した。

Current Status of Research Progress
Current Status of Research Progress

3: Progress in research has been slightly delayed.

Reason

試作したQ&Aサイトの投稿を分析しDBと照合するツールは、まだ適用した事例が少なく成果を公開する対外発表に至っていない。また、APIの組み合わせパターンや実行トレースによる分析など、情報の鮮度についてより当初計画よりもより広い面から検討することが必要であることがわかってきた。
このように、基盤となるツールの試作および要素技術の検討を進めることができた一方で、当初予定していた大規模なDB構築と解析の実施には至っていないのが現状である。
解析基盤の構築自体は順調に進んでおり、早い段階で追加で考慮すべき点も洗い出せたことから、これらの要素を無理なく本研究に反映できると考えている。

Strategy for Future Research Activity

次年度は、試作したツールを用いた整合性違反の検出をより広い対象に対して行い、その結果をまとめる予定である。この結果をもとにQ&Aサイトの投稿における整合性違反の実態を明らかにする。また、試作したツールの改良を推し進め、APIの組み合わせパターンや実行トレースによる分析などを扱えるようにすることで、より広く情報の鮮度を考えるための基盤とする。
また、整合性違反への対処の推薦手法の開発を進める。今年度開発したソースコードメトリクスによるコード片の分類手法を応用し、Q&Aサイトの投稿を分類しよりよい投稿へ誘導する手法へと発展させる。類似した投稿を検出する既存研究を応用し、そこに本研究で取り組む情報の鮮度に関する情報を付与することができるかの検討を進める。
APIの組み合わせパターンに関する研究成果は、国際ワークショップでの採録が決まっており、これについて対外的に発表するとともに、APIの組み合わせパターンに対する整合性検出手法について国内外の研究者と議論を深める予定である。

Causes of Carryover

研究の進捗状況として、基盤となるツールの試作と関連要素技術の開発を優先した。これには既存の設備を活用したため、大規模な解析を行うための装置については今年度は購入を見送った。
次年度はツールの試作が完了し、より大規模な解析を行う計画であるため、これに伴い必要な装置・物品を購入するために未使用額を充てる方針である。

  • Research Products

    (4 results)

All 2020 2019

All Presentation (4 results) (of which Int'l Joint Research: 2 results)

  • [Presentation] 機械学習による開発履歴のメタ情報を用いたマージコンフリクトの解消パターン判定モデル2020

    • Author(s)
      白木 秀弥, 神田 哲也, 井上 克郎
    • Organizer
      電子情報通信学会ソフトウェアサイエンス研究会2020年3月研究会
  • [Presentation] ソースコードメトリクスを用いたプログラミングコンテストの類似解答群の検出2019

    • Author(s)
      原口公輔, 神田哲也, 井上克郎
    • Organizer
      電子情報通信学会ソフトウェアサイエンス研究会2019年10月研究会
  • [Presentation] Near-Omniscient Debugging for Java Using Size-Limited Execution Trace2019

    • Author(s)
      Kazumasa Shimari, Takashi Ishio, Tetsuya Kanda, Katsuro Inoue
    • Organizer
      35th IEEE International Conference on Software Maintenance and Evolution
    • Int'l Joint Research
  • [Presentation] Visualizing Phase Transition for Real-Time 3D Profiler2019

    • Author(s)
      Jonathan Komala, Tetsuya Kanda, Tsuyoshi Mizouchi, Katsuro Inoue
    • Organizer
      10th International Workshop on Empirical Software Engineering in Practice
    • Int'l Joint Research

URL: 

Published: 2021-01-27  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi