2018 Fiscal Year Research-status Report
部分評価を用いたWebアプリケーションの横断的依存解析手法に関する研究
Project/Area Number |
17K00114
|
Research Institution | Nanzan University |
Principal Investigator |
吉田 敦 南山大学, 国際教養学部, 教授 (50283495)
|
Co-Investigator(Kenkyū-buntansha) |
蜂巣 吉成 南山大学, 理工学部, 教授 (30319298)
|
Project Period (FY) |
2017-04-01 – 2020-03-31
|
Keywords | プログラム解析 / 構文解析 / アスペクト解析 |
Outline of Annual Research Achievements |
研究目的となる横断的解析において、基本的な処理の流れを追いやすくするためには、構文木あるいは制御フローグラフにおいて、解析に不要な部分木を枝刈りする必要がある。その候補としては、例外処理やコード全体に分散して折り込まれているアスペクトが考えられることから、それらを特定する技術について検討を行い、実装および実験を行なった。例外処理は、エラーメッセージの出力方法など、コード全体で共通した書き方を持つ条件文であるという特徴に基づいて特定をした。オープンソースに対する実験で、6~7割程度の精度で特定できることを確認した。例外処理はエラー処理などのアスペクトであることから、例外処理の手法を拡張し、例外処理を含めたアスペクト全般を特定する方法についても開発を行なった。簡単な評価実験を行い、特定できる見込みを得た。ただし、アスペクトについては、共通した書き方を持つコード片を特定する必要があり、コード片の範囲の決定が難しい。手法およびその評価方法については引き続き検討が必要である。なお、これらは解析基盤が構築できているC言語を対象に実験を行なった。当初の目的としていたPHP への展開は解析基盤の構築に留まった。C言語の解析基盤については、解析ツールの構築や評価実験を効率良く行えるようにするために、処理の並列化や構文木の最適化などの改善を行なった。これらの改善で得た技術は、PHPの開発基盤にも反映させた。一方、部分評価を利用する点やPHPのフレームワークを対象に実験を行うことについては、十分な進展がなく、進捗が遅れている。
|
Current Status of Research Progress |
Current Status of Research Progress
4: Progress in research has been delayed.
Reason
解析時に枝刈りの候補となる部分木を発見する方法を開発やその評価実験を繰り返したことで、当初に予定していた部分評価の導入について取り組む時間を十分に確保できなかった。また、オープンソースを対象として解析を行なうと実行に時間がかかることから、それを改善するための並列化の仕組みや、複数のツールの連携を容易にするための構文木の書式の再定義など、基盤整備に注力したことも遅れている理由である。
|
Strategy for Future Research Activity |
引き続きPHPの解析基盤の整備を進めるとともに、プロトタイプとして実現していた部分評価の機能をフレームワークとして、解析基盤上で再構成する。さらに、PHP で書かれたWebアプリケーションやフレームワークに対して解析実験を行い、実用性がある解析基盤にする。また、アスペクトに着目した枝刈りは解析において有効であるとの感触を得ていることから、当初の計画にはなかったが、これについても研究を進めていく。
|
Causes of Carryover |
学会の論文誌に論文を投稿したが、当該年度内に掲載に至らなかったので、採録された場合に支払う掲載料が残額として残った。本年度に掲載が決まれば、その支払いに当てる予定である。
|