JPH02242332A - プログラムのパッチ作成装置 - Google Patents
プログラムのパッチ作成装置Info
- Publication number
- JPH02242332A JPH02242332A JP1064672A JP6467289A JPH02242332A JP H02242332 A JPH02242332 A JP H02242332A JP 1064672 A JP1064672 A JP 1064672A JP 6467289 A JP6467289 A JP 6467289A JP H02242332 A JPH02242332 A JP H02242332A
- Authority
- JP
- Japan
- Prior art keywords
- source
- list
- changed part
- path
- report file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000013519 translation Methods 0.000 claims abstract description 19
- 238000001514 detection method Methods 0.000 claims description 12
- 238000012937 correction Methods 0.000 abstract description 4
- 230000015572 biosynthetic process Effects 0.000 abstract 1
- 238000012217 deletion Methods 0.000 description 6
- 230000037430 deletion Effects 0.000 description 6
- 238000007792 addition Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明はソフトウェアの保守に利用する。本発明は高水
準言語によって作成されたプログラムに対するパッチ作
成に関する。
準言語によって作成されたプログラムに対するパッチ作
成に関する。
本発明は高水準言語によって作成されたプログラムのパ
ッチ作成において、 ソース修正した結果の翻訳リストから自動的にパッチを
生成することにより、 ハードウェアの知識がなくてもパッチを作成することが
でき、かつパッチ作成ミスをなくすようにしたものであ
る。
ッチ作成において、 ソース修正した結果の翻訳リストから自動的にパッチを
生成することにより、 ハードウェアの知識がなくてもパッチを作成することが
でき、かつパッチ作成ミスをなくすようにしたものであ
る。
従来、この種のパッチ作成は高水準言語のプロセッサの
出力したソースリスト、テ゛−タマップリスト、オブジ
ェクトリスト、およびリンカの出力したリンクリストと
から人間が機械語によって直接コーディングしていた。
出力したソースリスト、テ゛−タマップリスト、オブジ
ェクトリスト、およびリンカの出力したリンクリストと
から人間が機械語によって直接コーディングしていた。
上述した従来のパッチ作成は人間が直接機械語でコーデ
ィングするためハードウェアの知識が必要であり、かつ
作成ミスが多い欠点がある。
ィングするためハードウェアの知識が必要であり、かつ
作成ミスが多い欠点がある。
本発明はこのような欠点を除去するもので、ハードウェ
アの知識がなくてもパッチを作成することができ、パッ
チ作成ミスをなくすことができる装置を提供することを
目的とする。
アの知識がなくてもパッチを作成することができ、パッ
チ作成ミスをなくすことができる装置を提供することを
目的とする。
本発明は、高水準言語によって作成されたプログラムの
パッチ作成装置において、高水準言語のプロセッサが出
力した旧ソース翻訳リストレポートファイルおよび旧ソ
ースのバグを高水準言語のソース上で修正した新ソース
翻訳リストレポートファイルから変更のあった部分を検
出する変更部分検出手段と、この変更部分検出手段が出
力する変更部分オブジェクトテキストファイル、記号表
、およびリンカの出力したリンクリストレポートファイ
ルから実アドレスの決定およびレジスタの再割り当てを
行いパッチソースファイルと履歴情報を出力するアドレ
スレジスタ割り当て手段とを含むことを特徴とする。
パッチ作成装置において、高水準言語のプロセッサが出
力した旧ソース翻訳リストレポートファイルおよび旧ソ
ースのバグを高水準言語のソース上で修正した新ソース
翻訳リストレポートファイルから変更のあった部分を検
出する変更部分検出手段と、この変更部分検出手段が出
力する変更部分オブジェクトテキストファイル、記号表
、およびリンカの出力したリンクリストレポートファイ
ルから実アドレスの決定およびレジスタの再割り当てを
行いパッチソースファイルと履歴情報を出力するアドレ
スレジスタ割り当て手段とを含むことを特徴とする。
変更部分検出手段が高水準言語のプロセッサが出力した
旧ソース翻訳リストレポートファイルおよび旧ソースの
バグを高水準言語で修正した新ソースレポートファイル
から変更のあった部分を検出し、アドレス・レジスタ割
り当て手段が変更部分検出手段の出力する変更部分のオ
ブジェクトテキストおよび記号表とリンカの出力したリ
ンクリストのレポートファイルとから実アドレスを決定
してレジスタの再割り当てを行い、パッチソースおよび
履歴情報を出力する。
旧ソース翻訳リストレポートファイルおよび旧ソースの
バグを高水準言語で修正した新ソースレポートファイル
から変更のあった部分を検出し、アドレス・レジスタ割
り当て手段が変更部分検出手段の出力する変更部分のオ
ブジェクトテキストおよび記号表とリンカの出力したリ
ンクリストのレポートファイルとから実アドレスを決定
してレジスタの再割り当てを行い、パッチソースおよび
履歴情報を出力する。
このようにソース修正した結果の翻訳リストから自動的
にパッチを生成することにより、ノ1−ドウエアの知識
がなくてもパッチを作成することができ、かつパッチ作
成ミスをなくすことができる。
にパッチを生成することにより、ノ1−ドウエアの知識
がなくてもパッチを作成することができ、かつパッチ作
成ミスをなくすことができる。
次に、本発明実施例を図面に基づいて説明する。
第1図は本発明の全体構成を示すブロック図、第2図は
本発明実施例の変更部分検出手段の処理の流れを示す図
である。
本発明実施例の変更部分検出手段の処理の流れを示す図
である。
本発明実施例は、高水準言語のプロセッサが出力した旧
ソース翻訳リストレポートファイル1および旧ソースの
バグを高水準言語のソース上で修正した新ソース翻訳リ
ストレポートファイル2から変更のあった部分を検出す
る変更部分検出手段3と、この変更部分検出手段3が出
力する変更部分オブジェクトテキストファイル5、記号
表6、およびリンカの出力したリンクリストレポートフ
ァイル7から実アドレスの決定およびレジスタの再割り
当てを行いパッチソースファイル9とパッチ履歴ファイ
ル4への履歴情報を出力するアドレスレジスタ割り当て
手段8とを含む。
ソース翻訳リストレポートファイル1および旧ソースの
バグを高水準言語のソース上で修正した新ソース翻訳リ
ストレポートファイル2から変更のあった部分を検出す
る変更部分検出手段3と、この変更部分検出手段3が出
力する変更部分オブジェクトテキストファイル5、記号
表6、およびリンカの出力したリンクリストレポートフ
ァイル7から実アドレスの決定およびレジスタの再割り
当てを行いパッチソースファイル9とパッチ履歴ファイ
ル4への履歴情報を出力するアドレスレジスタ割り当て
手段8とを含む。
日ソース翻訳リストレポートファイル1はパッチをかけ
る前のソースを高水準言語のプロセッサが出力したソー
スリスト、データマツプリストおよびオブジェクトリス
トが一つのファイル内に格納されたものであり、新ソー
ス翻訳リストレポートファイル2は旧ソースに対してソ
ース修正を行った新ソースを高水準言工吾のプロセッサ
が出力したソースリスト、データマツプリストおよびオ
ブジェクトリストが一つのファイル内に格納されたもの
である。
る前のソースを高水準言語のプロセッサが出力したソー
スリスト、データマツプリストおよびオブジェクトリス
トが一つのファイル内に格納されたものであり、新ソー
ス翻訳リストレポートファイル2は旧ソースに対してソ
ース修正を行った新ソースを高水準言工吾のプロセッサ
が出力したソースリスト、データマツプリストおよびオ
ブジェクトリストが一つのファイル内に格納されたもの
である。
変更部分検出手段3はこの二つのレポートファイルの差
異を抽出する部分で、その構成と処理の流れを第2図に
示す。ソースリスト比較手段31は旧ソース翻訳リスト
レポートファイル1の旧ソ−スリスト11と新ソース翻
訳リストのレポートファイル2の新ソースリスト21を
比較し、比較結果としてのソース変更情報10に旧ソー
スに対する新ソースの削除、追加、更新の行番号情報を
出力する。
異を抽出する部分で、その構成と処理の流れを第2図に
示す。ソースリスト比較手段31は旧ソース翻訳リスト
レポートファイル1の旧ソ−スリスト11と新ソース翻
訳リストのレポートファイル2の新ソースリスト21を
比較し、比較結果としてのソース変更情報10に旧ソー
スに対する新ソースの削除、追加、更新の行番号情報を
出力する。
記号表作成手段32はソース変更情報10のうちデータ
マツプに影響を与えている部分を反映しながら記号名と
新アドレス(新オブジェクトリスト23で用いられてい
るアドレス)と旧アドレス(旧オブジェクトリスト13
で用いられているアドレス)の対応表を記号表6として
作成する。
マツプに影響を与えている部分を反映しながら記号名と
新アドレス(新オブジェクトリスト23で用いられてい
るアドレス)と旧アドレス(旧オブジェクトリスト13
で用いられているアドレス)の対応表を記号表6として
作成する。
オブジェクトリスト比較手段33はソース変更情報10
のうち命令部に影響を与えている部分および記号表6上
でアドレスの変更された変数を参照している部分を旧オ
ブジェクトリスト13および新オブジェクトリスト23
より抽出し変更部分オブジェクトテキストファイル5に
出力する。
のうち命令部に影響を与えている部分および記号表6上
でアドレスの変更された変数を参照している部分を旧オ
ブジェクトリスト13および新オブジェクトリスト23
より抽出し変更部分オブジェクトテキストファイル5に
出力する。
追加の場合は追加される前の行および後の行の旧オブジ
ェクト情報、追加された新オブジェクト情報および破壊
可能なレジスタ群の情報を出力し、削除の場合は削除さ
れる行のオブジェクト情報および削除不可である行情報
(削除される範囲内で設定されたレジスタを以降で参照
している場合)を出力し、変更の場合は削除、追加の両
方の情報を出力する。
ェクト情報、追加された新オブジェクト情報および破壊
可能なレジスタ群の情報を出力し、削除の場合は削除さ
れる行のオブジェクト情報および削除不可である行情報
(削除される範囲内で設定されたレジスタを以降で参照
している場合)を出力し、変更の場合は削除、追加の両
方の情報を出力する。
アドレス・レジスタ割り当て手段8は変更部分オブジェ
クトテキストファイル5中の情報およびリンクリストレ
ポートファイル7より実アドレス形式のパッチソースフ
ァイル9を出力する。そのとき削除の場合は前述の削除
不可である行のアドレスを変更して出力後削除範囲の次
の命令への分岐命令を出力する。
クトテキストファイル5中の情報およびリンクリストレ
ポートファイル7より実アドレス形式のパッチソースフ
ァイル9を出力する。そのとき削除の場合は前述の削除
不可である行のアドレスを変更して出力後削除範囲の次
の命令への分岐命令を出力する。
追加の場合は追加された次の行の最初のオブジェクトを
パッチエリアへの分岐命令に置き換え、前述の新オブジ
ェクト情報をパッチエリアに割り当てる。その陣中で利
用しているレジスタを破壊可能なレジスタで割り当て直
しくレジスタが不足した場合は破壊不可であるレジスタ
を退避する)、割り当てアドレスの変更に伴う再配置(
リロケーション)を行い、また記号表6上の旧アドレス
にデータ参照を変更する。
パッチエリアへの分岐命令に置き換え、前述の新オブジ
ェクト情報をパッチエリアに割り当てる。その陣中で利
用しているレジスタを破壊可能なレジスタで割り当て直
しくレジスタが不足した場合は破壊不可であるレジスタ
を退避する)、割り当てアドレスの変更に伴う再配置(
リロケーション)を行い、また記号表6上の旧アドレス
にデータ参照を変更する。
追加された新オブジェクトを出力後パッチエリアへの分
岐命令に置き換えた命令を出力しく再配置処理は行う)
、パッチエリアへの分岐命令に置き換えた次の命令への
分岐命令を出力する。またパッチソースファイル9に出
力する以外にパッチ履歴ファイル4にパッチエリアの使
用状況および旧オブジェクトの変更情報を出力する。こ
のパンチ履歴ファイル4を用いて変更部分検出手段4は
既にパンチがかけられた部分に対するパッチが発行され
るのを防ぐ。
岐命令に置き換えた命令を出力しく再配置処理は行う)
、パッチエリアへの分岐命令に置き換えた次の命令への
分岐命令を出力する。またパッチソースファイル9に出
力する以外にパッチ履歴ファイル4にパッチエリアの使
用状況および旧オブジェクトの変更情報を出力する。こ
のパンチ履歴ファイル4を用いて変更部分検出手段4は
既にパンチがかけられた部分に対するパッチが発行され
るのを防ぐ。
以上説明したように本発明によれば、ソース修正した結
果の翻訳リストから自動的にパッチを生成することによ
り、ハードウェアの知識がなくてもパッチを作成するこ
とができ、かつパッチ作成ミスをなくすことができる効
果がある。
果の翻訳リストから自動的にパッチを生成することによ
り、ハードウェアの知識がなくてもパッチを作成するこ
とができ、かつパッチ作成ミスをなくすことができる効
果がある。
第1図は本発明実施例の全体構成を示すブロック図。
第2図は本発明実施例の変更部分検出手段の構成および
処理の流れを示す流れ図。 1・・・旧ソース翻訳すストレポートファイノペ 2・
・・新ソース翻訳すストレポートファイノベ3・・・変
更部分検出手段、4・・・パッチ履歴ファイル、5・・
・変更部分オブジェクトテキストファイノペ6・・・記
号表、7・・・リンクリストレポートファイルペ8・・
・アドレス・レジスタ割り当て手段、9・・・パッチソ
ースファイルペ10・・・ソース変更情報、11・・・
旧ソ−スリスト、12・・・旧データマツプリスト、1
3・・・旧オブジェクト、21・・・新ソースリスト、
22・・・新データマツプリスト、23・・・新オブジ
ェクトリスト、31・・・ソースリスト比較手段、32
・・・記号表作成手段、33・・・オブジェクトリスト
比較手段。
処理の流れを示す流れ図。 1・・・旧ソース翻訳すストレポートファイノペ 2・
・・新ソース翻訳すストレポートファイノベ3・・・変
更部分検出手段、4・・・パッチ履歴ファイル、5・・
・変更部分オブジェクトテキストファイノペ6・・・記
号表、7・・・リンクリストレポートファイルペ8・・
・アドレス・レジスタ割り当て手段、9・・・パッチソ
ースファイルペ10・・・ソース変更情報、11・・・
旧ソ−スリスト、12・・・旧データマツプリスト、1
3・・・旧オブジェクト、21・・・新ソースリスト、
22・・・新データマツプリスト、23・・・新オブジ
ェクトリスト、31・・・ソースリスト比較手段、32
・・・記号表作成手段、33・・・オブジェクトリスト
比較手段。
Claims (1)
- 【特許請求の範囲】 1、高水準言語によって作成されたプログラムのパッチ
作成装置において、 高水準言語のプロセッサが出力した旧ソース翻訳リスト
レポートファイルおよび旧ソースのバグを高水準言語の
ソース上で修正した新ソース翻訳リストレポートファイ
ルから変更のあった部分を検出する変更部分検出手段と
、 この変更部分検出手段が出力する変更部分オブジェクト
テキストファイル、記号表、およびリンカの出力したリ
ンクリストレポートファイルから実アドレスの決定およ
びレジスタの再割り当てを行いパッチソースファイルと
履歴情報を出力するアドレスレジスタ割り当て手段と を含むことを特徴とするプログラムのパッチ作成装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1064672A JPH02242332A (ja) | 1989-03-15 | 1989-03-15 | プログラムのパッチ作成装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1064672A JPH02242332A (ja) | 1989-03-15 | 1989-03-15 | プログラムのパッチ作成装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH02242332A true JPH02242332A (ja) | 1990-09-26 |
Family
ID=13264903
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1064672A Pending JPH02242332A (ja) | 1989-03-15 | 1989-03-15 | プログラムのパッチ作成装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH02242332A (ja) |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6310239A (ja) * | 1986-06-30 | 1988-01-16 | Nec Corp | 高級言語のパツチ生成方式 |
| JPS63211432A (ja) * | 1987-02-27 | 1988-09-02 | Nec Corp | パツチ自動作成方式 |
-
1989
- 1989-03-15 JP JP1064672A patent/JPH02242332A/ja active Pending
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6310239A (ja) * | 1986-06-30 | 1988-01-16 | Nec Corp | 高級言語のパツチ生成方式 |
| JPS63211432A (ja) * | 1987-02-27 | 1988-09-02 | Nec Corp | パツチ自動作成方式 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6877155B1 (en) | System and method for generating target language code utilizing an object oriented code generator | |
| US5339430A (en) | System for dynamic run-time binding of software modules in a computer system | |
| US6810517B2 (en) | Program-interface converter for multiple-platform computer systems | |
| DE69232761T2 (de) | Verfahren und vorrichtung zur aenderung von dynamische zuweisbaren objektcodedateien | |
| US5287444A (en) | Message processing system | |
| KR960035260A (ko) | 소프트웨어 매크로 호출내에 검출된 에러의 위치를 표시하기 위한 방법 및 장치 | |
| WO1999015965A1 (en) | Memory allocation | |
| US20020138821A1 (en) | Method and apparatus for seamless porting of object code between operating system environments | |
| US5136698A (en) | Method for selective back-tracking in a hierarchical system containing a flag which indicates the validity of a choice-point | |
| JPH02242332A (ja) | プログラムのパッチ作成装置 | |
| JP4559937B2 (ja) | プログラム生成装置 | |
| JP2000066888A (ja) | ロードモジュールのパッチ処理装置 | |
| JP3596570B2 (ja) | クラスの主記憶装置への配置方法 | |
| JPH01205332A (ja) | リンケージエディタ方式 | |
| JPH02205930A (ja) | インタフェースチェック処理方法 | |
| AU624654B2 (en) | Encapsulation of applications for inclusion within an object management facility environment | |
| Cowling et al. | MICROSIM as a teaching aid | |
| Philippot | The Simula approach to living software | |
| JPH05119982A (ja) | コンパイラ | |
| JPH05100829A (ja) | コンパイルユニツト管理方式 | |
| JPH06119203A (ja) | デバック行削除装置 | |
| JP2003216428A (ja) | オブジェクト指向プログラミング支援装置 | |
| JPH06236283A (ja) | 言語処理システム | |
| JPH03282637A (ja) | テスト仕様書作成方式 | |
| JPH0133855B2 (ja) |