JPS60118935A - コンパイラ障害自動検出方式 - Google Patents

コンパイラ障害自動検出方式

Info

Publication number
JPS60118935A
JPS60118935A JP58226321A JP22632183A JPS60118935A JP S60118935 A JPS60118935 A JP S60118935A JP 58226321 A JP58226321 A JP 58226321A JP 22632183 A JP22632183 A JP 22632183A JP S60118935 A JPS60118935 A JP S60118935A
Authority
JP
Japan
Prior art keywords
processing
compiler
pass
loop
processing time
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.)
Granted
Application number
JP58226321A
Other languages
English (en)
Other versions
JPH0211930B2 (ja
Inventor
Takaaki Ikeda
池田 敬昭
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP58226321A priority Critical patent/JPS60118935A/ja
Publication of JPS60118935A publication Critical patent/JPS60118935A/ja
Publication of JPH0211930B2 publication Critical patent/JPH0211930B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔発明の技術分野〕 本発明は、データ処理装置におけるソースプログラムの
コンパイル処理において、コンノξイラの欠陥により無
限ループにおちいった状態を早期に検出するためのコン
パイラ障害自動検出方式に関する0 〔技術の背景〕 一般に、コンパイル処理において、コンパイラ自身のバ
グで異常終了となる場合には、無限ループの場合と、そ
れ以外の特定処理での障害の場合とがある。通常、コン
パイラの異常終了ではメモリ内容ダンプの指定が行なわ
れていないので、後者の場合、メモリ内容ダンプの指定
をとシ直してもう1度処理を繰シ返せばバグ位置をつき
とめることが可能でちる。しかし、前者の無限ループに
入った場合には、たとえば30秒乃至60秒に設定され
ているCPUの時間監視(CPU TIMEOVER)
にかかるまで、そのまま走行を続けた後。
異常終了することになる。しかもこのとき、メモリ内容
のダンプ指定が行なわれていないと、異常終了のメツセ
ージが出力されるのみであり、また。
たとえ異常終了時のダンプ指定が行なわれたとしても、
セージのど(D位置でCPU TIME 0VERにか
かるかは定まっていないため、異常終了の原因を知る確
実な手掛りが得られず、障害回復にかなりの手間と時間
がかかつていた。
〔発明の目的および構成〕
本発明の目的は、コンパイラの欠陥によシ無限ループに
入った場合に、CPU時間監視によらずに異常を検出し
て、必要な情報を出力することを可能にする手段を提供
することにあり、そのため本発明は、コンパイラの処理
が複数の処理段階(フェーズ)で構成されていて、ソー
スプログラムはこれらの処理段階を順次パスして行くこ
とによりオブジェクトに変換される点と、各処理段階で
のパス処理時間に極端な差が々いことに着目して。
各処理段階のパス処理時間の間の相対的な比較によって
無限ループの検出を行なうものである。
そしてそれによる本発明の構成は、ソースプログラムを
複数回のパスによりコンパイル処理するコンパイラをそ
なえたデータ処理装置において。
上記コンパイラを用いたコンパイル処理の第1回のパス
に要する処理時間と、第2回以降の各回ごとのパスに要
する処理時間との間の比率について子側できる最大値を
超えた所定の値が予め設定されているテーブル手段と、
実際のソースプログラムについてコンパイル処理時に各
回ごとのパスに要する処理時間を泪測する手段と、第2
回以降のパスごとに要した処理時間と第1回のパスに要
した処理時間に上記テーブル手段に設定されている当該
回の比率と’eVじた時間とを比較し、前者が後者より
も大きくなったとき無限ループ状態と判定する手段とを
有し、該判定手段が無限ループ状態と判定したパスにお
いて異常終了処理を行なうことを特徴とするものである
〔発明の実施例〕
以下に1本発明の詳細を実施例にしたがって説明する。
第1図は、コンパイラの主要な処理段階を示したもので
、単語解析、構文wFIfT、最適化、記憶域割当て、
コード生成、アセンブルの各処理からなり、それぞれの
段階で各種の記号表、リテラル未。
中間テキストなどが生成される。
上記の各処理段階は、実際には10乃至30のパス処理
に分けられている。そしてそれぞれの、。
スに要する処理時間は、ソース行数に大体比例すること
が「える。したがって、jO,初のパスでの処理時間と
他の7′?スでの処理時間とは、任意のソースに対して
同じ比例関係を保つものと考えることができる。
そこで、最初のパスで処理時間を測定し、2番目以降の
パスの処理時間が最初のパスの処理時間に予め定められ
た一定の係数を掛けて得られた時間を超えたならば、コ
ンパイラループが生じているものとV4J定して異常終
了する機構を設け、その時点での処理情報を出力させる
第2図は1本発明の1実施例装置の機能構成図である。
図中、■はデータ処理装@、2社コン・々イル処理部、
3は処理情報記憶部、4はループ検出処理部、5は処理
時間タイマ、6はル−フ゛)4j定係数テーブル +7
は異常終了処理部、8は外部記憶装置、9はプリンタを
示す。
コンパイル処理部2は、コン・?イラの各処理段階のパ
ス処理全順次実行する。処理情報記憶部3はコンパイル
処理iに必要な全ての情報を記憶する。
コンパイル処理部2は、ノクス^理において、必要に応
じて処理時間タイマ5のセット全要求するS T I 
M E Rマクo、f−ス)ffi要求するT TTM
ERマクロ、クリヤ金要求するCTIMIマクロを。
それぞれ発行する。
ループ検出処理部4は、O8の1機能部とし−C設けら
れ、STIMER,TTIivffER,CTIMgR
の各マクロに応答して処理時間タイマ5を制伺1すると
ともに、処理時間タイマ5のタイムオーツζ−′fr:
監祝し、タイムオーバーの、鳴合に異常終了処理部7全
起動する。
ループ判定係数テーブル6は、2回目以降の各パスPz
、Ps、・・・、Pi、PNについて、それぞれの処理
時間に掛けるべき係数に2.hs、・・・、机。
・・・、kN を保持するテーブルである。
異常終了処理部7は、コンパイラループが検出されたと
き、コン・ぐイル処理部2の処理を終了させるとともに
、処理情報記憶部3にある中間テキストをプリンタ9へ
出力させる処理を行なう。
第3図は、上記した実施例装置の処理手順の説明図であ
る。
コンノミイル処理部2は第1回のパスP1 の始めにS
 T IMER(TA)のマクロを発行し、そしてパス
