本年度は、代数的仕様を利用したソフトウェア移植支援法の確立をめざし、以下の研究を行った。 1.プラットフォーム仕様記述の拡張と自動生成 プラットフォーム仕様の中で中心的な役割を果たすのはライブラリの仕様である。C言語ではOSによって提供されるシステムコール、言語処理系により用意されるライブラリ関数は多数にのぼる。FreeBSDを対象に、これらの関数のシグニチャ情報や異常終了時の返り値をマニュアルやヘッダファイルから自動生成するツールを作成した。また、プラットフォーム仕様にデータ長等のハードウェア環境等を記述する際の記述方式について検討した。 2.プラットフォーム仕様の差分抽出ツールの作成 前年度定めたプラットフォーム仕様の差分情報ではライブラリ関数についてシグニチャ情報しか扱っていなかった。本年度は、ライブラリ関数について機能に関する情報を追加し、より詳細な差分を扱えるようにした。対象OSをFreeBSDとして、プラットフォーム仕様を部分的に作成し、その差分を抽出するツールの作成に着手した。 3.ソフトウェア仕様の変更法とプログラムテンプレート生成法の確立 抽出されたソフトウェア仕様の変更箇所に基づいて、プログラムの変更法の検討を行った。データ型の情報に加えて識別子の対応情報を用いることで、仕様とプログラムの対応関係をより正確に抽出する手法について提案した。この対応関係に基づいてプログラムの変更個所を提示するシステムを作成した。
|