JP2000357097A - プログラム管理方法 - Google Patents
プログラム管理方法Info
- Publication number
- JP2000357097A JP2000357097A JP11169426A JP16942699A JP2000357097A JP 2000357097 A JP2000357097 A JP 2000357097A JP 11169426 A JP11169426 A JP 11169426A JP 16942699 A JP16942699 A JP 16942699A JP 2000357097 A JP2000357097 A JP 2000357097A
- Authority
- JP
- Japan
- Prior art keywords
- program
- information
- object program
- source
- compile
- 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
- 238000000034 method Methods 0.000 claims description 27
- 238000007726 management method Methods 0.000 description 24
- 238000012545 processing Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 6
- 238000004519 manufacturing process Methods 0.000 description 6
- 238000011161 development Methods 0.000 description 4
- 238000000605 extraction Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Landscapes
- Stored Programmes (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】
【課題】 ソースプログラム、オブジェクトプログラ
ム、ランユニットプログラム間の関連付けを特定する。 【解決手段】 調査対象のオブジェクトプログラム21
から抽出したコンパイル情報23であるオブジェクトプ
ログラム名、コンパイラ名、コンパイルオプション、コ
ンパイラバージョン、コンパイル日時情報に従ってソー
スプログラム11をコンパイルし、コンパイルして得ら
れた出力結果のオブジェクトプログラム12と、調査対
象のオブジェクトプログラム21とを比較して、調査対
象のオブジェクトプログラム21がソースプログラム1
1からコンパイルされたものかどうかを判定する。
ム、ランユニットプログラム間の関連付けを特定する。 【解決手段】 調査対象のオブジェクトプログラム21
から抽出したコンパイル情報23であるオブジェクトプ
ログラム名、コンパイラ名、コンパイルオプション、コ
ンパイラバージョン、コンパイル日時情報に従ってソー
スプログラム11をコンパイルし、コンパイルして得ら
れた出力結果のオブジェクトプログラム12と、調査対
象のオブジェクトプログラム21とを比較して、調査対
象のオブジェクトプログラム21がソースプログラム1
1からコンパイルされたものかどうかを判定する。
Description
【0001】
【発明の属する技術分野】この発明は、ソースプログラ
ム、オブジェクトプログラム、ランユニットプログラム
間を関連付けるプログラム管理方法に関する。
ム、オブジェクトプログラム、ランユニットプログラム
間を関連付けるプログラム管理方法に関する。
【0002】
【従来の技術】ソースプログラムからコンパイラを通し
て、機械語に変換した結果がオブジェクトプログラムで
ある。ソースプログラムとそのオブジェクトプログラム
は、それぞれが独立のファイルに管理されているので、
その対応付けを管理するために、コンパイル時に出力さ
れた実行レポートや翻訳リストを保管して、そのレポー
ト上に存在するソースプログラム名およびソースプログ
ラムファイル名、オブジェクトファイル名、オブジェク
ト名、コンパイル日時、バージョン情報などを手掛かり
に対応付けを見極めている(リスト管理)。
て、機械語に変換した結果がオブジェクトプログラムで
ある。ソースプログラムとそのオブジェクトプログラム
は、それぞれが独立のファイルに管理されているので、
その対応付けを管理するために、コンパイル時に出力さ
れた実行レポートや翻訳リストを保管して、そのレポー
ト上に存在するソースプログラム名およびソースプログ
ラムファイル名、オブジェクトファイル名、オブジェク
ト名、コンパイル日時、バージョン情報などを手掛かり
に対応付けを見極めている(リスト管理)。
【0003】また、上記方法でソースプログラムおよび
オブジェクトプログラムを管理する以外に、従来の技術
として、コンパイルやリンクをした際、自動的に管理情
報がディクショナリファイルに登録され、そのディクシ
ョナリ情報を見ることによってプログラムを管理する方
法もある(ディクショナリ管理)。
オブジェクトプログラムを管理する以外に、従来の技術
として、コンパイルやリンクをした際、自動的に管理情
報がディクショナリファイルに登録され、そのディクシ
ョナリ情報を見ることによってプログラムを管理する方
法もある(ディクショナリ管理)。
【0004】
【発明が解決しようとする課題】しかし、従来のこれら
管理方法には、次のような問題点がある。
管理方法には、次のような問題点がある。
【0005】まず、(リスト管理)方法には、コンパイ
ルリストやリンクマップの紛失時に、オブジェクトプロ
グラムの元ソースプログラムがどれか、また、ランユニ
ットプログラムの元オブジェクトプログラムがどれか、
それを調査して対応付けを行う手段が無いという問題点
がある。
ルリストやリンクマップの紛失時に、オブジェクトプロ
グラムの元ソースプログラムがどれか、また、ランユニ
ットプログラムの元オブジェクトプログラムがどれか、
それを調査して対応付けを行う手段が無いという問題点
がある。
【0006】これは、第1には、ソースプログラム本体
には、出力したオブジェクトプログラムに関するファイ
ル名、コンパイル日時などの管理情報がないことによ
る。たとえコメントとして記載されていても、そのコメ
ント自体が改版されていなかったり、不十分であったり
して信用できないことがあり、また、オブジェクトプロ
グラム本体には、その入力となったソースプログラムと
の関連付けができるような、例えば、ソースファイル
名、ソースプログラムテキストなどの情報が無いからで
ある。
には、出力したオブジェクトプログラムに関するファイ
ル名、コンパイル日時などの管理情報がないことによ
る。たとえコメントとして記載されていても、そのコメ
ント自体が改版されていなかったり、不十分であったり
して信用できないことがあり、また、オブジェクトプロ
グラム本体には、その入力となったソースプログラムと
の関連付けができるような、例えば、ソースファイル
名、ソースプログラムテキストなどの情報が無いからで
ある。
【0007】第2には、コンパイルリストを紛失した場
合以外にも、ソースプログラムとオブジェクトプログラ
ムとの関連付けは、下記の場合に失われることである。
合以外にも、ソースプログラムとオブジェクトプログラ
ムとの関連付けは、下記の場合に失われることである。
【0008】最初にオブジェクトプログラムが出力され
たファイルから、オブジェクトが別のオブジェクトファ
イルに移動し使用される場合がある。これは利用者がテ
ストなどの際利用しやすい環境に移動するためである
が、その移動は、オブジェクトプログラムライブラリア
ンで行われ、その際に元のソースプログラムやオブジェ
クトプログラム、ランユニットプログラム管理体系との
関連付けを情報として残すことを利用者が忘れ、運用者
管理基準外の方法で本番システムへのプログラムリリー
スする場合などがあることである。特に緊急トラブル対
応時などこのような手段で本番システムの変更を行うこ
ともある。このような管理規則を外れたプログラムが、
20〜30年という長い年月を経た膨大な既存プログラ
ム資産の内には非常に多く存在していることが多い。
たファイルから、オブジェクトが別のオブジェクトファ
イルに移動し使用される場合がある。これは利用者がテ
ストなどの際利用しやすい環境に移動するためである
が、その移動は、オブジェクトプログラムライブラリア
ンで行われ、その際に元のソースプログラムやオブジェ
クトプログラム、ランユニットプログラム管理体系との
関連付けを情報として残すことを利用者が忘れ、運用者
管理基準外の方法で本番システムへのプログラムリリー
スする場合などがあることである。特に緊急トラブル対
応時などこのような手段で本番システムの変更を行うこ
ともある。このような管理規則を外れたプログラムが、
20〜30年という長い年月を経た膨大な既存プログラ
ム資産の内には非常に多く存在していることが多い。
【0009】第3には、オブジェクトプログラムは、い
ろいろなランユニットファイルにリンクされ使用される
場合があるので、ランユニットファイル名自体をオブジ
ェクトプログラム上には持っていないし、従来ランユニ
ットプログラムがどのオブジェクトプログラムから生成
されたものかを知る手段が無かったということである。
ろいろなランユニットファイルにリンクされ使用される
場合があるので、ランユニットファイル名自体をオブジ
ェクトプログラム上には持っていないし、従来ランユニ
ットプログラムがどのオブジェクトプログラムから生成
されたものかを知る手段が無かったということである。
【0010】次に、(ディクショナリ管理)方法では、
(ディクショナリ管理)を導入する以前から既に存在し
ている既存プログラム資産について、ディクショナリ管
理を適用し難いという問題点がある。
(ディクショナリ管理)を導入する以前から既に存在し
ている既存プログラム資産について、ディクショナリ管
理を適用し難いという問題点がある。
【0011】新規開発のプログラムについては、新規に
プログラム管理体系を定め、(ディクショナリ管理)の
環境を作成し、その環境上でプログラム開発すれば良い
ので比較的容易に(ディクショナリ管理)への移行が可
能であるが、既存プログラムについては、既存のプログ
ラム開発環境を(ディクショナリ管理)できる開発環境
に変更することが必要になる。
プログラム管理体系を定め、(ディクショナリ管理)の
環境を作成し、その環境上でプログラム開発すれば良い
ので比較的容易に(ディクショナリ管理)への移行が可
能であるが、既存プログラムについては、既存のプログ
ラム開発環境を(ディクショナリ管理)できる開発環境
に変更することが必要になる。
【0012】プログラム開発環境の変更時には、個別シ
ステム内で閉じていたプログラムを他システムと重複・
相反しないように新規に標準的ルールを定め、修正・変
更・新規登録することが必要になる。
ステム内で閉じていたプログラムを他システムと重複・
相反しないように新規に標準的ルールを定め、修正・変
更・新規登録することが必要になる。
【0013】この場合、ソースプログラムとオブジェク
トプログラムの管理情報が紛失している場合やプログラ
ム資産の名称の重複、また、同一プログラムを個別に改
造して使用している場合もあるので、それらを一意に整
理することになる。そのためには、ライブラリファイル
を全サーチし、同一プログラムと考えられるものを全て
洗い出し、重複して存在しているソースプログラムやオ
ブジェクトファイルを本番システムで使用しているもの
とテスト時に使用したもの、緊急のトラブル対応に一時
的に修正を加えたもの、開発段階の消し忘れなど、1つ
1つ仕様書やプログラムのコメントを頼りに見直さなけ
ればならない。また、新たに仕様書を興し、プログラム
登録管理をやり直す場合もある。
トプログラムの管理情報が紛失している場合やプログラ
ム資産の名称の重複、また、同一プログラムを個別に改
造して使用している場合もあるので、それらを一意に整
理することになる。そのためには、ライブラリファイル
を全サーチし、同一プログラムと考えられるものを全て
洗い出し、重複して存在しているソースプログラムやオ
ブジェクトファイルを本番システムで使用しているもの
とテスト時に使用したもの、緊急のトラブル対応に一時
的に修正を加えたもの、開発段階の消し忘れなど、1つ
1つ仕様書やプログラムのコメントを頼りに見直さなけ
ればならない。また、新たに仕様書を興し、プログラム
登録管理をやり直す場合もある。
【0014】プログラム名称に変更が発生する場合に
は、ただ名称の変更に留まらず、本番システム上で動作
しているランユニットプログラムの名称も変更するの
で、具体的には(ディクショナリ管理)環境化で再コン
パイル〜リンクして、ランユニットプログラムを作成
後、評価して、本番システム上でのランユニットプログ
ラム変更作業を行うという一連の多大な工数が必要であ
る。
は、ただ名称の変更に留まらず、本番システム上で動作
しているランユニットプログラムの名称も変更するの
で、具体的には(ディクショナリ管理)環境化で再コン
パイル〜リンクして、ランユニットプログラムを作成
後、評価して、本番システム上でのランユニットプログ
ラム変更作業を行うという一連の多大な工数が必要であ
る。
【0015】(ディクショナリ管理)は、(ディクショ
ナリ管理)導入以降、その仕組みを組み込めたソースプ
ログラム、オブジェクトプログラム、ランユニットプロ
グラム間のみでの関連性が失われないように、プログラ
ム管理データの紛失を防止することを目的としているシ
ステムであって、既に、オブジェクトプログラム、ラン
ユニットプログラム間の関連性が不明となった状態には
無効である。
ナリ管理)導入以降、その仕組みを組み込めたソースプ
ログラム、オブジェクトプログラム、ランユニットプロ
グラム間のみでの関連性が失われないように、プログラ
ム管理データの紛失を防止することを目的としているシ
ステムであって、既に、オブジェクトプログラム、ラン
ユニットプログラム間の関連性が不明となった状態には
無効である。
【0016】この発明の目的は、既に、ソースプログラ
ム、オブジェクトプログラム、ランユニットプログラム
間の関連性が失われていた場合に、それらの間の関連付
けを特定できるようにして、プログラム管理情報を完全
化するためのプログラム管理方法を提供することであ
る。
ム、オブジェクトプログラム、ランユニットプログラム
間の関連性が失われていた場合に、それらの間の関連付
けを特定できるようにして、プログラム管理情報を完全
化するためのプログラム管理方法を提供することであ
る。
【0017】
【課題を解決するための手段】この発明は、ソースプロ
グラムとオブジェクトプログラムとの対応を管理するプ
ログラム管理方法において、調査対象のオブジェクトプ
ログラムから抽出したコンパイル情報に従ってソースプ
ログラムをコンパイルして、その出力結果のオブジェク
トプログラムと、前記調査対象のオブジェクトプログラ
ムとを比較して、調査対象のオブジェクトプログラムが
前記ソースプログラムからコンパイルされたものかどう
かを判定することを特徴とする。
グラムとオブジェクトプログラムとの対応を管理するプ
ログラム管理方法において、調査対象のオブジェクトプ
ログラムから抽出したコンパイル情報に従ってソースプ
ログラムをコンパイルして、その出力結果のオブジェク
トプログラムと、前記調査対象のオブジェクトプログラ
ムとを比較して、調査対象のオブジェクトプログラムが
前記ソースプログラムからコンパイルされたものかどう
かを判定することを特徴とする。
【0018】また、この発明は、オブジェクトプログラ
ムとランユニットプログラムとの対応を管理するプログ
ラム管理方法において、ランユニットプログラムを読み
込んで、ランユニットプログラム中に含まれるオブジェ
クト情報を抽出し、調査対象となるオブジェクトプログ
ラムのオブジェクト情報と比較し、前記ランユニットプ
ログラムが前記調査対象となるオブジェクトプログラム
からリンクされたものかどうかを判定することを特徴と
する。
ムとランユニットプログラムとの対応を管理するプログ
ラム管理方法において、ランユニットプログラムを読み
込んで、ランユニットプログラム中に含まれるオブジェ
クト情報を抽出し、調査対象となるオブジェクトプログ
ラムのオブジェクト情報と比較し、前記ランユニットプ
ログラムが前記調査対象となるオブジェクトプログラム
からリンクされたものかどうかを判定することを特徴と
する。
【0019】この発明は、ソースプログラム、オブジェ
クトプログラム、ランユニットプログラム本体のみの情
報から、それらが同一ソースプログラムからの生成物と
して関連付けられるかどうかを一意的に判定することが
できる。
クトプログラム、ランユニットプログラム本体のみの情
報から、それらが同一ソースプログラムからの生成物と
して関連付けられるかどうかを一意的に判定することが
できる。
【0020】
【発明の実施の形態】次に、この発明のプログラム管理
方法の実施の形態について図面を参照して説明する。
方法の実施の形態について図面を参照して説明する。
【0021】図1は、この発明の実施の形態であり、ソ
ースプログラムとオブジェクトプログラムとの関連付け
を特定する処理手順を説明する図である。
ースプログラムとオブジェクトプログラムとの関連付け
を特定する処理手順を説明する図である。
【0022】上記プログラムを関連付けを特定するため
の判定方法の概要としては、ソースプログラム11をコ
ンパイルした結果のオブジェクトプログラム12と、オ
ブジェクトプログラム21とを比較し、それらが同一ソ
ースプログラム11の生成物であることを証明する。
の判定方法の概要としては、ソースプログラム11をコ
ンパイルした結果のオブジェクトプログラム12と、オ
ブジェクトプログラム21とを比較し、それらが同一ソ
ースプログラム11の生成物であることを証明する。
【0023】コンパイラの種類、コンパイルオプショ
ン、コンパイラバージョンによって、同一ソースプログ
ラムからでも生成されるオブジェクトは異なり、単に比
較できないので、これらコンパイル情報30をオブジェ
クトプログラム21からコンパイル前に抽出しておき、
その情報に従ってコンパイル実施後に出力されたオブジ
ェクトプログラム12と比較する。
ン、コンパイラバージョンによって、同一ソースプログ
ラムからでも生成されるオブジェクトは異なり、単に比
較できないので、これらコンパイル情報30をオブジェ
クトプログラム21からコンパイル前に抽出しておき、
その情報に従ってコンパイル実施後に出力されたオブジ
ェクトプログラム12と比較する。
【0024】これらコンパイル情報30は、コンパイラ
提供メーカーがコンパイラに関してのエラーが発生した
場合に対応するためや、オブジェクトをライブラリ管理
する必要上、一般的にオブジェクト中に情報として保持
されている。
提供メーカーがコンパイラに関してのエラーが発生した
場合に対応するためや、オブジェクトをライブラリ管理
する必要上、一般的にオブジェクト中に情報として保持
されている。
【0025】次に、オブジェクトプログラム21と、コ
ンパイルしてできたオブジェクトプログラム12とを各
々ダンプ編集出力し、その編集データをレコード単位に
比較し、相違のあるレコードを出力する。比較の結果、
コンパイル日時だけが異なれば、オブジェクトは一致し
たと見なせ、これにより、オブジェクトプログラム21
は、ソースプログラム11をコンパイルしたオブジェク
トであると判定できる。
ンパイルしてできたオブジェクトプログラム12とを各
々ダンプ編集出力し、その編集データをレコード単位に
比較し、相違のあるレコードを出力する。比較の結果、
コンパイル日時だけが異なれば、オブジェクトは一致し
たと見なせ、これにより、オブジェクトプログラム21
は、ソースプログラム11をコンパイルしたオブジェク
トであると判定できる。
【0026】次に、この発明の実施の形態の処理動作を
図1および図2を参照して詳細に説明する。図2は、オ
ブジェクトプログラムからコンパイル情報を抽出する処
理手順を説明する図である。
図1および図2を参照して詳細に説明する。図2は、オ
ブジェクトプログラムからコンパイル情報を抽出する処
理手順を説明する図である。
【0027】まず、オブジェクトプログラムからコンパ
イル情報を抽出する手順を説明する。図2において、ス
テップ201〜207の処理手順を介して、オブジェク
トプログラム21を入力として、オブジェクトプログラ
ム中のオブジェクトプログラム名、コンパイラ名、コン
パイラバージョン、コンパイル日時情報を抽出し、ま
た、コンパイルオプション情報については、メモリ中の
コンパイルオプションテーブル42とオブジェクトプロ
グラム中のコンパイルオプションに相当するデータを突
き合わせて、利用者が見て指定できるコンパイラに対す
るコンパイルオプションとして、コンパイル情報23を
コンパイル情報抽出ファイル25に出力する。
イル情報を抽出する手順を説明する。図2において、ス
テップ201〜207の処理手順を介して、オブジェク
トプログラム21を入力として、オブジェクトプログラ
ム中のオブジェクトプログラム名、コンパイラ名、コン
パイラバージョン、コンパイル日時情報を抽出し、ま
た、コンパイルオプション情報については、メモリ中の
コンパイルオプションテーブル42とオブジェクトプロ
グラム中のコンパイルオプションに相当するデータを突
き合わせて、利用者が見て指定できるコンパイラに対す
るコンパイルオプションとして、コンパイル情報23を
コンパイル情報抽出ファイル25に出力する。
【0028】図2で示した処理手順の目的は、コンパイ
ラの種類、コンパイラオプション、コンパイラバージョ
ンの相違によって出力されるオブジェクトが命令もオブ
ジェクトサイズも異なるため、これらコンパイル情報を
明確にすることである。
ラの種類、コンパイラオプション、コンパイラバージョ
ンの相違によって出力されるオブジェクトが命令もオブ
ジェクトサイズも異なるため、これらコンパイル情報を
明確にすることである。
【0029】オブジェクトプログラム上のこれらコンパ
イル情報を明確にした上で、ソ−スプログラムからオブ
ジェクトプログラムを生成し、他オブジェクトプログラ
ムとの比較に用いることが必要である。
イル情報を明確にした上で、ソ−スプログラムからオブ
ジェクトプログラムを生成し、他オブジェクトプログラ
ムとの比較に用いることが必要である。
【0030】次に、図1のステップ101、ステップ1
02の処理手順について説明する。
02の処理手順について説明する。
【0031】ソースプログラム11を入力として、図2
の処理手順で得られたコンパイル情報23のうち、コン
パイラ名、コンパイラバージョン、コンパイルオプショ
ンに従って、該当するコンパイル(ステップ101)を
実行し、オブジェクトプログラム12を出力する。それ
をオブジェクトプログラムダンプ処理(ステップ10
2)でオブジェクトプログラムダンプファイル13に編
集出力する。
の処理手順で得られたコンパイル情報23のうち、コン
パイラ名、コンパイラバージョン、コンパイルオプショ
ンに従って、該当するコンパイル(ステップ101)を
実行し、オブジェクトプログラム12を出力する。それ
をオブジェクトプログラムダンプ処理(ステップ10
2)でオブジェクトプログラムダンプファイル13に編
集出力する。
【0032】オブジェクトプログラムダンプ処理では、
オブジェクトプログラムをデータ部とコード部に分け
て、使用セグメント名情報を編集付加してシーケンシャ
ルファイルに出力する。
オブジェクトプログラムをデータ部とコード部に分け
て、使用セグメント名情報を編集付加してシーケンシャ
ルファイルに出力する。
【0033】オブジェクトプログラム同士を直接比較せ
ず、オブジェクトプログラムダンプ処理でシーケンシャ
ルファイルに編集出力したもの同士を比較する理由は、
相違するデータがあった場合に、利用者が比較して見や
すくするためである。
ず、オブジェクトプログラムダンプ処理でシーケンシャ
ルファイルに編集出力したもの同士を比較する理由は、
相違するデータがあった場合に、利用者が比較して見や
すくするためである。
【0034】次に、図1のステップ103の処理手順に
ついて説明する。
ついて説明する。
【0035】オブジェクトプログラム21に対してオブ
ジェクトプログラムダンプ処理(ステップ103)を実
行し、オブジェクトプログラムダンプファイル22を作
成する。
ジェクトプログラムダンプ処理(ステップ103)を実
行し、オブジェクトプログラムダンプファイル22を作
成する。
【0036】このステップ101〜103の処理手順で
できた2つの、ダンプファイル13とダンプファイル2
2をステップ104でシーケンシャルにレコード単位で
比較し、一致しないレコードについては、2つのオブジ
ェクトプログラムダンプのレコードイメージを比較する
ため並べてリスト出力する。このステップ104の処理
では、コンパイル日時は一致しないので、それ以外のデ
ータが一致すれば、オブジェクトプログラム21の元ソ
ースプログラムがソースプログラム11であることが判
定できたことになる。
できた2つの、ダンプファイル13とダンプファイル2
2をステップ104でシーケンシャルにレコード単位で
比較し、一致しないレコードについては、2つのオブジ
ェクトプログラムダンプのレコードイメージを比較する
ため並べてリスト出力する。このステップ104の処理
では、コンパイル日時は一致しないので、それ以外のデ
ータが一致すれば、オブジェクトプログラム21の元ソ
ースプログラムがソースプログラム11であることが判
定できたことになる。
【0037】次に、ランユニットプログラムがオブジェ
クトプログラムからの生成物であるかどうかを判定する
処理手順を説明する。図3は、ランユニットプログラム
とオブジェクトプログラムとの関連付けを特定する処理
手順を説明する図である。
クトプログラムからの生成物であるかどうかを判定する
処理手順を説明する。図3は、ランユニットプログラム
とオブジェクトプログラムとの関連付けを特定する処理
手順を説明する図である。
【0038】上記プログラムを関連付けを特定するため
の判定方法の概要としては、ランユニットプログラム3
1中には、オブジェクトプログラムのオブジェクトイメ
ージがリンク時に取り込まれているので、そのオブジェ
クトに含まれるオブジェクト情報であるオブジェクトプ
ログラム名とコンパイル日時を、調査対象のオブジェク
トプログラム32内のオブジェクト情報と比較し、一致
すれば、ランユニットプログラム31は、オブジェクト
プログラム32からリンクしてできた生成物であると判
定する。
の判定方法の概要としては、ランユニットプログラム3
1中には、オブジェクトプログラムのオブジェクトイメ
ージがリンク時に取り込まれているので、そのオブジェ
クトに含まれるオブジェクト情報であるオブジェクトプ
ログラム名とコンパイル日時を、調査対象のオブジェク
トプログラム32内のオブジェクト情報と比較し、一致
すれば、ランユニットプログラム31は、オブジェクト
プログラム32からリンクしてできた生成物であると判
定する。
【0039】図3のステップ301〜304は、ランユ
ニットプログラム31のリンク前の元オブジェクトプロ
グラムがオブジェクトプログラム32であるかどうかを
確認するための処理手順である。この処理手順の目的
は、オブジェクトプログラムが複数あってどれがマスタ
ーであるか決められない場合、後でオブジェクトプログ
ラムとソースプログラムの突き合わせを行うこともでき
なくなるので、本番システム上で稼働しているランユニ
ットプログラムを基準にしてオブジェクトプログラムを
特定することである。
ニットプログラム31のリンク前の元オブジェクトプロ
グラムがオブジェクトプログラム32であるかどうかを
確認するための処理手順である。この処理手順の目的
は、オブジェクトプログラムが複数あってどれがマスタ
ーであるか決められない場合、後でオブジェクトプログ
ラムとソースプログラムの突き合わせを行うこともでき
なくなるので、本番システム上で稼働しているランユニ
ットプログラムを基準にしてオブジェクトプログラムを
特定することである。
【0040】ステップ301により、ランユニットプロ
グラム31を入力として、ランユニットプログラム中に
含まれるオブジェクトプログラム名、コンパイル日時を
抽出する。
グラム31を入力として、ランユニットプログラム中に
含まれるオブジェクトプログラム名、コンパイル日時を
抽出する。
【0041】次に、オブジェクトプログラム32にコン
パイル情報抽出処理を実施し(ステップ302)、オブ
ジェクトプログラム中に含まれるオブジェクトプログラ
ム名とコンパイル日時を抽出する。
パイル情報抽出処理を実施し(ステップ302)、オブ
ジェクトプログラム中に含まれるオブジェクトプログラ
ム名とコンパイル日時を抽出する。
【0042】この2つのオブジェクトプログラム名、コ
ンパイル日時を読み込み(ステップ303)、オブジェ
クトプログラム名、コンパイル日時が一致しているかど
うかをステップ304で比較し、一致すれば、ランユニ
ットプログラム31は、オブジェクトプログラム32の
リンク前の元オブジェクトプログラムであると判定でき
る。
ンパイル日時を読み込み(ステップ303)、オブジェ
クトプログラム名、コンパイル日時が一致しているかど
うかをステップ304で比較し、一致すれば、ランユニ
ットプログラム31は、オブジェクトプログラム32の
リンク前の元オブジェクトプログラムであると判定でき
る。
【0043】また、一致しなければ、ランユニットプロ
グラム中のオブジェクトプログラム名、コンパイル日
時、オブジェクトプログラムのオブジェクトプログラム
名、コンパイル日時を出力し、利用者の参考情報とす
る。
グラム中のオブジェクトプログラム名、コンパイル日
時、オブジェクトプログラムのオブジェクトプログラム
名、コンパイル日時を出力し、利用者の参考情報とす
る。
【0044】
【発明の効果】以上説明したように、この発明は、ソー
スプログラムとオブジェクトプログラムとランユニット
プログラムの関連付けを、それらの管理情報が消えてし
まっていても完全に保証することができる。これによっ
て、プログラム開発環境を整理することができるので、
誤ったソースプログラムやオブジェクトプログラムを使
用して開発を進めたためのトラブルが発生することが無
くなる。
スプログラムとオブジェクトプログラムとランユニット
プログラムの関連付けを、それらの管理情報が消えてし
まっていても完全に保証することができる。これによっ
て、プログラム開発環境を整理することができるので、
誤ったソースプログラムやオブジェクトプログラムを使
用して開発を進めたためのトラブルが発生することが無
くなる。
【0045】例えば、ランユニットプログラムは1つだ
けで、オブジェクトプログラムやソースプログラムが複
数存在し、どれがランユニットプログラムに対する元オ
ブジェクトプログラム、元ソースプログラムであるか分
からない場合にこの方法を用いれば、ランユニットプロ
グラムからオブジェクトプログラムが特定され、そのオ
ブジェクトプログラムからソースプログラムが特定でき
る。
けで、オブジェクトプログラムやソースプログラムが複
数存在し、どれがランユニットプログラムに対する元オ
ブジェクトプログラム、元ソースプログラムであるか分
からない場合にこの方法を用いれば、ランユニットプロ
グラムからオブジェクトプログラムが特定され、そのオ
ブジェクトプログラムからソースプログラムが特定でき
る。
【0046】2000年問題など過去の既存資産を大規
模に見直す状況が発生して、10〜30年前のプログラ
ム資産で、現在ではソースプログラム、オブジェクトプ
ログラム、ランユニットプログラムの対応付けができな
くなったプログラムが多々ある場合などに、その整理作
業や開発作業の大幅な工数低減を図ることができる。
模に見直す状況が発生して、10〜30年前のプログラ
ム資産で、現在ではソースプログラム、オブジェクトプ
ログラム、ランユニットプログラムの対応付けができな
くなったプログラムが多々ある場合などに、その整理作
業や開発作業の大幅な工数低減を図ることができる。
【0047】また、管理情報のない既存資産の開発環境
を整理できるため、これまでソースプログラム、オブジ
ェクトプログラム、ランユニットプログラム間の関連付
けが取れなかったため、(ディクショナリ管理)を適用
できなかったプログラムに対して、(ディクショナリ管
理)を適用できるようになるため、今後のプログラム資
産管理を容易にすることが可能になる。
を整理できるため、これまでソースプログラム、オブジ
ェクトプログラム、ランユニットプログラム間の関連付
けが取れなかったため、(ディクショナリ管理)を適用
できなかったプログラムに対して、(ディクショナリ管
理)を適用できるようになるため、今後のプログラム資
産管理を容易にすることが可能になる。
【図1】ソースプログラムとオブジェクトプログラムと
の関連付けを特定する処理手順を説明する図である。
の関連付けを特定する処理手順を説明する図である。
【図2】オブジェクトプログラムからコンパイル情報を
抽出する処理手順を説明する図である。
抽出する処理手順を説明する図である。
【図3】ランユニットプログラムとオブジェクトプログ
ラムとの関連付けを特定する処理手順を説明する図であ
る。
ラムとの関連付けを特定する処理手順を説明する図であ
る。
11 ソースプログラム 12,21,32 オブジェクトプログラム 13,22 オブジェクトプログラムダンプファイル 23 コンパイル情報 24 コンパイルオプションテーブル 25 コンパイル情報抽出ファイル 31 ランユニットプログラム 101〜104,201〜207,301〜304 処
理ステップ
理ステップ
Claims (6)
- 【請求項1】ソースプログラムとオブジェクトプログラ
ムとの対応を管理するプログラム管理方法において、 調査対象のオブジェクトプログラムから抽出したコンパ
イル情報に従ってソースプログラムをコンパイルし、コ
ンパイルして得られた出力結果のオブジェクトプログラ
ムと、前記調査対象のオブジェクトプログラムとを比較
して、調査対象のオブジェクトプログラムが前記ソース
プログラムからコンパイルされたものかどうかを判定す
ることを特徴とするプログラム管理方法。 - 【請求項2】前記コンパイル情報は、オブジェクトプロ
グラム名、コンパイラ名、コンパイルオプション、コン
パイラバージョン、コンパイル日時であることを特徴と
する請求項1に記載のプログラム管理方法。 - 【請求項3】前記調査対象のオブジェクトプログラムと
前記ソースプログラムをコンパイルして出力されたオブ
ジェクトプログラムをそれぞれダンプファイルに編集出
力し、ダンプファイル同士を比較することを特徴とする
請求項1または2に記載のプログラム管理方法。 - 【請求項4】前記ダンプファイル同士をシーケンシャル
にレコード単位に比較することを特徴とする請求項3に
記載のプログラム管理方法。 - 【請求項5】オブジェクトプログラムとランユニットプ
ログラムとの対応を管理するプログラム管理方法におい
て、 ランユニットプログラムを読み込んで、ランユニットプ
ログラム中に含まれるオブジェクト情報を抽出し、調査
対象となるオブジェクトプログラムのオブジェクト情報
と比較し、前記ランユニットプログラムが前記調査対象
となるオブジェクトプログラムからリンクされたものか
どうかを判定することを特徴とするプログラム管理方
法。 - 【請求項6】前記オブジェクト情報は、オブジェクトプ
ログラム名、コンパイル日時であることを特徴とする請
求項5に記載のプログラム管理方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11169426A JP2000357097A (ja) | 1999-06-16 | 1999-06-16 | プログラム管理方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11169426A JP2000357097A (ja) | 1999-06-16 | 1999-06-16 | プログラム管理方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2000357097A true JP2000357097A (ja) | 2000-12-26 |
Family
ID=15886383
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP11169426A Pending JP2000357097A (ja) | 1999-06-16 | 1999-06-16 | プログラム管理方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2000357097A (ja) |
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6983457B2 (en) * | 2000-10-25 | 2006-01-03 | Hitachi, Ltd. | Compile method for storing source code within object code |
| JP2006350840A (ja) * | 2005-06-17 | 2006-12-28 | Fujitsu Ltd | 構成管理プログラム、開発処理プログラム、該プログラムを記録した記録媒体、構成管理装置、開発処理端末、構成管理方法、および開発処理方法 |
| JP2008033916A (ja) * | 2006-06-27 | 2008-02-14 | Omron Corp | プログラマブル・コントローラ |
| US20150248288A1 (en) * | 2014-02-28 | 2015-09-03 | Red Hat, Inc. | Compiled file normalization |
| JP2018032082A (ja) * | 2016-08-22 | 2018-03-01 | 富士通株式会社 | プログラム生成プログラム、プログラム生成方法、プログラム生成装置及びコンパイルプログラム |
| JP2022156575A (ja) * | 2021-03-31 | 2022-10-14 | 富士通株式会社 | 解析プログラム、解析方法、および情報処理装置 |
-
1999
- 1999-06-16 JP JP11169426A patent/JP2000357097A/ja active Pending
Cited By (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6983457B2 (en) * | 2000-10-25 | 2006-01-03 | Hitachi, Ltd. | Compile method for storing source code within object code |
| JP2006350840A (ja) * | 2005-06-17 | 2006-12-28 | Fujitsu Ltd | 構成管理プログラム、開発処理プログラム、該プログラムを記録した記録媒体、構成管理装置、開発処理端末、構成管理方法、および開発処理方法 |
| JP2008033916A (ja) * | 2006-06-27 | 2008-02-14 | Omron Corp | プログラマブル・コントローラ |
| US20150248288A1 (en) * | 2014-02-28 | 2015-09-03 | Red Hat, Inc. | Compiled file normalization |
| US10409572B2 (en) * | 2014-02-28 | 2019-09-10 | Red Hat, Inc. | Compiled file normalization |
| JP2018032082A (ja) * | 2016-08-22 | 2018-03-01 | 富士通株式会社 | プログラム生成プログラム、プログラム生成方法、プログラム生成装置及びコンパイルプログラム |
| JP2022156575A (ja) * | 2021-03-31 | 2022-10-14 | 富士通株式会社 | 解析プログラム、解析方法、および情報処理装置 |
| JP7614500B2 (ja) | 2021-03-31 | 2025-01-16 | 富士通株式会社 | 解析プログラム、解析方法、および情報処理装置 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| RU2210803C2 (ru) | Компьютерное устройство для выполнения прикладных программ | |
| Bousse et al. | Advanced and efficient execution trace management for executable domain-specific modeling languages | |
| Bittner et al. | Feature trace recording | |
| CN114139923A (zh) | 任务关联性分析方法、装置及计算机可读存储介质 | |
| US20060117075A1 (en) | Prerequisite, dependent and atomic deltas | |
| JPH11249875A (ja) | プログラミング支援方法及びその装置 | |
| Wittler et al. | Evaluating Model Differencing for the Consistency Preservation of State-based Views. | |
| CN114924978A (zh) | 基于人工智能的多分支增量检查方法及相关设备 | |
| US9396239B2 (en) | Compiling method, storage medium and compiling apparatus | |
| JP2000357097A (ja) | プログラム管理方法 | |
| JP2830354B2 (ja) | 同値データ項目検出方法 | |
| Hlad et al. | IsiSPL: Toward an automated reactive approach to build software product lines | |
| CN118193382B (zh) | 应用程序的测试方法、装置、设备、存储介质及程序产品 | |
| JP2004252719A (ja) | データ管理装置及びデータ管理方法及びデータ管理プログラム | |
| AU760395B2 (en) | Program reproducing method and device, and medium on which program for program reproduction recording | |
| JP7770613B2 (ja) | トレーサビリティ情報抽出装置およびトレーサビリティ情報検証装置 | |
| JP4484148B2 (ja) | Si対象ファイルおよびsi関連ファイル管理システム | |
| US5862380A (en) | Test method for revised data fields in a program | |
| JPH1153391A (ja) | データベースアクセス方法 | |
| JP4483163B2 (ja) | プログラムテストデバッグ装置 | |
| JPH09218789A (ja) | 分割コンパイル方式 | |
| CN119829403A (zh) | 一种软件代码的流水线检测方法、系统、存储介质及程序产品 | |
| CN117453189B (zh) | 一种应用分层开发的方法、系统、设备及介质 | |
| JPH0981371A (ja) | ソースコード自動バージョンアップ方法及び装置 | |
| Kodhai et al. | Method-level incremental code clone detection using hybrid approach |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20040120 |