JP2797749B2 - ファイル破壊事前チェック機構 - Google Patents

ファイル破壊事前チェック機構

Info

Publication number
JP2797749B2
JP2797749B2 JP3084771A JP8477191A JP2797749B2 JP 2797749 B2 JP2797749 B2 JP 2797749B2 JP 3084771 A JP3084771 A JP 3084771A JP 8477191 A JP8477191 A JP 8477191A JP 2797749 B2 JP2797749 B2 JP 2797749B2
Authority
JP
Japan
Prior art keywords
file
source program
point
commitment control
control function
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.)
Expired - Fee Related
Application number
JP3084771A
Other languages
English (en)
Other versions
JPH04295932A (ja
Inventor
幸恵 松田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP3084771A priority Critical patent/JP2797749B2/ja
Publication of JPH04295932A publication Critical patent/JPH04295932A/ja
Application granted granted Critical
Publication of JP2797749B2 publication Critical patent/JP2797749B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は計算機の言語処理系に関
し、特にファイル破壊を招来する可能性のあるプログラ
ムをそのコンパイル時にチェックするファイル破壊事前
チェック機構に関する。
【0002】
【従来の技術】コンパイラの一種に、自動コミットメン
ト制御を利用する旨の指定があれば、翻訳対象となる所
定の言語で記述されたソースプログラム内で使用してい
るファイル(データベースを含む)のうち静止点の確立
処理が可能なファイルについては適当な箇所で自動的に
静止点の確立処理を行い且つデッドロック発生時には静
止点への復帰処理を自動的に行うような自動コミットメ
ント制御ロジックを埋め込んだ目的プログラムを生成す
るコンパイラが報告されている。
【0003】このような自動コミットメント制御ロジッ
クを埋め込む機能を有するコンパイラを使用することに
より、利用者はプログラミング時にコミットメント制御
を意識する必要がなくなり、その分プログラムの開発効
率が向上する。
【0004】
【発明が解決しようとする課題】ところで、自動コミッ
トメント制御ロジックが埋め込まれた目的プログラムを
実際に実行すると、次のような問題に遭遇した。
【0005】即ち、ソースプログラム内で使用している
ファイルの全てが静止点確立処理可能なファイルの場合
には各ファイルについて適当な箇所で静止点の確立が行
われ、若しデッドロックが生じた場合にはデッドロック
にかかる複数のファイルの状態および制御状態を直前の
静止点まで復帰して以後正常に動作を継続することは可
能である。
【0006】しかしながら、ソースプログラム内で使用
しているファイルのなかにジャーナルが取れない等の理
由で静止点確立処理が不可能なファイルが混じっていた
場合、そのようなファイルに対しては静止点の確立処理
は行われないので、若しデッドロックが生じると、直前
の静止点まで復帰するファイルと復帰できないファイル
とが生じ、ファイル破壊を招来する可能性がある。
【0007】例えば、或るファイルAのレコードR1,
R2,R3を別のファイルBに書き込む処理で、レコー
ドR1をファイルBに書き込み、次のレコードR2を書
き込もうとした時点でデッドロックが生じた場合、共に
静止点確立処理が可能であれば直前の静止点たとえばレ
コードR1を書き込む直前の時点までファイルA,Bの
状態および制御の状態を復帰することができ問題はな
い。
【0008】しかし、ファイルAが静止点確立処理可能
でファイルBが静止点確立処理不可能とすると、ファイ
ルAの状態および制御はレコードR1を書き込む直前の
時点に復帰されるが、ファイルBについてはそのような
復帰は為されず、レコードR1が書き込まれたまま残
る。このため、処理を再開すると、再びレコードR1が
ファイルBに書き込まれることになり、ファイルB内に
2個のレコードR1が記録され、ファイルAとファイル
Bとの間に矛盾が生じ、ファイル破壊につながる。
【0009】上述したように自動コミットメント制御ロ
ジックの埋め込まれた目的プログラムの実行においては
上述したようなファイル破壊の可能性があったが、従来
はそれを事前にチェックする機構がなかった。このた
め、ファイル破壊を防止することが困難であった。
【0010】本発明はこのような事情に鑑みて為された
ものであり、その目的は、自動コミットメント制御機能
を利用するソースプログラムのコンパイル時にファイル
破壊を招来する可能性をチェックし、若しそのような可
能性があるならエラーメッセージでその旨を利用者に通
知するファイル破壊事前チェック機構を提供することに
ある。
【0011】
【課題を解決するための手段】本発明のファイル破壊事
前チェック機構は上記の目的を達成するために、自動コ
ミットメント制御機能を利用するソースプログラムにつ
いては、ソースプログラム中で使用しているファイルの
うち静止点の確立処理が可能なファイルに対してのみ
動的に静止点の確立処理を行うと共にデッドロック発生
時には静止点への復帰処理を行うような自動コミットメ
ント制御ロジックを埋め込んだ目的プログラムを生成す
るコンパイラにおいて、ソースプログラム中のファイル
に関する定義を解析して静止点の確立処理が可能か否か
を示す情報を情報表に登録する手段と、ソースプログラ
ムが自動コミットメント制御機能を利用するか否かを判
定する手段と、この手段により自動コミットメント制御
機能を利用すると判定されたソースプログラムに関し、
前記情報表を参照して静止点確立処理が不可能なファイ
ルが存在するか否かを調べ、存在する場合にはエラーメ
ッセージを出力する手段とを備えている。
【0012】
【作用】本発明のファイル破壊事前チェック機構におい
ては、自動コミットメント制御機能を利用するソースプ
ログラムの翻訳時、ソースプログラム中のファイルに関
する定義が解析されて各ファイルにつき静止点の確立処
理が可能か否かを示す情報が情報表に登録されると共に
当該ソースプログラムが自動コミットメント制御機能を
利用するか否かが判定され、自動コミットメント制御機
能を利用する場合には、情報表が参照されて静止点確立
処理が不可能なファイルが存在するか否かが調べられ、
存在する場合には後退復帰時にファイルの内容に矛盾が
生じる可能性がある旨のエラーメッセージが出力され
る。
【0013】
【実施例】次に、本発明の実施例について図面を参照し
て詳細に説明する。
【0014】図1は本発明の一実施例のファイル破壊事
前チェック機構を備えたコンパイラの要部構成図であ
る。
【0015】このコンパイラ102は、コンパイラに必
須な構文解析部103,意味解析部105といった機能
部により、利用者によって作成されたソースプログラム
101を入力して構文解析,意味解析等を行い、その過
程でプログラム情報108および情報表109に適宜必
要な情報を出力し、最終的にソースプログラム101に
従った目的プログラム(図示せず)を生成出力するもの
である。
【0016】また、このコンパイラ102は、コンパイ
ルオプション111によってソースプログラム101が
自動コミットメント制御機能を利用することを指定して
いる場合には、ソースプログラム101中で使用してい
るファイルのうち静止点の確立処理が可能なファイルに
対し自動的に適当な箇所で静止点の確立処理を行うと共
にデッドロック発生時には自動的に静止点への復帰処理
(ロールバック処理)を行うような自動コミットメント
制御ロジックを目的プログラムに埋め込む機能を有して
いる。
【0017】本実施例では、このようなコンパイラ10
2の構文解析部103に領域解析手段104を設けると
共に、意味解析部105にチェック起動手段106およ
び静止点確立処理可/不可ファイル混在チェック手段
(以下、単にチェック手段と称す)107を設けてあ
る。
【0018】領域解析手段104は、ソースプログラム
101中のファイルに関する定義を解析し、従来得てい
たファイルに関する情報以外に当該ファイルが静止点の
確立処理が可能なファイルか否かを示す情報をも生成
し、これらの情報を1ファイルにつき1エントリずつ情
報表109に登録する手段である。なお、静止点の確立
処理が可能なファイルか否かは自動コミットメント制御
の対象となるファイルであるか否かと同様にして判断さ
れるものであり、例えば静止点確立処理可能なファイル
装置の種別やファイル編成法等を事前に保持しそれらと
各ファイルのファイル装置の種別やファイル編成法等を
比較することにより行う。
【0019】チェック起動手段106は、ソースプログ
ラム101が自動コミットメント制御機能を利用してい
るか否かを構文解析部103の解析結果の一部であるプ
ログラム情報108に基づいて判定し、使用している場
合にチェック手段107に起動をかける手段であり、そ
の処理の一例を図2に示す。なお、構文解析部103は
コンパイルオプション111によってソースプログラム
101が自動コミットメント制御機能を利用しているか
否かを判断し、プログラム情報108に設定しておくも
のである。
【0020】チェック手段107は、情報表109の内
容を順次読み取ってソースプログラム101中に静止点
確立処理不可能なファイルが存在しているか否かを調
べ、若し存在していればエラーメッセージ110を出力
する手段であり、その処理の一例を図3に示す。なお、
本実施例ではソースプログラム101が自動コミットメ
ント制御機能を利用するからにはその中に静止点確立処
理可能なファイルが少なくとも1つ存在していることを
前提としており、そのため1つでも静止点確立処理不可
能なファイルが存在すれば、静止点確立処理可能なファ
イルと静止点確立処理不可能なファイルとが混在するも
のと判断している。なお、静止点確立処理可能なファイ
ルの存在と静止点確立処理不可能なファイルの存在とを
両方検出し、それをもってエラーメッセージを出力する
ようにしても良いことは勿論のことである。
【0021】次に上述のように構成された本実施例の動
作を各図を参照して説明する。
【0022】ソースプログラム101およびコンパイル
オプション111が与えられて起動をかけられると、先
ずコンパイラ102は構文解析部103においてソース
プログラム101の構文解析を行う。この際、構文解析
部103はコンパイルオプション111によってソース
プログラム101が自動コミットメント制御機能を利用
しているか否かを調べ、その情報をプログラム情報10
8へ登録する。
【0023】また、構文解析部103内の領域解析手段
104は、ソースプログラム101中のファイルに関す
る定義を解析し、従来解析している属性に加えて、静止
点の確立処理が可能か不可能かの属性も情報表109へ
登録する。
【0024】次に意味解析部105において意味解析が
行われる。この際、意味解析部105内のチェック起動
手段106は、図2に示すように、プログラム情報10
8を参照してソースプログラム101が自動コミットメ
ント制御機能を利用するプログラムか否かを判定する
(ステップ201)。自動コミットメント制御機能を利
用しない場合(ステップ201でNO)、図2の処理を
終了するが、自動コミットメント制御機能を利用する場
合(ステップ201でYES)、チェック手段107を
起動する(ステップ202)。
【0025】チェック手段107は起動をかけられると
図3に示す処理を開始する。先ず、情報表109から1
エントリ分の情報を読み込み(ステップ301)、情報
表109の終わりが検出されたか否かを判定する(ステ
ップ302)。情報表109の終わりが検出された場合
(ステップ302でYES)、図3の処理を終了する。
【0026】情報表109の終わりが検出されなかった
場合(ステップ302でNO)、即ちステップ301で
情報表109の有効な1エントリを読み込んだ場合、こ
の読み込んだ1エントリ分の情報を調べ当該ファイルが
静止点確立処理可能な属性のファイルか否かを判定する
(ステップ303)。静止点確立処理が可能なファイル
の場合(ステップ303でYES)、情報表109の次
のエントリを処理するためにステップ301へ戻る。
【0027】反対に静止点確立処理が不可能なファイル
であった場合(ステップ303でNO)、「ロールバッ
ク時にファイルの内容に矛盾が生じる可能性がある」と
いう旨のエラーメッセージ110を出力し(ステップ3
04)、次のエントリを処理するためステップ301へ
戻る。
【0028】チェック手段107は、ステップ302で
情報表109の終わりが検出されるまで、ステップ30
1,ステップ303,ステップ304の処理を繰り返
す。
【0029】
【発明の効果】以上説明した本発明のファイル破壊事前
チェック機構によれば、自動コミットメント制御機能を
利用するソースプログラムの翻訳時に、静止点確立処理
が可能なファイルと不可能なファイルとの混在によるロ
ールバック時のファイル破壊発生の可能性をチェックす
ることができるので、そのような可能性を看過して実行
してしまうことによるファイル破壊を事前に防止するこ
とが可能となる。
【図面の簡単な説明】
【図1】本発明のファイル破壊事前チェック機構を備え
たコンパイラの要部構成図である。
【図2】チェック起動手段106の処理の一例を示す流
れ図である。
【図3】静止点確立処理可/不可ファイル混在チェック
手段107の処理の一例を示す流れ図である。
【符号の説明】
101…ソースプログラム 102…コンパイラ 103…構文解析部 104…領域解析手段 105…意味解析部 106…チェック起動手段 107…静止点確立処理可/不可ファイル混在チェック
手段 108…プログラム情報 109…情報表 110…エラーメッセージ 111…コンパイルオプション
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.6,DB名) G06F 12/00 G06F 9/45

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】 自動コミットメント制御機能を利用する
    ソースプログラムについては、ソースプログラム中で使
    用しているファイルのうち静止点の確立処理が可能なフ
    ァイルに対してのみ自動的に静止点の確立処理を行うと
    共にデッドロック発生時には静止点への復帰処理を行う
    ような自動コミットメント制御ロジックを埋め込んだ目
    的プログラムを生成するコンパイラにおいて、 ソースプログラム中のファイルに関する定義を解析して
    静止点の確立処理が可能か否かを示す情報を情報表に登
    録する手段と、 ソースプログラムが自動コミットメント制御機能を利用
    するか否かを判定する手段と、 該手段により自動コミットメント制御機能を利用すると
    判定されたソースプログラムに関し、前記情報表を参照
    して静止点確立処理が不可能なファイルが存在するか否
    かを調べ、存在する場合にはエラーメッセージを出力す
    る手段とを具備したことを特徴とするファイル破壊事前
    チェック機構。
