Budget Amount *help |
¥1,200,000 (Direct Cost: ¥1,200,000)
Fiscal Year 1995: ¥1,200,000 (Direct Cost: ¥1,200,000)
|
Research Abstract |
本研究の目的は、プログラムスライス及び部分評価を組み合わせ、与えられた手続き型のプログラムから、ある特定の機能のみを持つプログラム(プログラム部品と呼ぶ)を効率良く生成する方法をし、また、その方法を実証し、効果を評価するためにプロトタイプシステムを作ることであった。 実際に用いた方式は、再帰を含むプログラムに対するスライスアルゴリズム及び、値の代入による式の評価と不要式の削除という方法に基づいた部分評価のアルゴリズムを組み合わせたものである。また、それに基づいて、教育用のPASCALのサブセットのプログラムに対してスライスや部分評価を行なうデバッグ支援システムを作成した。 本システムは、スライスや部分評価を行ない、その結果をプログラム部品として保存することができる。その他、通常のデバッガとして、プログラムのステップ実行、停止、ブレイクポイントの設定、変数の内容の参照/変更などを、元になるプログラムや取り出した部品に対して行なうこともできる。 このシステムを利用することにより、プログラムのある部分のみを抽出してその部分を保存し、再利用する、という目的は実現できた。その際,その依存関係情報は,一度解析すれば内部に保存できるため,同じプログラムに対しては,解析しなおすことなく別のスライス計算などの作業を行なうことができる。 スライスによって部分を取り出す際、一般に元のプログラムが大きい時には,スライスも大きくなる.本ツールでは,スライス全体を参照するだけでなく,PDG(プログラム依存グラフ)を探索するレベルを任意に設定することができるので、注目している文に直接影響する文のみを抽出したり;データ依存もしくは制御依存の一方だけを用いたPDGの探索もできるため,参照部分をさらに小さくすることができる。
|