Piの終りにT T IMER(TB)のマクロを発行
する。
ループ検出処理部4は、S’L’IMER(TA)K応
じて処理時間タイマ5にTA をプリセットして、クロ
ックのカウントダウン動作を行なわせ、そしてT T 
I RgR(TB)マクロに応じて、処理時間タイマ5
の残り時間TB f:調べ、パスP1の処理時間Tl=
 TA −TBをめて記憶する。
次に、コンパイル処理部2は、パスP2 の始めに5T
IIIR(k2・′T1)マクロを発行し、終りにCT
IMERマクロを発行する。ループ検出処理部4は、S
TIMER(kz・Tl) マクロに応じて。
ループ判定係数テーブル6から、係数に請求め。
これと先に記憶しであるパスP1 の処理時間T1とを
掛は合わせて、その結果値を、処理時間タイマ5にプリ
セットする。そしてその後CTIMERマクロを受けと
るまで処理時間タイマ5のタイムオーバーを監視する。
タイマの残り時間が零となってタイムオーバー。
すなわちT2 > A2・T1になった場合には、ルー
プと判定して異常終了処理部7に通知し、他方、タイマ
がタイムオーバーにならない間にCTIMERマクロを
受けとった場合、すなわち正常終了の場合には、タイマ
をクリヤする。この正常終了の場合には以上のようなP
i の処理を繰り返す。
異常終了処理部7は、任意の・ξスPi においてルー
プ検出処理部4からループ検出を通知されると、出口ル
ーチンを呼び出して実行し、ループによるコンパイラ障
害の発生をメツセージ出力するとともに、処理情報記憶
部3の中の中間テキストをプリンタ出力し、異常終了処
理(ABEND) を行なう。
〔発明の効宋〕 以上のように9本発明によれば、最初のパスP1 で無
限ループに入った場合を除いてコンパイラのループは確
実に検出でき、しかもそのパス位置情報と中間テキスト
が得られるので、コンパイラのバグの検出がd易とな9
障害の回復処理に要する手間と時間の大幅な垣網が可能
となる。
【図面の簡単な説明】
第1図はコンパイラの処理段階の説明図、第2図は本発
明の1実施例装置の構成図、第3図は本発明実施例の処
理手順のフロー図である。 図中、1はデータ処理袋(4,2はコンパイル処31i
j部、3は処理情報記憶部、4はループ検出処理部、5
は処理時間タイマ、6はループ判定係数テーブル、7は
異常終了処理部、8は外部記憶装置。 9はプリンタを示す。 特許出願人 富士通株式会社 L 、、、、−一■ 第 2 図

Claims (1)

  1. 【特許請求の範囲】 ソースプログラムを複数回のパスによりコンパイル処理
    するコンパイラをそなえたデータ処理装置において、上
    記コンパイラを用いたコンパイル処理の第1回のパスに
    要する処理時間と、第2回以降の各回ごとのパスに要す
    る処理時間との間の比率について予測できる最大値を超
    えた所定の値が予め設定されているテーブル手段と、実
    際のソースプログラムについてコンパイル処理時に各回
    ごとのパスに要する処理時間を計測する手段と。 第2回以降のパスごとに懺した処理時間と第1回のパス
    に要した処理時間に上記テーブル手段に設定されている
    当該面の比率とを乗じた時間とを比較し、前者が後者よ
    シも大きくなったとき無限ループ状態と判定する手段と
    を有し、該判定手段が無限ループ状態と判定した/ξス
    において異常終了処理を行なうことを特徴とするコンパ
    イラ障害自動検出方式。
JP58226321A 1983-11-30 1983-11-30 コンパイラ障害自動検出方式 Granted JPS60118935A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP58226321A JPS60118935A (ja) 1983-11-30 1983-11-30 コンパイラ障害自動検出方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58226321A JPS60118935A (ja) 1983-11-30 1983-11-30 コンパイラ障害自動検出方式

Publications (2)

Publication Number Publication Date
JPS60118935A true JPS60118935A (ja) 1985-06-26
JPH0211930B2 JPH0211930B2 (ja) 1990-03-16

Family

ID=16843356

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58226321A Granted JPS60118935A (ja) 1983-11-30 1983-11-30 コンパイラ障害自動検出方式

Country Status (1)

Country Link
JP (1) JPS60118935A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04255597A (ja) * 1990-09-21 1992-09-10 Carrier Corp 空調装置
GB2373072A (en) * 2001-03-08 2002-09-11 Escher Technologies Ltd Process for validating a computer program segment that has recursive cycles or loops

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0573136U (ja) * 1992-03-10 1993-10-05 アイカ工業株式会社 螺旋階段の踊場構造

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04255597A (ja) * 1990-09-21 1992-09-10 Carrier Corp 空調装置
GB2373072A (en) * 2001-03-08 2002-09-11 Escher Technologies Ltd Process for validating a computer program segment that has recursive cycles or loops

Also Published As

Publication number Publication date
JPH0211930B2 (ja) 1990-03-16

Similar Documents

Publication Publication Date Title
US20030074605A1 (en) Computer system and method for program execution monitoring in computer system
JPS60118935A (ja) コンパイラ障害自動検出方式
US6697691B1 (en) Method and apparatus for fault model analysis in manufacturing tools
JPH07121576A (ja) 故障シミュレーション装置
JPH04245309A (ja) 制御用ディジタルコントローラ
JPH09264938A (ja) 集積回路の試験装置及び試験方法並びに集積回路の設計装置及び設計方法
JPH0854922A (ja) プロセス制御装置
CN116301888A (zh) 软件集成方法、装置、电子设备及存储介质
JPH0469720A (ja) クロック異常検出装置
JPH0196740A (ja) 電子計算機調整不良解析支援システム
JPS5916302B2 (ja) チエツク装置
JPS6121550A (ja) チヤネルサブシステムの試験方法
JPH09231105A (ja) プログラム障害検出方法
JPS6111855A (ja) デ−タ処理装置の機能診断方式
JPS6161427B2 (ja)
JP2004341652A (ja) 自動試験方法及び自動試験機
JPS6162943A (ja) 情報処理装置の検査方式
JPS59225420A (ja) デ−タチヤネル装置の障害検出機構
JPS63195744A (ja) 故障診断方式
JPH02168806A (ja) デイジタル保護継電装置
JPS6162945A (ja) 情報処理装置の検査方式
JPH03226842A (ja) 不良回路ブロック検出システム
JPH09116624A (ja) 交換機試験診断方法
JPS63250719A (ja) 情報処理装置の異常状態検出方式
JPS60254244A (ja) 再試行制御方式