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

2017 年度 実施状況報告書

部分評価を用いたWebアプリケーションの横断的依存解析手法に関する研究

研究課題

研究課題/領域番号 17K00114
研究機関南山大学

研究代表者

吉田 敦  南山大学, 国際教養学部, 教授 (50283495)

研究分担者 蜂巣 吉成  南山大学, 理工学部, 教授 (30319298)
研究期間 (年度) 2017-04-01 – 2020-03-31
キーワードプログラム理解 / プログラムの例外処理 / プログラムのダイジェスト化 / 構文解析 / C言語 / PHP
研究実績の概要

本研究は、Webアプリケーションを対象としたプログラム解析技術を用いて理解支援をすることであるので、まず、PHP の構文解析器を実現した。実装にあたっては、これまでC言語用に作成したものを応用し、ボトムアップに小さな構文要素から大きな構文要素から識別することで、PHP のコード片から構文木を生成できるようにした。PHPは、HTML タグと混在して記述されるが、そのようなコードにも対応している。また、これまでは、構文木を字句系列で表現する方法を用いていた。これは、プログラムの書き換えにパターン変換を実現するときに、文字列の正規表現の置換を応用できるからである。ただし、部分評価を実現していくためには、より直接的に木構造を表現するデータ構造の方が望ましい。部分評価器は、部分的な機能を持つプロトタイプも実現済みではあるが、字句系列をベースとしたために拡張が難しい状況になっている。そこで、C言語の構文解析器と合わせて、統一的にJSON形式の木を生成できるような機能拡張を行なった。C言語については実用的なオープンソースに対応できる性能になっている。PHPについては作業が進行中である。
また、理解支援の基礎技術として、字句の共通性に着目して例外処理を選別する方法に取り組んだ。プログラムを理解するときに、注目すべきは標準的な正常ユースケースに沿って実行される命令であり、例外処理は理解の対象から外れる。例外処理を一律に取り除くことができれば、理解が容易になる。主にC言語のオープンソースを対象に実験を行なって、例外処理を高い精度で選別できることを確認した。JSON形式に変換した構文木を対象に実験していることから、PHP への移植も容易になっている。

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

2: おおむね順調に進展している

理由

本年度の歳々の目標としては、PHP の構文解析を実現することであり、そのこと自体は実現されている。ただし、今後の開発を効率化するために、新たに JSON 形式への変換といった機能拡張を行なっており、その拡張が完成していないという点で、やや急ぐ必要がある。

今後の研究の推進方策

当面は、PHP の構文解析器(JSON版)の完成と、それに基づく部分評価器の構築が主な課題となる。また、新たに、字句の共通性に基づくことで、例外処理を始めとして、プログラム理解において必ずしも必要ない要素を取り除くことができる可能性があることから、そちらの研究についても進めていく。また、あらかじめデフォルトの定数が定義されている場合には、部分評価を適用することで、取り除ける要素が増やせると考えており、その点についても検討を進めていく。

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

大学の業務や授業との関係で、当初の予定していた学会の研究会等への資料採取に行くことができなかった。ただし、プログラムの解析ツールの実現や実験において、大学院生に協力をしてもらう予定があり、差額については実験用の機器の購入や学会発表に割り当てていく。

  • 研究成果

    (3件)

すべて 2017

すべて 雑誌論文 (2件) (うち査読あり 1件) 学会発表 (1件)

  • [雑誌論文] プログラミング演習用プルーフリーダの試作2017

    • 著者名/発表者名
      蜂巣吉成, 吉田敦, 桑原寛明, 阿草清滋
    • 雑誌名

      ソフトウェア工学の基礎XXIV

      巻: 43 ページ: 53-62

    • 査読あり
  • [雑誌論文] プログラミング演習におけるテストケース評価システムの提案2017

    • 著者名/発表者名
      蜂巣吉成, 小林 悟, 吉田敦, 阿草清滋
    • 雑誌名

      コンピュータソフトウェア

      巻: Vol. 3, No.1 ページ: 64-78

  • [学会発表] APIに対する例外処理の共通的特徴に基づくコード例の推薦手法の提案2017

    • 著者名/発表者名
      加藤大貴, 吉田敦, 蜂巣吉成, 桑原寛明, 阿草清滋
    • 学会等名
      日本ソフトウェア科学会 FOSE2017

URL: 

公開日: 2018-12-17  

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

Powered by NII kakenhi