• 研究課題をさがす
  • 研究者をさがす
  • KAKENの使い方
  1. 課題ページに戻る

2016 年度 実施状況報告書

意味論プラガブルなプログラム解析

研究課題

研究課題/領域番号 16K12412
研究機関島根大学

研究代表者

神谷 年洋  島根大学, 総合理工学研究科, 教授 (70415660)

研究期間 (年度) 2016-04-01 – 2019-03-31
キーワードプログラム解析 / プログラム理解 / 保守 / デバッグ / 動的解析
研究実績の概要

今年度は、コンピュータ・プログラム(以下プログラム)の保守作業のうち、特に不具合修正のタスクを想定した実験データの収集および手法の開発を行った。
本研究課題では「意味論プラガブルなプログラム解析エンジン」を掲げている。計画では今年度、Webフレームワークとデータベースを含む対象プログラムに対して、大規模なデータ解析のための簡潔データ構造の上で、依存・関係追跡や類似部分検出、検索などの分析を実現できることを目指していた。Webフレームワークやデータベースを適用対象とすべく実験用のデータとしてプログラムを収集したところ、データの粒度をどう扱うかという課題が新たに見つかった。すなわち、プログラムが想定するデータの構造や扱いの単位と、webフレームヤークが利用者に見せているデータの構造や扱いの単位、データベースのそれが同じではなく、それぞれに都合の良い単位で区切っているために分析が困難になっていることが判明した。
この課題を解決するための新たな方針として、アプリケーションの応用分野に応じて、最も細かい粒度を想定し(例えば、典型的なTODOアプリケーション等なら「単語」がそれに相当する。アプリケーションを構成する個々の技術はそれよりも細かい粒度、例えば「文字」や「ビット」が扱えることがあるが、そのようなレベルの分析を利用した場合には、さらに、その粒度の分析をアプリケーションの応用分野に即した分析に変換するという別の課題が発生する)、そのレベルでの因果関係や類似、検索を実現する手法を模索することとした。
結果として、データベースによる処理を含み、複数のプログラムからなるアプリケーションにおいて、それらのプログラムやデータベースをまたいだデータの追跡が行える技術を試作・実験するところにまでたどり着いた。この結果は、H29年度に研究発表する予定である。

現在までの達成度 (区分)
現在までの達成度 (区分)

3: やや遅れている

理由

小規模な実験に取り掛かったところ、本課題で掲げている意味論の技術横断を実現するためには、ここの技術の意味論の粒度(例えば、Webフレームワークで利用しているフォーム、データベースで扱うデータの粒度であるレコード、プログラムに都合の良いデータである配列や辞書)が異なっているという新たな課題が判明したため、それを解決するための手法を新たに模索することとなった。
このため、アプリケーションの応用ドメインで想定している最も細かい粒度(例えば、単語)を想定して、その粒度でのデータの移動や依存関係を分析する手法を開発することとした。手法の詳細はH29年度に研究発表する内容となるためこの報告書では伏せることとするが、新規に開発した手法は、(1)複数のプログラムとデータベースを含むアプリケーションに適用可能なことが判明しており、(2)一般的なプログラムのデバッグ/プロファイリング用の機構やSQLの追跡の技術を利用するため広範囲の開発技術に適用可能であるが、(3)解析のためにデータマイニングの技術を用いているため、計算機パワーを必要とするという特徴を持つ。
この提案手法の適用実験においては、現在まで、適用対象のプログラムの規模はせいぜい7千行程度といった小規模なものであり、大規模なプログラムを含むアプリケーションに対しての実験的評価はまだ行えていない。

今後の研究の推進方策

上の「進捗状況」で説明した解析手法は、それ単体で研究成果として発表可能なものであると判断しており、大規模なアプリケーションへの適用を行うことで実験的な評価をつけて発表する予定である。
H29年度においては、研究提案において示した順序を踏襲し、(1)データベースだけではなく、Webフレームワークも含むアプリケーションに対して適用可能な手法を実現し、(2)適用実験を行うとともに、本年度において至らなかった部分である類似部分の検出や検索の手法についても実現する。(1)に関しては、現在までに、プログラミング言語Python、データベース操作のための言語SQLに対する解析技術を実現しているところを、WebアプリケーションにおけるHTTP通信、および、Webアプリケーションを記述するためのプログラミング言語であるJavaScript(ECMA)にも適用可能な手法とする。(2)に関しては、アプリケーションのデータの粒度を考慮した処理の類似性判定手法を提案し、さらにその類似性に基づく検索手法を提案する予定である。

次年度使用額が生じた理由

研究遂行中に新たに見つかった課題の解決のため、追加の開発・実験を行う必要が生じたため、研究発表として予定した国際学会への参加を取りやめた。

次年度使用額の使用計画

上述の課題が解決したため、その分も含めて研究発表を行うための原資とする。具体的には、国際学会への参加または論文誌への投稿や英文校正の費用に当てることを想定している。

  • 研究成果

    (3件)

すべて 2017 2016

すべて 雑誌論文 (1件) (うち査読あり 1件、 謝辞記載あり 1件) 学会発表 (2件) (うち招待講演 1件)

  • [雑誌論文] 依存関係の向きが変更波及解析に与える影響の分析2016

    • 著者名/発表者名
      上田裕己, 神谷年洋
    • 雑誌名

      レクチャーノート/ソフトウェア工学 ソフトエア工学の基礎XXIII 日本ソフトウェア科学会FOSE 2016

      巻: - ページ: 163-168

    • 査読あり / 謝辞記載あり
  • [学会発表] ソースコードの変更目的と依存関係の向きや距離の関係の分析2017

    • 著者名/発表者名
      上田裕己, 神谷年洋
    • 学会等名
      電子情報通信学会技術研究報告, Vol. 116, No. 512, pp. 73-78
    • 発表場所
      沖縄県
    • 年月日
      2017-03-09
  • [学会発表] コードクローン研究ふりかえり ~ ストロング・スタイルで行こう ~2017

    • 著者名/発表者名
      上田裕己, 神谷年洋
    • 学会等名
      第19回プログラミングおよびプログラミング言語ワークショップ(PPL2017)
    • 発表場所
      山梨県
    • 年月日
      2017-03-08
    • 招待講演

URL: 

公開日: 2018-01-16  

サービス概要 検索マニュアル よくある質問 お知らせ 利用規程 科研費による研究の帰属

Powered by NII kakenhi