研究課題
ソースプログラムの書換えのための基本的な技術であるStreamCodeの改良を行なった。これまで、C言語のプログラムからStreamCodeへの変換系は、前処理前の構文情報に基づいた命令系列と、前処理後の構文情報に基づいた命令系列を独立に生成していたが、書換えを行うときは、前処理後の構文情報に基づいて前処理前のソースプログラムを書換える必要があり、実用性の点で問題があった。そこで、前処理前後の情報を一つの命令体系の中に組み入れた体系を検討し、変換系の実装を行なった。また、実装にあたっては、これまで変換系が移植性の低いプログラム言語で記述されていたため、UNIX系の一部のOSでしか利用できなかったため、新たにC言語で実装し直し、移植性を高めた。プログラムの差分表示を、プログラムの一つのビューとして捉え、差分を見ながらプログラムを書換える環境を構築した。一般に、プログラムの差分を理解するときは、比較している二つのプログラムの間で起きた作業を予測し、一方を他方に近づけるように頭の中でプログラムの書換えていく。すべての作業を予測できるまで、書換えと予測を繰返す。そこで、理解した作業を実際のプログラムに適用して書換えを行い、再度、差分を求めて表示する差分理解支援ツールを構築した。すべての作業を網羅することは難しいが、基本的な書換えツールを組込み可能な仕組みを備え、必要に応じて書換えツールを構築して組み込めるようにした。また、書換えツールとして、簡単なリファクタリングを実現した。なお、ツールの内部では、ソースプログラムをStreamCodeに変換し、StreamCodeに対する操作として、構文に基づく差分の抽出や、書換えを実現した。また、プログラムやその表示に着色するなど可読性を高める処理も同様に行なった。
すべて 2005
すべて 雑誌論文 (1件)
情報処理学会シンポジウムシリーズ,ウィンターワークショップ・イン・伊豆 2005・3
ページ: 67-68