氏名: 吉田 敦 (d05755)

論文題目: ソフトウェア操作言語とその保守支援への応用に関する研究


論文概要

ソフトウェアの生産性の向上や保守作業の効率化のための 有効な手段の一つが, CASE(Computer Aided Software Environment)ツールの導入である. CASEとはソフトウェア開発における活動の自動化により 開発プロセスを支援する環境であり, CASEツールとはその環境で提供されるツールである. 一般のCASEツールでは,解析の容易化のために, ソースプログラムや仕様書などの文書の記述方法に 制限を加えることが多い. 開発ではその制限に従っても問題は生じないが, 保守では,作業の開始時点でソフトウェアが存在し, それに含まれる文書がCASEツールによる制限を 満たすことは期待できない. よって,制限を前提とするCASEツールをそのまま保守に 適用することは難しく,保守対象に合せたCASEツールの作成や カスタマイズが必要である.

そこで,本論文では,ソフトウェア操作を簡潔に記述する言語として ソフトウェア操作言語を提案し,処理系の実現について検討した. ソフトウェア操作とは,ソフトウェアを構成する文書からの 情報抽出と文書に対する変更である. CASEツールはソフトウェア操作の記述あるいは実現である. ソフトウェア操作言語では,文書を構成する構文要素を オブジェクトとして捉え,各要素に対する基本操作を そのオブジェクトのメソッドとして定義する. ソフトウェア操作はオブジェクトに対する基本操作の組合せとして記述する.

また,保守において特に重要なソフトウェア操作として 依存解析と差分理解を取り上げた. 依存解析はソフトウェア操作において不可欠な基盤技術であるが, 現状では各CASEツールごとに開発者が依存解析を記述している. 本論文では,依存解析に基づくソフトウェア操作を記述する枠組みとして 抽象スレッドに基づく枠組みを提案した. この枠組により,開発者は単一の実行経路についての解析の実現に集中でき, 見通し良くCASEツールを実現できる. 差分理解の支援としては,意味に基づいた差分抽出ツールを提案した. このツールは,構文だけでなく,構文要素間の依存関係に基づいて 構文要素の変更や移動を判定し,意味に影響のない差分を排除する. このツールを実用規模のソースプログラムに適用し,差分理解が 容易になることを定量的に示した.

以上より,提案したソフトウェア操作言語と抽象スレッドに基づく枠組により 保守を支援するCASEツールを見通し良く作成できた. また,差分抽出ツールを実用規模のソースプログラムに対して適用することで, 本論文で示したソフトウェア操作言語の処理系や,ソフトウェア操作言語に よって記述されたCASEツールが現実の保守に対して適用でき, 実用性があることを示した. 今後の課題としては,本論文に含まれていないソフトウェア操作についても CASEツールとして実現し,様々な実用規模のソースプログラムの保守に 適用することで,本論文の手法の有効性を検証する必要がある. 本論文では,支援対象を既存のソフトウェアに対する保守に限定したが, 開発の段階から保守支援をする手法も考えられる. 今後は,保守支援を考慮した開発手法についても検討し, 保守支援をさらに進めていくことが求められる.


目次に戻る


asakura@nuie.nagoya-u.ac.jp