特許
J-GLOBAL ID:200903097762567961

ソフトウェアのパッチデータ自動生成装置

発明者:
出願人/特許権者:
代理人 (1件): 作田 康夫
公報種別:公開公報
出願番号(国際出願番号):特願平11-138244
公開番号(公開出願番号):特開2000-330780
出願日: 1999年05月19日
公開日(公表日): 2000年11月30日
要約:
【要約】【課題】高級言語で開発し,コンパイラにより最適化されたソフトウェア製品に対するパッチを,修正前の高級言語ソースと,プログラム修正者が修正した高級言語ソースとを比較して自動的に生成する。【解決手段】マスタソースを修正する手段1と,マスタソースと修正後ソースとを比較し関数単位に比較情報をファイルに記録する手段2と,変更・追加された全静的変数を当該パッチレビジョン用追加静的変数セクションに配置する合成ソースを生成する手段3と,合成ソースオブジェクトを生成する手段4と,修正後ロードモジュールと修正後静的変数エリアを生成する手段5と,修正後ロードモジュール上の変更前関数の先頭の命令コードを,変更後関数の先頭への無条件分岐命令にパッチする手段6と,当該パッチレビジョン用パッチコードセクション及び無条件分岐命令のみをパッチデータとする手段7とを備える。
請求項(抜粋):
マスタソースファイル中のソースプログラム(以下マスタソース)を修正(修正後のソースを以下修正ソース)する手段1と,マスタソースと修正ソースとを比較して追加・変更・削除された関数の情報(関数名・比較結果・関数開始行・関数終了行,静的変数の比較結果その他)をファイル(以下関数・静的変数比較結果格納ファイル)に記録する手段2と,前記の関数・静的変数比較結果格納ファイルを参照し,合成ソース(修正前後の全関数を保持し,マスタソース上の全関数をマスタロードモジュールと同一のアドレスに配置し,変更後の関数・追加した関数を当該パッチレビジョン用パッチコードセクションに配置し,マスタソースで使用される全静的変数をマスタロードモジュールと同一のアドレスに配置し,変更・追加された全静的変数を当該パッチレビジョン用追加静的変数セクションに配置するソース)を生成する手段3と,合成ソースをコンパイルして,オブジェクト(以下合成ソースオブジェクト)を生成する手段4と変更されていないソースに対するマスタオブジェクトと合成ソースオブジェクトとをリンクし,ロードモジュール(以下,修正後ロードモジュール)と静的変数エリア(以下,修正後静的変数エリア)を生成する手段5と,修正後ロードモジュール上の変更前関数の先頭の命令コードを,変更後関数の先頭への無条件分岐命令にパッチ(パッチ後のロードモジュールを以下,無条件分岐命令パッチ後ロードモジュール)する手段6と,マスタロードモジュールと無条件分岐命令パッチ後ロードモジュールとを比較し,差分情報,すなわち,当該パッチレビジョン用パッチコードセクション(修正ソースで変更し名称変更した関数・追加した関数が配置されている)と,無条件分岐命令(変更前関数の先頭の命令コードが変更後関数の先頭への無条件分岐命令にパッチされている)をパッチデータとする手段7と,を備えることを特徴とするパッチ自動生成装置。
Fターム (3件):
5B076EA01 ,  5B076EA13 ,  5B076EA15

前のページに戻る