JP3084771A 1991-03-25 1991-03-25 ファイル破壊事前チェック機構 Expired - Fee Related JP2797749B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3084771A JP2797749B2 (ja) 1991-03-25 1991-03-25 ファイル破壊事前チェック機構

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3084771A JP2797749B2 (ja) 1991-03-25 1991-03-25 ファイル破壊事前チェック機構

Publications (2)

Publication Number Publication Date
JPH04295932A JPH04295932A (ja) 1992-10-20
JP2797749B2 true JP2797749B2 (ja) 1998-09-17

Family

ID=13839945

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3084771A Expired - Fee Related JP2797749B2 (ja) 1991-03-25 1991-03-25 ファイル破壊事前チェック機構

Country Status (1)

Country Link
JP (1) JP2797749B2 (ja)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0814800B2 (ja) * 1987-09-11 1996-02-14 株式会社日立製作所 データベース排他制御方法
JPH01180651A (ja) * 1988-01-12 1989-07-18 Nec Software Ltd レポートファイル出力のコミット同期制御方式
JPH07101399B2 (ja) * 1988-12-29 1995-11-01 日本電気株式会社 データベースのデッドロック処理方式
JPH02267645A (ja) * 1989-04-07 1990-11-01 Nec Corp レポートファイルの自動ロールバック方式
JP2972223B2 (ja) * 1989-04-27 1999-11-08 日本電気株式会社 ジャーナル無し順処理ファイルのロールバック方式

