研究課題/領域番号 |
22500036
|
研究機関 | 南山大学 |
研究代表者 |
吉田 敦 南山大学, 情報理工学部, 教授 (50283495)
|
研究分担者 |
蜂巣 吉成 南山大学, 情報理工学部, 准教授 (30319298)
|
キーワード | プログラム解析 / プログラムパターン変換 / 前処理前解析 |
研究概要 |
本年度は、(1)前処理前ソースプログラムの解析と編集支援、(2)ウェブページで提示されるソースプログラムの解析支援を行なった。いずれも、完全にC言語の文法だけに従った記述ではなく、前者は前処理命令が、後者はHTMLの記述が混入した記述であり、これらを解析できることは、複数の観点が混在したプログラムの解析を行ううえでの基礎技術となる。以下に、各成果について述べる。 (1)については、解析を困難にする要因が、前処理の分岐内に対応する組が閉じていない括弧や、分岐内で閉じていない制御文の存在であることを明らかにした。さらに、そのような要素を含む分岐の特定し、解析できるよう分岐を限定したプログラムの複製を構成する方法を確立した。複製は対象となる分岐の全組み合わせの数だけ構成されるために、複製の数が多くなるが、オープンソースを対象とした調査では8割程度のファイルで組み合わせ数が10以下となり、実用性があることも確認できた。 (2)については、ソースプログラムを掲載するウェブページを調査し、多くのページで字句や文を単位としてHTMLのタグが挿入されていることが確認された。タグを空白類と同じ字句とみなせば解析ができること、さらにタグと構文要素の開始位置を表す特殊な字句を入れ替えるルールを導入することで、タグを維持した構文木をDOMで構成することもツールを実装して確認した。DOMが構成できることで、見栄えと構文木の編集が相互に衝突することなく実現できることを明らかにした。
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
2: おおむね順調に進展している
理由
目的となる特定の観点からプログラムを分解してから編集および合成を行う環境を作るにあたり、前処理の観点やHTMLの観点からの分解や編集のための基礎技術ができており、合成に関する技術を検討することで、目的が達成されるところまで来ているからである。
|
今後の研究の推進方策 |
最終年度である来年度は、プログラムの解析技術を整備し、より実用的なツールとして構成することと、分解したプログラムを合成するための基盤技術を構築し、分解から合成への一連の流れを完成させる予定である。また、観点は主に前処理に限定する。前処理は複数の観点が多重化されたプログラムの典型であり、また、前処理前のプログラムを正確に解析するためには、解析が困難な箇所の解消が必要であるが、そのためには正確な解析ができることが前提となるという矛盾が生じやすく、解決すべき問題が難しいので、集中的に検討を行う。
|