JPH1165837A - 外部ファイルデータのデータ例外検出方法及び外部ファイルデータのデータ例外検出プログラムを記録した記録媒体 - Google Patents
外部ファイルデータのデータ例外検出方法及び外部ファイルデータのデータ例外検出プログラムを記録した記録媒体Info
- Publication number
- JPH1165837A JPH1165837A JP9231060A JP23106097A JPH1165837A JP H1165837 A JPH1165837 A JP H1165837A JP 9231060 A JP9231060 A JP 9231060A JP 23106097 A JP23106097 A JP 23106097A JP H1165837 A JPH1165837 A JP H1165837A
- Authority
- JP
- Japan
- Prior art keywords
- data
- file
- data exception
- external file
- external
- 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.)
- Withdrawn
Links
Landscapes
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
(57)【要約】
【課題】 アプリケーションが書き込まれたデータを使
用することによる誤動作及びデータ例外による予期せぬ
アプリケーションエラーまたはシステムエラーを避ける
ことができ、かつ、不正データの派生を未然に防ぐこと
のできる外部ファイルデータのデータ例外検出方法を提
供する。 【解決手段】 外部ファイルデータのデータ例外検出方
法は、外部ファイルへの書き込み時の直前または読み込
み時の直後に、対象とされるアプリケーションプログラ
ムソースから外部ファイルのファイル記述項内でデータ
例外を引き起こす要因を抽出し、データ例外を引き起こ
す要因を抽出したときには、アプリケーションプログラ
ムをコンパイルするプリコンパイラによりデータ例外検
出のためのコードを挿入し、挿入したコードを基にアプ
リケーションプログラムを実行する際に外部ファイルと
の不正なアクセスを排除する。
用することによる誤動作及びデータ例外による予期せぬ
アプリケーションエラーまたはシステムエラーを避ける
ことができ、かつ、不正データの派生を未然に防ぐこと
のできる外部ファイルデータのデータ例外検出方法を提
供する。 【解決手段】 外部ファイルデータのデータ例外検出方
法は、外部ファイルへの書き込み時の直前または読み込
み時の直後に、対象とされるアプリケーションプログラ
ムソースから外部ファイルのファイル記述項内でデータ
例外を引き起こす要因を抽出し、データ例外を引き起こ
す要因を抽出したときには、アプリケーションプログラ
ムをコンパイルするプリコンパイラによりデータ例外検
出のためのコードを挿入し、挿入したコードを基にアプ
リケーションプログラムを実行する際に外部ファイルと
の不正なアクセスを排除する。
Description
【0001】
【発明の属する技術分野】本発明は、外部ファイルデー
タのデータ例外検出方法及び外部ファイルデータのデー
タ例外検出プログラムを記録した記録媒体に係り、詳細
には、例えばCOBOLアプリケーションプログラムに
おける外部ファイルデータのデータ例外検出方法及び外
部ファイルデータのデータ例外検出プログラムを記録し
た記録媒体に関する。
タのデータ例外検出方法及び外部ファイルデータのデー
タ例外検出プログラムを記録した記録媒体に係り、詳細
には、例えばCOBOLアプリケーションプログラムに
おける外部ファイルデータのデータ例外検出方法及び外
部ファイルデータのデータ例外検出プログラムを記録し
た記録媒体に関する。
【0002】
【従来の技術】COBOLのデータ構造の階層は、デー
タ項目−集団項目−レコード−ファイルであり、ファイ
ルには順ファイル、相対ファイル、索引ファイルがあ
る。
タ項目−集団項目−レコード−ファイルであり、ファイ
ルには順ファイル、相対ファイル、索引ファイルがあ
る。
【0003】一般に、従来のCOBOLアプリケーショ
ンプログラムにおけるデータ例外検出方法は、個々の命
令文(転記、比較、算術式、添字計算、部分参照計算)
において、データ例外検出(データ型チェック、桁数チ
ェック)のための命令文を対象のCOBOLプログラム
ソースに埋め込むものであった。
ンプログラムにおけるデータ例外検出方法は、個々の命
令文(転記、比較、算術式、添字計算、部分参照計算)
において、データ例外検出(データ型チェック、桁数チ
ェック)のための命令文を対象のCOBOLプログラム
ソースに埋め込むものであった。
【0004】図4は上記一般的なデータ例外検出に係る
個々の命令例を示す図であり、個々の命令文には、例え
ば転記、比較、算術式、添字計算、部分参照計算があ
る。
個々の命令例を示す図であり、個々の命令文には、例え
ば転記、比較、算術式、添字計算、部分参照計算があ
る。
【0005】COBOLアプリケーションプログラムに
おける外部ファイルデータのデータ例外検出方法は、図
4のような個々の命令文において、データ例外検出のた
めの命令文を対象のCOBOLプログラムソースに埋め
込むことによって行っている。
おける外部ファイルデータのデータ例外検出方法は、図
4のような個々の命令文において、データ例外検出のた
めの命令文を対象のCOBOLプログラムソースに埋め
込むことによって行っている。
【0006】また、外部ファイルデータのデータ例外検
出のために、プログラムパターンや部品等を使用して実
現していた。これを一般にプログラム合成という。この
場合には、人間によって指示がされ、合成されたCOB
OLアプリケーションプログラム内の基本目名等の名称
は機械的な命名規則が適用されていた。
出のために、プログラムパターンや部品等を使用して実
現していた。これを一般にプログラム合成という。この
場合には、人間によって指示がされ、合成されたCOB
OLアプリケーションプログラム内の基本目名等の名称
は機械的な命名規則が適用されていた。
【0007】
【発明が解決しようとする課題】しかしながらこのよう
な従来のCOBOLアプリケーションプログラムにおけ
る外部ファイルデータのデータ例外検出方法では、自動
的にはCOBOL特有な外部ファイル(主にCOBOL
ファイルとされる、順編成ファイル、相対編成ファイ
ル、索引編成ファイルを指す)にデータを入出力する場
合、そのデータの入出力時にはデータ例外は検出でき
ず、そのデータを使用(参照)し、かつ上記の方法の個
々の命令時に初めてデータ例外とわかる。
な従来のCOBOLアプリケーションプログラムにおけ
る外部ファイルデータのデータ例外検出方法では、自動
的にはCOBOL特有な外部ファイル(主にCOBOL
ファイルとされる、順編成ファイル、相対編成ファイ
ル、索引編成ファイルを指す)にデータを入出力する場
合、そのデータの入出力時にはデータ例外は検出でき
ず、そのデータを使用(参照)し、かつ上記の方法の個
々の命令時に初めてデータ例外とわかる。
【0008】また、入出力してからデータ例外となる間
のプログラムステップでこれらデータ例外のもととなる
基本項目を含むファイル記述項を集団転記され、他の外
部ファイルに入出力されると、データ例外が派生する問
題があった。
のプログラムステップでこれらデータ例外のもととなる
基本項目を含むファイル記述項を集団転記され、他の外
部ファイルに入出力されると、データ例外が派生する問
題があった。
【0009】さらに、基本項目名等のデータ名がプログ
ラム合成の手段では、本来、適切な名称で命名されるべ
きであるが、自動化するあまり不自然な命名規則が適用
されていた。
ラム合成の手段では、本来、適切な名称で命名されるべ
きであるが、自動化するあまり不自然な命名規則が適用
されていた。
【0010】本発明は、アプリケーションが書き込まれ
たデータを使用することによる誤動作及びデータ例外に
よる予期せぬアプリケーションエラーまたはシステムエ
ラーを避けることができ、かつ、不正データの派生を未
然に防ぐことのできる外部ファイルデータのデータ例外
検出方法を提供することを目的とする。
たデータを使用することによる誤動作及びデータ例外に
よる予期せぬアプリケーションエラーまたはシステムエ
ラーを避けることができ、かつ、不正データの派生を未
然に防ぐことのできる外部ファイルデータのデータ例外
検出方法を提供することを目的とする。
【0011】
【課題を解決するための手段】本発明に係る外部ファイ
ルデータのデータ例外検出方法は、アプリケーションプ
ログラムの外部ファイルデータによるデータ例外検出方
法であって、外部ファイルへの書き込み時の直前または
読み込み時の直後に、対象とされるアプリケーションプ
ログラムソースから外部ファイルのファイル記述項内で
データ例外を引き起こす要因を抽出し、データ例外を引
き起こす要因を抽出したときには、アプリケーションプ
ログラムをコンパイルする手段によりデータ例外検出の
ためのコードを挿入し、挿入したコードを基にアプリケ
ーションプログラムを実行する際に外部ファイルとの不
正なアクセスを排除することを特徴とする。
ルデータのデータ例外検出方法は、アプリケーションプ
ログラムの外部ファイルデータによるデータ例外検出方
法であって、外部ファイルへの書き込み時の直前または
読み込み時の直後に、対象とされるアプリケーションプ
ログラムソースから外部ファイルのファイル記述項内で
データ例外を引き起こす要因を抽出し、データ例外を引
き起こす要因を抽出したときには、アプリケーションプ
ログラムをコンパイルする手段によりデータ例外検出の
ためのコードを挿入し、挿入したコードを基にアプリケ
ーションプログラムを実行する際に外部ファイルとの不
正なアクセスを排除することを特徴とする。
【0012】上記データ例外を引き起こす要因の抽出
は、ファイル記述項が入出力される直前直後の該ファイ
ル記述項内のデータ型チェックにより行うものであって
もよく、また、上記データ例外を引き起こす要因の抽出
は、ファイル記述項とそのファイル名を組としてファイ
ル記述項内の基本項目テーブルを作成し、基本項目テー
ブルにより、ファイル記述項が入出力される直前直後の
該ファイル記述項内のデータの型チェックを行うもので
あってもよい。
は、ファイル記述項が入出力される直前直後の該ファイ
ル記述項内のデータ型チェックにより行うものであって
もよく、また、上記データ例外を引き起こす要因の抽出
は、ファイル記述項とそのファイル名を組としてファイ
ル記述項内の基本項目テーブルを作成し、基本項目テー
ブルにより、ファイル記述項が入出力される直前直後の
該ファイル記述項内のデータの型チェックを行うもので
あってもよい。
【0013】上記ファイル記述項は、ファイル記述項内
の基本項目名、相対バイト位置、データ型、長さ、また
は正負可否の少なくとも何れか1つ以上のデータを有す
るものであってもよい。
の基本項目名、相対バイト位置、データ型、長さ、また
は正負可否の少なくとも何れか1つ以上のデータを有す
るものであってもよい。
【0014】上記外部ファイルとの不正なアクセスの排
除は、外部ファイルへの不正なアクセスの排除であり、
アプリケーションが書き込まれた不正データを使用する
ことによる誤動作及びデータ例外による予期せぬアプリ
ケーションエラーまたはシステムエラーを避けるととも
に、不正データの派生を未然に防ぐようにしたものであ
ってもよい。
除は、外部ファイルへの不正なアクセスの排除であり、
アプリケーションが書き込まれた不正データを使用する
ことによる誤動作及びデータ例外による予期せぬアプリ
ケーションエラーまたはシステムエラーを避けるととも
に、不正データの派生を未然に防ぐようにしたものであ
ってもよい。
【0015】また、上記外部ファイルとの不正なアクセ
スの排除は、外部ファイルからアプリケーション内への
不正なデータの進入排除であり、プログラムステップで
の誤動作及びデータ例外による予期せぬアプリケーショ
ンエラーまたはシステムエラーを避けるものであっても
よい。
スの排除は、外部ファイルからアプリケーション内への
不正なデータの進入排除であり、プログラムステップで
の誤動作及びデータ例外による予期せぬアプリケーショ
ンエラーまたはシステムエラーを避けるものであっても
よい。
【0016】上記アプリケーションプログラムは、CO
BOLアプリケーションプログラムであってもよい。
BOLアプリケーションプログラムであってもよい。
【0017】本発明に係る外部ファイルデータのデータ
例外検出プログラムを記録した記録媒体は、外部ファイ
ルへの書き込み時の直前または読み込み時の直後に、対
象とされるアプリケーションプログラムソースから外部
ファイルのファイル記述項内でデータ例外を引き起こす
要因を抽出する手順と、データ例外を引き起こす要因を
抽出したときには、アプリケーションプログラムをコン
パイルする手段によりデータ例外検出のためのコードを
挿入する手順と、挿入したコードを基にアプリケーショ
ンプログラムを実行する際に外部ファイルとの不正なア
クセスを排除する手順とをコンピュータに実行させるプ
ログラムを記録したコンピュータ読み取り可能な記録媒
体であることを特徴とする。
例外検出プログラムを記録した記録媒体は、外部ファイ
ルへの書き込み時の直前または読み込み時の直後に、対
象とされるアプリケーションプログラムソースから外部
ファイルのファイル記述項内でデータ例外を引き起こす
要因を抽出する手順と、データ例外を引き起こす要因を
抽出したときには、アプリケーションプログラムをコン
パイルする手段によりデータ例外検出のためのコードを
挿入する手順と、挿入したコードを基にアプリケーショ
ンプログラムを実行する際に外部ファイルとの不正なア
クセスを排除する手順とをコンピュータに実行させるプ
ログラムを記録したコンピュータ読み取り可能な記録媒
体であることを特徴とする。
【0018】
【発明の実施の形態】本発明に係る外部ファイルデータ
のデータ例外検出方法は、COBOLアプリケーション
プログラムにおける外部ファイルデータのデータ例外検
出方法に適用することができる。
のデータ例外検出方法は、COBOLアプリケーション
プログラムにおける外部ファイルデータのデータ例外検
出方法に適用することができる。
【0019】図1は本発明の実施形態に係るCOBOL
アプリケーションソースプログラムを示す図である。
アプリケーションソースプログラムを示す図である。
【0020】まず、COBOLアプリケーションプログ
ラムソースから、データ例外検出の対象となる入出力命
令を抽出する。
ラムソースから、データ例外検出の対象となる入出力命
令を抽出する。
【0021】例えば、図1に示すPROCEDURE
DIVISIONにおいて、1(OPEN)、2(WR
ITE)、3(REWRITE)、4(READ)、5
(DELETE)、6(START)、7(CLOS
E)の各入出力命令を抽出する。
DIVISIONにおいて、1(OPEN)、2(WR
ITE)、3(REWRITE)、4(READ)、5
(DELETE)、6(START)、7(CLOS
E)の各入出力命令を抽出する。
【0022】入出力命令が抽出されれば、この抽出され
た入出力命令が本方法の対象となるCOBOLアプリケ
ーションプログラムである。この場合、COPYファイ
ルを含んでいる時は、そのCOPYファイルを展開した
ソースプログラムを対象とする。
た入出力命令が本方法の対象となるCOBOLアプリケ
ーションプログラムである。この場合、COPYファイ
ルを含んでいる時は、そのCOPYファイルを展開した
ソースプログラムを対象とする。
【0023】図2はDATA DIVISIONのファ
イル名「AFILE」とファイル記述項を示す図であ
り、図3はファイル記述項内の基本項目テーブルを示す
図である。
イル名「AFILE」とファイル記述項を示す図であ
り、図3はファイル記述項内の基本項目テーブルを示す
図である。
【0024】次に、本外部ファイルデータのデータ例外
検出方法のデータ例外検出のもとになる、ファイル記述
項(上記図2の11)とそのファイル名(上記図2の1
2)を組として図3のファイル記述項内の基本項目テー
ブルを作成する。
検出方法のデータ例外検出のもとになる、ファイル記述
項(上記図2の11)とそのファイル名(上記図2の1
2)を組として図3のファイル記述項内の基本項目テー
ブルを作成する。
【0025】基本項目テーブルからこのファイル記述項
内の基本項目は、相対1バイト目から5バイト目までが
データ型が英数字項目・長さ5バイト(基本項目名:I
TEM1)、相対6バイト目から9バイト目までがデー
タ型が二進項目・長さ4バイト(基本項目名:ITEM
2)、相対10バイト目から12バイト目までがデータ
型が内部十進項目・長さ3バイト(基本項目名:ΙTE
M3)、相対13バイト目から17バイト目までがデー
タ型が外部十進項目・長さ5バイト(基本項目名:IT
EΜ5)ということがわかる。
内の基本項目は、相対1バイト目から5バイト目までが
データ型が英数字項目・長さ5バイト(基本項目名:I
TEM1)、相対6バイト目から9バイト目までがデー
タ型が二進項目・長さ4バイト(基本項目名:ITEM
2)、相対10バイト目から12バイト目までがデータ
型が内部十進項目・長さ3バイト(基本項目名:ΙTE
M3)、相対13バイト目から17バイト目までがデー
タ型が外部十進項目・長さ5バイト(基本項目名:IT
EΜ5)ということがわかる。
【0026】これらのデータ型で、データ例外を引き起
こす要因があるのは、基本項目名ITEM1〜4のう
ち、ITEM2、ITEM3、ITEM4である。
こす要因があるのは、基本項目名ITEM1〜4のう
ち、ITEM2、ITEM3、ITEM4である。
【0027】そこで本発明は、これらのデータ型(二進
項目・外部十進項目・内部十進項目)を含むファイル記
述項が入出力される直前直後に、これらデータ型のそれ
ぞれの型チェックを行い、不当なデータを外部ファイル
及びCOBOLアプリケーション内に進入させないため
のコードを埋め込むことで、データ例外を検出する方法
を提供するものである。
項目・外部十進項目・内部十進項目)を含むファイル記
述項が入出力される直前直後に、これらデータ型のそれ
ぞれの型チェックを行い、不当なデータを外部ファイル
及びCOBOLアプリケーション内に進入させないため
のコードを埋め込むことで、データ例外を検出する方法
を提供するものである。
【0028】具体的には、上記図3のファイル記述項内
の基本項目テーブルの「チェック要否」が「要」となっ
ている基本項目を含むファイル記述項が入出力される
時、それらの入出力命令が、「WRITE」、「REW
RITE」の場合は直前に、「READ」の場合はその
直前に「チェック要否」が「要」となっている基本項目
に対して、データの型によるチェックを行う。
の基本項目テーブルの「チェック要否」が「要」となっ
ている基本項目を含むファイル記述項が入出力される
時、それらの入出力命令が、「WRITE」、「REW
RITE」の場合は直前に、「READ」の場合はその
直前に「チェック要否」が「要」となっている基本項目
に対して、データの型によるチェックを行う。
【0029】他の入出力命令(OPEN、DELET
E、START、CLOSE命令)では、決してデータ
例外は発生しないため、除外する。
E、START、CLOSE命令)では、決してデータ
例外は発生しないため、除外する。
【0030】以下、上述のように構成された外部ファイ
ルデータのデータ例外検出方法の動作を説明する。
ルデータのデータ例外検出方法の動作を説明する。
【0031】データ例外検出対象となった基本項目に対
して施されるデータ型のチェック方法は次のように行
う。
して施されるデータ型のチェック方法は次のように行
う。
【0032】そのデータ型にとって、 (1)あり得ない範囲のデータが存在するか(二進項目
はチェック対象外) (2)図3の「正負可否」が「可」の場合、正または負
を表す符号が存在するか (3)図3の「正負可否」が「否」の場合、 ・二進項目:チェック対象外 ・外部(内部)十進項目:対象とされるCOBOL処理
系が定めている「正の符号」または「絶対値の符号」以
外のデータが存在するか 以上、3つのチェックを行う。
はチェック対象外) (2)図3の「正負可否」が「可」の場合、正または負
を表す符号が存在するか (3)図3の「正負可否」が「否」の場合、 ・二進項目:チェック対象外 ・外部(内部)十進項目:対象とされるCOBOL処理
系が定めている「正の符号」または「絶対値の符号」以
外のデータが存在するか 以上、3つのチェックを行う。
【0033】まず、上記(1)のチェックについては、
外部十進項目・内部十進項目とも、符号部以外には16
進・4ビット値(以下同様)で0〜9(十進数換算)で
なければならない。外部十進項目の場合には、符号部以
外の他のバイトの上位4ビットは3でなければならな
い。それ以外のデータの場合はデータ例外を引き起こ
す。
外部十進項目・内部十進項目とも、符号部以外には16
進・4ビット値(以下同様)で0〜9(十進数換算)で
なければならない。外部十進項目の場合には、符号部以
外の他のバイトの上位4ビットは3でなければならな
い。それ以外のデータの場合はデータ例外を引き起こ
す。
【0034】次に、上記(2)のチェックについては、
符号部にそのCOBOLアプリケーションプログラムが
適用されるCOBOL処理系が定めている正または負を
示すデータが格納されていなければならない。例えば、
外部十進項目の例として、正の符号「3」、負の符号
「7」がある。それ以外のデータの場合はデータ例外を
引き起こす。
符号部にそのCOBOLアプリケーションプログラムが
適用されるCOBOL処理系が定めている正または負を
示すデータが格納されていなければならない。例えば、
外部十進項目の例として、正の符号「3」、負の符号
「7」がある。それ以外のデータの場合はデータ例外を
引き起こす。
【0035】最後に、上記(3)のチェックについて
は、外部(内部)十進項目の場合、符号部にそのCOB
OLアプリケーションプログラムが適用されるCOBO
L処理系が定めている正または絶対値を示すデータが格
納されていなければならない。それ以外のデータの場合
はデータ例外を引き起こす。
は、外部(内部)十進項目の場合、符号部にそのCOB
OLアプリケーションプログラムが適用されるCOBO
L処理系が定めている正または絶対値を示すデータが格
納されていなければならない。それ以外のデータの場合
はデータ例外を引き起こす。
【0036】これらのチェックを、前述した入出力命令
の前後(図1の8、9、10参照)にCOBOLアプリ
ケーションプログラムをコンパイルするプリコンパイラ
(またはそれと同等な手段)が挿入する。そして、挿入
されたCOBOLアプリケーションプログラムの実行時
に、上記方法によってデータ例外が検出された場合は、
そのCOBOLアプリケーションプログラムが適用され
るCOBOL処理系のエラー処理ロジックに委ねる。こ
の場合、COBOL処理系のエラー処理ロジックでは、
例えば異常終了とする。
の前後(図1の8、9、10参照)にCOBOLアプリ
ケーションプログラムをコンパイルするプリコンパイラ
(またはそれと同等な手段)が挿入する。そして、挿入
されたCOBOLアプリケーションプログラムの実行時
に、上記方法によってデータ例外が検出された場合は、
そのCOBOLアプリケーションプログラムが適用され
るCOBOL処理系のエラー処理ロジックに委ねる。こ
の場合、COBOL処理系のエラー処理ロジックでは、
例えば異常終了とする。
【0037】また、他の演算系項目である、COMP−
X項目、外部(内部)浮動項目、外部(内部)ブール項
目等は、一般に外部ファイルのデータ要素にはなり得な
いので、これらの項目は本実施形態ではデータ例外検出
データ対象から除外する。この他に、COBOLのデー
タ項目のうち数字項目以外の項目に対しても、データ例
外は発生しないため、本実施形態ではデータ例外検出デ
ータ対象から除外する。
X項目、外部(内部)浮動項目、外部(内部)ブール項
目等は、一般に外部ファイルのデータ要素にはなり得な
いので、これらの項目は本実施形態ではデータ例外検出
データ対象から除外する。この他に、COBOLのデー
タ項目のうち数字項目以外の項目に対しても、データ例
外は発生しないため、本実施形態ではデータ例外検出デ
ータ対象から除外する。
【0038】以上説明したように、実施形態に係るCO
BOLアプリケーションプログラムにおける外部ファイ
ルデータのデータ例外検出方法は、外部ファイルへの書
き込み時の直前または読み込み時の直後に、対象とされ
るアプリケーションプログラムソースから外部ファイル
のファイル記述項内でデータ例外を引き起こす要因を抽
出し、データ例外を引き起こす要因を抽出したときに
は、アプリケーションプログラムをコンパイルするプリ
コンパイラ(またはそれと同等な手段)によりデータ例
外検出のためのコードを挿入し、挿入したコードを基に
アプリケーションプログラムを実行する際に外部ファイ
ルとの不正なアクセスを排除するようにしたので、入出
力命令の直前直後にデータ例外検出のためのコードがプ
リコンパイラによって自動的に埋め込めまれ、該当する
COBOLアプリケーションプログラムが実行する際
に、書き込み時(WRITEまたはREWRITE命
令)には、不正なデータを排除することができ、他のア
プリケーションがその書き込まれたデータを使用するこ
とによる誤動作及びデータ例外による予期せぬアプリケ
ーションエラーまたはシステムエラーを避けることがで
き、かつ、不正データの派生を未然に防ぐことができる
効果がある。
BOLアプリケーションプログラムにおける外部ファイ
ルデータのデータ例外検出方法は、外部ファイルへの書
き込み時の直前または読み込み時の直後に、対象とされ
るアプリケーションプログラムソースから外部ファイル
のファイル記述項内でデータ例外を引き起こす要因を抽
出し、データ例外を引き起こす要因を抽出したときに
は、アプリケーションプログラムをコンパイルするプリ
コンパイラ(またはそれと同等な手段)によりデータ例
外検出のためのコードを挿入し、挿入したコードを基に
アプリケーションプログラムを実行する際に外部ファイ
ルとの不正なアクセスを排除するようにしたので、入出
力命令の直前直後にデータ例外検出のためのコードがプ
リコンパイラによって自動的に埋め込めまれ、該当する
COBOLアプリケーションプログラムが実行する際
に、書き込み時(WRITEまたはREWRITE命
令)には、不正なデータを排除することができ、他のア
プリケーションがその書き込まれたデータを使用するこ
とによる誤動作及びデータ例外による予期せぬアプリケ
ーションエラーまたはシステムエラーを避けることがで
き、かつ、不正データの派生を未然に防ぐことができる
効果がある。
【0039】また、読み込み時(READ命令)には、
外部ファイルの不正データを検出することで、その後の
プログラムステップでの誤動作及びデータ例外による予
期せぬアプリケーションエラーまたはシステムエラーを
避けることができ、かつ、データ不正の原因が少なくと
も本方法を適用したCOBOLアプリケーションプログ
ラムの呼び出し以前に作り込まれたことが判断でき、原
因追及にも寄与できる効果がある。
外部ファイルの不正データを検出することで、その後の
プログラムステップでの誤動作及びデータ例外による予
期せぬアプリケーションエラーまたはシステムエラーを
避けることができ、かつ、データ不正の原因が少なくと
も本方法を適用したCOBOLアプリケーションプログ
ラムの呼び出し以前に作り込まれたことが判断でき、原
因追及にも寄与できる効果がある。
【0040】また、外部ファイルのファイル記述項内の
基本項目名も、前記図3のファイル記述項内の基本項目
テーブルのデータ名を使用することによってCOBOL
アプリケーションプログラムソース内の本来のデータ名
を使用してデータ例外検出コードを埋め込むため、プロ
グラム合成のように機械的な不自然な命名規則が適用さ
れないといった効果がある。
基本項目名も、前記図3のファイル記述項内の基本項目
テーブルのデータ名を使用することによってCOBOL
アプリケーションプログラムソース内の本来のデータ名
を使用してデータ例外検出コードを埋め込むため、プロ
グラム合成のように機械的な不自然な命名規則が適用さ
れないといった効果がある。
【0041】さらに、プログラム合成のように既存プロ
グラムに対して適用する場合、新規プログラム的な作業
が発生するが、本方法を用いれば、新規プログラムはも
ちろん、既存プログラムにも適用でき、プログラム修正
等の作業が発生しない効果がある。
グラムに対して適用する場合、新規プログラム的な作業
が発生するが、本方法を用いれば、新規プログラムはも
ちろん、既存プログラムにも適用でき、プログラム修正
等の作業が発生しない効果がある。
【0042】したがって、このような優れた特長を有す
る外部ファイルデータのデータ例外検出方法を、上述し
たCOBOLアプリケーションプログラムにおける外部
ファイルデータのデータ例外検出方法に適用すれば、こ
のCOBOLアプリケーションプログラム作成・運用に
おいてより生産性及び信頼性の向上を図ることができ
る。
る外部ファイルデータのデータ例外検出方法を、上述し
たCOBOLアプリケーションプログラムにおける外部
ファイルデータのデータ例外検出方法に適用すれば、こ
のCOBOLアプリケーションプログラム作成・運用に
おいてより生産性及び信頼性の向上を図ることができ
る。
【0043】なお、上記実施形態に係る外部ファイルデ
ータのデータ例外検出方法を、上述したようなCOBO
Lアプリケーションプログラムにおける外部ファイルデ
ータのデータ例外検出方法に適用することもできるが、
勿論これには限定されず、他の高級プログラム言語、例
えばPL/I、Pascal、Ada等のプログラム言
語における外部ファイルデータのデータ例外検出方法に
適用可能である。また、この場合における外部ファイ
ル、データ型、ファイル記述項等の内容は適用するプロ
グラム言語の対応する概念のものに該当すればよく、名
称や記述方法は適用するプログラム言語で異なることは
勿論である。
ータのデータ例外検出方法を、上述したようなCOBO
Lアプリケーションプログラムにおける外部ファイルデ
ータのデータ例外検出方法に適用することもできるが、
勿論これには限定されず、他の高級プログラム言語、例
えばPL/I、Pascal、Ada等のプログラム言
語における外部ファイルデータのデータ例外検出方法に
適用可能である。また、この場合における外部ファイ
ル、データ型、ファイル記述項等の内容は適用するプロ
グラム言語の対応する概念のものに該当すればよく、名
称や記述方法は適用するプログラム言語で異なることは
勿論である。
【0044】また、上記実施形態では、データ例外検出
の対象となる入出力命令を例えば、PROCEDURE
DIVISIONにおいて、OPEN、WRITE、
REWRITE、READ、DELETE、STAR
T、CLOSEの各入出力命令としているが、アプリケ
ーションプログラムソースから外部ファイルのデータ例
外を引き起こす要因を抽出するものであれば、WRIT
E、READを含むどのような入出力命令であってもよ
い。
の対象となる入出力命令を例えば、PROCEDURE
DIVISIONにおいて、OPEN、WRITE、
REWRITE、READ、DELETE、STAR
T、CLOSEの各入出力命令としているが、アプリケ
ーションプログラムソースから外部ファイルのデータ例
外を引き起こす要因を抽出するものであれば、WRIT
E、READを含むどのような入出力命令であってもよ
い。
【0045】また、プリコンパイラ(またはそれと同等
な手段)によりデータ例外検出のために挿入されるデー
タ例外検出コードは、どのような形態のコードでもよく
処理系に応じて適当なコードが設定可能である。
な手段)によりデータ例外検出のために挿入されるデー
タ例外検出コードは、どのような形態のコードでもよく
処理系に応じて適当なコードが設定可能である。
【0046】さらに、上記外部ファイルデータのデータ
例外検出方法において、ファイル記述項内の基本項目テ
ーブル等の形態、また本データ例外検出方法を実行する
ための手段、さらには本データ例外検出方法を実行する
ためコンピュータを使用した場合に、コンピュータにお
ける実行方法、及びそのプログラムを記録した記録媒体
の種類などは上述の実施形態に限られないことは言うま
でもない。
例外検出方法において、ファイル記述項内の基本項目テ
ーブル等の形態、また本データ例外検出方法を実行する
ための手段、さらには本データ例外検出方法を実行する
ためコンピュータを使用した場合に、コンピュータにお
ける実行方法、及びそのプログラムを記録した記録媒体
の種類などは上述の実施形態に限られないことは言うま
でもない。
【0047】
【発明の効果】本発明に係る外部ファイルデータのデー
タ例外検出方法では、外部ファイルへの書き込み時の直
前または読み込み時の直後に、対象とされるアプリケー
ションプログラムソースから外部ファイルのファイル記
述項内でデータ例外を引き起こす要因を抽出し、データ
例外を引き起こす要因を抽出したときには、アプリケー
ションプログラムをコンパイルする手段によりデータ例
外検出のためのコードを挿入し、挿入したコードを基に
アプリケーションプログラムを実行する際に外部ファイ
ルとの不正なアクセスを排除するようにしているので、
アプリケーションが書き込まれたデータを使用すること
による誤動作及びデータ例外による予期せぬアプリケー
ションエラーまたはシステムエラーを避けることがで
き、かつ、不正データの派生を未然に防ぐことができ
る。
タ例外検出方法では、外部ファイルへの書き込み時の直
前または読み込み時の直後に、対象とされるアプリケー
ションプログラムソースから外部ファイルのファイル記
述項内でデータ例外を引き起こす要因を抽出し、データ
例外を引き起こす要因を抽出したときには、アプリケー
ションプログラムをコンパイルする手段によりデータ例
外検出のためのコードを挿入し、挿入したコードを基に
アプリケーションプログラムを実行する際に外部ファイ
ルとの不正なアクセスを排除するようにしているので、
アプリケーションが書き込まれたデータを使用すること
による誤動作及びデータ例外による予期せぬアプリケー
ションエラーまたはシステムエラーを避けることがで
き、かつ、不正データの派生を未然に防ぐことができ
る。
【図1】本発明を適用した実施形態に係る外部ファイル
データのデータ例外検出方法のCOBOLアプリケーシ
ョンソースプログラムを示す図である。
データのデータ例外検出方法のCOBOLアプリケーシ
ョンソースプログラムを示す図である。
【図2】上記外部ファイルデータのデータ例外検出方法
のファイル名とファイル記述項を示す図である。
のファイル名とファイル記述項を示す図である。
【図3】上記外部ファイルデータのデータ例外検出方法
のファイル記述項内の基本項目テーブルを示す図であ
る。
のファイル記述項内の基本項目テーブルを示す図であ
る。
【図4】従来のCOBOLアプリケーションプログラム
におけるデータ例外検出方法の一般的なデータ例外検出
に係る個々の命令例を示す図である。
におけるデータ例外検出方法の一般的なデータ例外検出
に係る個々の命令例を示す図である。
1 OPEN、2 WRITE、3 REWRITE、
4 READ、5 DELETE、6 START、7
CLOSE、8,9,10 入出力命令の前後、11
ファイル記述項、12 ファイル名
4 READ、5 DELETE、6 START、7
CLOSE、8,9,10 入出力命令の前後、11
ファイル記述項、12 ファイル名
Claims (8)
- 【請求項1】 アプリケーションプログラムの外部ファ
イルデータによるデータ例外検出方法であって、 外部ファイルへの書き込み時の直前または読み込み時の
直後に、対象とされるアプリケーションプログラムソー
スから外部ファイルのファイル記述項内でデータ例外を
引き起こす要因を抽出し、 データ例外を引き起こす要因を抽出したときには、アプ
リケーションプログラムをコンパイルする手段によりデ
ータ例外検出のためのコードを挿入し、 前記挿入したコードを基にアプリケーションプログラム
を実行する際に外部ファイルとの不正なアクセスを排除
することを特徴とする外部ファイルデータのデータ例外
検出方法。 - 【請求項2】 前記データ例外を引き起こす要因の抽出
は、 前記ファイル記述項が入出力される直前直後の該ファイ
ル記述項内のデータ型チェックにより行うことを特徴と
する請求項1記載の外部ファイルデータのデータ例外検
出方法。 - 【請求項3】 前記データ例外を引き起こす要因の抽出
は、 前記ファイル記述項とそのファイル名を組としてファイ
ル記述項内の基本項目テーブルを作成し、 前記基本項目テーブルにより、前記ファイル記述項が入
出力される直前直後の該ファイル記述項内のデータの型
チェックを行うことを特徴とする請求項1記載の外部フ
ァイルデータのデータ例外検出方法。 - 【請求項4】 前記ファイル記述項は、 ファイル記述項内の基本項目名、相対バイト位置、デー
タ型、長さ、または正負可否の少なくとも何れか1つ以
上のデータを有することを特徴とする請求項1、2又は
3の何れかに記載の外部ファイルデータのデータ例外検
出方法。 - 【請求項5】 前記外部ファイルとの不正なアクセスの
排除は、 外部ファイルへの不正なアクセスの排除であり、 アプリケーションが書き込まれた不正データを使用する
ことによる誤動作及びデータ例外による予期せぬアプリ
ケーションエラーまたはシステムエラーを避けるととも
に、不正データの派生を未然に防ぐようにしたことを特
徴とする請求項1記載の外部ファイルデータのデータ例
外検出方法。 - 【請求項6】 前記外部ファイルとの不正なアクセスの
排除は、 外部ファイルからアプリケーション内への不正なデータ
の進入排除であり、 プログラムステップでの誤動作及びデータ例外による予
期せぬアプリケーションエラーまたはシステムエラーを
避けることを特徴とする請求項1記載の外部ファイルデ
ータのデータ例外検出方法。 - 【請求項7】 前記アプリケーションプログラムは、C
OBOL(common business oriented language)アプ
リケーションプログラムであることを特徴とする請求項
1記載の外部ファイルデータのデータ例外検出方法。 - 【請求項8】 アプリケーションプログラムの外部ファ
イルデータによるデータ例外検出プログラムを記録した
記録媒体であって、 外部ファイルへの書き込み時の直前または読み込み時の
直後に、対象とされるアプリケーションプログラムソー
スから外部ファイルのファイル記述項内でデータ例外を
引き起こす要因を抽出する手順と、 データ例外を引き起こす要因を抽出したときには、アプ
リケーションプログラムをコンパイルする手段によりデ
ータ例外検出のためのコードを挿入する手順と、 前記挿入したコードを基にアプリケーションプログラム
を実行する際に外部ファイルとの不正なアクセスを排除
する手順とをコンピュータに実行させるプログラムを記
録したコンピュータ読み取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9231060A JPH1165837A (ja) | 1997-08-27 | 1997-08-27 | 外部ファイルデータのデータ例外検出方法及び外部ファイルデータのデータ例外検出プログラムを記録した記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9231060A JPH1165837A (ja) | 1997-08-27 | 1997-08-27 | 外部ファイルデータのデータ例外検出方法及び外部ファイルデータのデータ例外検出プログラムを記録した記録媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH1165837A true JPH1165837A (ja) | 1999-03-09 |
Family
ID=16917665
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9231060A Withdrawn JPH1165837A (ja) | 1997-08-27 | 1997-08-27 | 外部ファイルデータのデータ例外検出方法及び外部ファイルデータのデータ例外検出プログラムを記録した記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH1165837A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008226010A (ja) * | 2007-03-14 | 2008-09-25 | Hitachi Ltd | コンパイル方法及びコンパイル装置 |
JP2009080681A (ja) * | 2007-09-26 | 2009-04-16 | Hitachi Software Eng Co Ltd | プログラム構造解析方法及び装置 |
JP2015197902A (ja) * | 2014-04-03 | 2015-11-09 | 日本電信電話株式会社 | オンラインビルドシステム、オンラインビルド方法およびオンラインビルドプログラム |
-
1997
- 1997-08-27 JP JP9231060A patent/JPH1165837A/ja not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008226010A (ja) * | 2007-03-14 | 2008-09-25 | Hitachi Ltd | コンパイル方法及びコンパイル装置 |
JP2009080681A (ja) * | 2007-09-26 | 2009-04-16 | Hitachi Software Eng Co Ltd | プログラム構造解析方法及び装置 |
JP2015197902A (ja) * | 2014-04-03 | 2015-11-09 | 日本電信電話株式会社 | オンラインビルドシステム、オンラインビルド方法およびオンラインビルドプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1707481B (zh) | 用于数据模型中实体的自动维护与修复的系统和方法 | |
JP3522141B2 (ja) | 修正プログラムを継承したプログラムの自動生成方法、プログラム自動生成装置及び修正プログラムを継承したプログラムを自動生成するプログラムを記録した記録媒体 | |
US6353910B1 (en) | Method and apparatus for implementing error correction coding (ECC) in a dynamic random access memory utilizing vertical ECC storage | |
US8533690B2 (en) | C-to-java programming language translator | |
US7958133B2 (en) | Application conversion of source data | |
JPH1165837A (ja) | 外部ファイルデータのデータ例外検出方法及び外部ファイルデータのデータ例外検出プログラムを記録した記録媒体 | |
JP2013152580A (ja) | コード生成装置及びコード生成方法及びプログラム | |
JP3461185B2 (ja) | ロードモジュールへのソースコード行番号登録方法および装置 | |
JP2822869B2 (ja) | ライブラリファイル管理装置 | |
JP2731047B2 (ja) | プログラムのオペランドチェック方式 | |
Mailund | Pointers in C Programming | |
JP2636058B2 (ja) | アセンブラ原始プログラムをcobol原始プログラムに変換する装置 | |
JP3114199B2 (ja) | 言語処理システムのリスト出力方式 | |
JPS5847739B2 (ja) | 文字出現順序解析装置 | |
JP2507809B2 (ja) | 索引入出力の指定方式 | |
JPS6370372A (ja) | 文書処理装置 | |
JPH03186933A (ja) | 言語処理システムのシンボル処理方式 | |
JP2507676B2 (ja) | 索引入出力文実行処理方式 | |
JP2721377B2 (ja) | Basicプログラム圧縮方法 | |
CN112286509A (zh) | Java生成方法、系统、电子设备及可读存储介质 | |
JPH09222999A (ja) | 木構造チャート変換システム及び変換方法 | |
Hahn et al. | Diagnostic messages | |
JPH0991131A (ja) | 計算式のチェック方法 | |
JPS61148536A (ja) | 情報処理システム | |
JPS6326411B2 (ja) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20041102 |