Also Published As

Publication number Publication date
JPH04295932A (ja) 1992-10-20

Similar Documents

Publication Publication Date Title
US5956513A (en) System and method for automated software build control
US7788640B2 (en) Using code analysis to generate documentation
US6367068B1 (en) Dynamic parsing
US20060156286A1 (en) Dynamic source code analyzer
US7536678B2 (en) System and method for determining the possibility of adverse effect arising from a code change in a computer program
US8423971B2 (en) Generating an application software library
JPH07146788A (ja) ウイルス診断機構の作成システムと作成方法並びにウイルス診断機構と診断方法
US20080295009A1 (en) Method and Apparatus for Capturing Graphic User Interface Resource of an Application
US20040187100A1 (en) Data store for arbitrary data types with type safe storage and retrieval
US20050160405A1 (en) System and method for generating code coverage information
US20070245322A1 (en) System and method for interactive and assisted program development
Kim et al. Writing, supporting, and evaluating tripwire: A publically available security tool
US20040237036A1 (en) Methods and systems for generating supporting files for commands
US20040122791A1 (en) Method and system for automated source code formatting
JP2797749B2 (ja) ファイル破壊事前チェック機構
CN111258562A (zh) Java代码质量检查方法、装置、设备和存储介质
US6163881A (en) Method of monitoring the operation of a computer
JP3196675B2 (ja) 言語処理方式
CN117354114B (zh) 一种基于云原生架构的数据服务发布方法和系统
Maeda An extended line-based approach to detect code clones using syntactic and lexical information
JP3018549B2 (ja) ファイル破壊防止機構
Herda et al. Wrapping up
JP3604936B2 (ja) 最適化方法,最適化装置及び記録媒体
KR960018924A (ko) 디비엠에스(dbms)의 실시간 지원을 위한 데이타 조작어 처리 방법
Kitiyakara Acceptance testing HTML

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees