研究課題
この研究で取り扱う観点を、(1)C言語本来の構文木、(2)前処理命令、(3)コメントとスペースの3つに分け、各観点でのプログラムの書換えおよびそれに伴う制約の取扱いについての検討を行なった。(1)C言語本来の構文木については、すでに昨年度までにパターン変換系を実現しているが、木構造としての観点とテキストとしての観点で操作を記述することが必要であり、後者について文字列の正規表現も適用できるように拡張を行なった。(2)前処理命令については、条件付きコンパイルに用いる分岐指令が存在するプログラムに対して書換えを行う方法について検討をした。あらゆる分岐経路を網羅したテキストに分離し、書換えたあとに合成する方法は、組み合わせ爆発が起こることに加え、合成時の処理が難しく、条件分岐指令を適切に戻せないことがわかった。そこで、一般に、パターンマッチの適合範囲が狭いこと、また、条件分岐指令で分けられる範囲も狭いことから、パターンマッチの判定時に各分岐をそれぞれ探索し、いずれかの経路で適合した時点で、その経路に含まれる分岐を適合範囲の外へ移動する等価変換を行い、書換え後に逆の変換を行うことで、書換えを実現した。(3)プログラムの書換え後に、元のプログラムに含まれたコメントとスペースが適切に残るよう、パターン変換系を拡張した。コメントとスペースは、その出現位置から近い字句に付随するというモデルを作り、そのモデルに従ってパターンを補正するフィルタを作成した。このフィルタは、構文木に対する書換え操作とは独立に定義され、あらゆる書換えに対して同時に適用できることを確認した。これらの3つの観点での実現方法は、それぞれが独立しており、同時に適用が可能である。したがって、観点を分離し、書換えを適用していくというこの研究の目的は概ね達成できたと考えらえる。
24年度が最終年度であるため、記入しない。
すべて 2013 2012
すべて 雑誌論文 (8件) (うち査読あり 5件)
情報処理学会論文誌
巻: Vol.54, No.2 ページ: 912-921
情報処理学会研究報告, 組込みシステム研究会
巻: 2013-EMB-28(11) ページ: 1-6
電子情報通信学会技術研究報告書, ソフトウェアサイエンス研究会
巻: Vol. 112, No. 458, SS2012-70 ページ: 63-68
ソフトウェアエンジニアリングシンポジウム2012論文集
巻: Vol.2012 ページ: 1-6
ソフトウェア工学の基礎XIX
巻: FOSE 2012 ページ: 21-26
巻: Vol.53, No.7 ページ: 1832-1849
巻: Vol.112, No.275, SS2012 36-45 ページ: 41-46