JPH0431933A - Source program analyzing device - Google Patents

Source program analyzing device

Info

Publication number
JPH0431933A
JPH0431933A JP2138033A JP13803390A JPH0431933A JP H0431933 A JPH0431933 A JP H0431933A JP 2138033 A JP2138033 A JP 2138033A JP 13803390 A JP13803390 A JP 13803390A JP H0431933 A JPH0431933 A JP H0431933A
Authority
JP
Japan
Prior art keywords
program
information
unit
analysis
program unit
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
JP2138033A
Other languages
Japanese (ja)
Other versions
JP2526713B2 (en
Inventor
Tomoko Sasaki
智子 佐々木
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 JP2138033A priority Critical patent/JP2526713B2/en
Publication of JPH0431933A publication Critical patent/JPH0431933A/en
Application granted granted Critical
Publication of JP2526713B2 publication Critical patent/JP2526713B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

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

Abstract

PURPOSE:To detect an error related to the synchronizing exclusive control for an analyzing device of a source program described in a high level language by carrying out the analysis based on the event information showing the using condition of the variable emerging in the source program. CONSTITUTION:A program analyzing part 2 analyzes the program unit of a source program 10 and stores the result of this analysis in to an analysis data base 30. When the analyses of all program units are over, the control is shifted to a total program analyzing part 3. The part 3 recognizes first the program component group of the program 10 based on the information on the base 30 and adds the result of this recognition to the base 30. Then the part 3 refers to the contents of the base 30 to produce the event type information showing the using state of each event emerging in the program 10 and then detects an error related to the synchronizing exclusive control based on the event type information.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、計算機システムにおける高級言語で記述され
た原始プログラムの解析装置に関するものである。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to an apparatus for analyzing a source program written in a high-level language in a computer system.

〔従来の技術] 高級言語で記述された原始プログラムの構造を解析しエ
ラーを検出することは、従来よりコンパイラ等に設けら
れた解析装置で行われているが、複数のプログラム単位
から構成されるような原始プログラムにあっては、その
エラー検出範囲は専らプログラム単位内のエラーに限ら
れていた。
[Prior Art] Analyzing the structure of a source program written in a high-level language and detecting errors has traditionally been performed using an analysis device installed in a compiler, etc. In such primitive programs, the range of error detection is limited to errors within program units.

(発明が解決しようとする課題) 上述したように従来の原始プログラム解析装置は、プロ
グラム単位内のエラーのみを検出対象としているため、
プログラム単位間にまたがるようなエラー、即ちプログ
ラム単位間のタスクの同期排他制御にかかるエラーの検
出は行えず、原始プログラムを実行して初めてエラーが
発見される事態が多々生していた。
(Problems to be Solved by the Invention) As mentioned above, conventional source program analysis devices only detect errors within program units;
Errors that span program units, that is, errors related to synchronized exclusive control of tasks between program units, cannot be detected, and errors are often discovered only after the source program is executed.

そこで本発明の目的は、プログラム単位間のタスクの同
期排他制御にかかるエラーを原始プログラムを解析する
ことにより検出する解析装置を提供することにある。
SUMMARY OF THE INVENTION An object of the present invention is to provide an analysis device that detects errors related to synchronized exclusive control of tasks between program units by analyzing a source program.

(課題を解決するための手段〕 本発明は上記の目的を達成するために、実行可能なプロ
グラムを互いに異なるタスクに分割して並列実行する多
重タスク化機能を有する計算機システム用に作成され高
水準言語で記述された複数のプログラム単位から構成さ
れる原始プログラムの解析装置において、 原始プログラムの個々のプログラム単位を入力して解析
し、個々のプログラム単位毎に、プログラム単位内に現
れるタスク関連文に関する情報を集めたプログラム単位
情報を生成するプログラム単位解析部と、 プログラム単位解析部で生成された情報を格納する解析
データベースと、 解析データベースに格納された情報に基づいて原始プロ
グラムに現れる変数毎に変数の使用状況を示す事象種別
情報を生成すると共にこの生成した事象種別情報に基づ
いて同期排他制御に関するエラーの検出を行うプログラ
ム全体解析部と、プログラム全体解析部で検出されたエ
ラーの情報を含む解析情報を出力する情報出力部とを有
している。
(Means for Solving the Problems) In order to achieve the above object, the present invention has been created for a computer system having a multitasking function that divides an executable program into different tasks and executes them in parallel. A source program analysis device consisting of multiple program units written in a language inputs and analyzes each program unit of the source program, and analyzes the task-related statements that appear within the program unit for each program unit. A program unit analysis section that generates program unit information that collects information, an analysis database that stores the information generated by the program unit analysis section, and a variable for each variable that appears in the source program based on the information stored in the analysis database. An entire program analysis section that generates event type information indicating the usage status of the program and detects errors related to synchronous exclusive control based on the generated event type information, and an analysis that includes information on errors detected by the entire program analysis section. and an information output section that outputs information.

また、本発明の好ましい実施例においては、プログラム
単位解析部は上記プログラム単位情報の生成を行う以外
に、個々のプログラム単位毎にCALL関連文に関する
情報を集めたCALL文情報と原始プログラムのプログ
ラム構成情報とを生成して解析データベースに格納する
構成を有し、プログラム全体解析部は解析データベース
に格納された情報に基づいてプログラム構成グループを
認識すると共に原始プログラムに現れる変数毎に変数の
使用状況をプログラム構成グループを含めて示す事象種
別情報を生成し、この生成した事象種別情報に基づいて
同期排他制御に関するエラの検出を行う構成を有してい
る。
In a preferred embodiment of the present invention, in addition to generating the above-mentioned program unit information, the program unit analysis section also generates CALL statement information that collects information regarding CALL related statements for each program unit, and the program structure of the source program. The entire program analysis unit recognizes program configuration groups based on the information stored in the analysis database, and also analyzes the usage status of variables for each variable that appears in the source program. The event type information including the program configuration group is generated, and errors related to synchronous exclusive control are detected based on the generated event type information.

;作用] 本発明の原始プログラム解析装置においては、プログラ
ム単位解析部が、原始プログラムの個々のプログラム単
位を人力して解析し、個々のプログラム単位毎に、プロ
グラム単位内に現れるタスク関連文に関する情報を集め
たプログラム単位情報を生成する。このとき、本発明の
好ましい実施例においては、個々のプログラム単位毎に
CALL関連文に関する情報を集めたCALL文情報お
よび原始プログラムのプログラム構成情報も生成する。
; Effect] In the source program analysis device of the present invention, the program unit analysis section manually analyzes each program unit of the source program, and extracts information regarding task-related statements appearing in the program unit for each program unit. Generates program unit information that collects information. At this time, in a preferred embodiment of the present invention, CALL statement information that collects information regarding CALL-related statements for each program unit and program configuration information of the source program are also generated.

プログラム単位解析部で生成された情報は解析データベ
ースに格納され、その後、プログラム全体解析部が、解
析データベースに格納された情報に基づいて原始プログ
ラムに現れる変数毎に変数の使用状況を示す事象種別情
報を生成すると共にこの生成した事象種別情報に基づい
て同期排他制御に関するエラーの検出を行う。このとき
、本発明の好ましい実施例においては、解析データベー
スに格納された情報に基づいてプログラム構成グループ
を認識し、原始プログラムに現れる変数毎に変数の使用
状況をプログラム構成グループを含めて示す事象種別情
報を生成する。そして、その後、情報出力部がプログラ
ム全体解析部で検出されたエラーの情報を含む解析情報
を出力する。
The information generated by the program unit analysis section is stored in the analysis database, and then the entire program analysis section generates event type information indicating the usage status of the variable for each variable that appears in the source program based on the information stored in the analysis database. At the same time, errors related to synchronous exclusive control are detected based on the generated event type information. At this time, in a preferred embodiment of the present invention, the program configuration group is recognized based on the information stored in the analysis database, and the event type is used to indicate the usage status of the variable for each variable appearing in the source program, including the program configuration group. Generate information. Thereafter, the information output section outputs analysis information including information on the error detected by the entire program analysis section.

〔実施例〕〔Example〕

次に、本発明の実施例について図面を参照して詳細に説
明する。
Next, embodiments of the present invention will be described in detail with reference to the drawings.

第1図4↓本発明の一実施例の構成図である。この実施
例の解析装置1は、原始プログラム10を入力して解析
し、原始プログラム10のタスクの同期排他制御にかか
るエラーの情報を含む出力情報20を出力する装置であ
り、内部にプログラム単位解析部2とプログラム全体解
析部3と情報出力部4とを含み、外部に解析データベー
ス30を備えている。
FIG. 14 is a configuration diagram of an embodiment of the present invention. The analysis device 1 of this embodiment is a device that inputs and analyzes a source program 10 and outputs output information 20 including information on errors related to synchronized exclusive control of tasks in the source program 10. It includes a section 2, an overall program analysis section 3, and an information output section 4, and is provided with an external analysis database 30.

原始プログラム10は、高水準言語で記述された複数の
プログラム単位から構成されており、実行可能なプログ
ラムを互いに異なるタスクに分割して並列実行する多重
タスク化機能を有する計算機ノステムにおいては、原始
プログラム10は幾つかのタスクとして並列に実行され
る。
The source program 10 is composed of a plurality of program units written in a high-level language. 10 are executed in parallel as several tasks.

解析装置1内のプログラム単位解析部2は、原始プログ
ラム10の個々のプログラム単位を人力して解析し、解
析結果を解析データベース3oに格納する。全てのプロ
グラム単位の解析を終了すると、制御をプログラム全体
解析部3に渡す。このプログラム単位解析部2は、本実
施例では、次のような情報を生成する。
A program unit analysis section 2 in the analysis device 1 manually analyzes each program unit of the source program 10 and stores the analysis results in an analysis database 3o. When the analysis of all program units is completed, control is passed to the entire program analysis section 3. In this embodiment, the program unit analysis section 2 generates the following information.

■個々のプログラム単位毎にプログラム単位内に現れる
タスク関連文に関する情報を集めたプログラム単位情報
。ここで、タスク関連文とは、タスク起動、排他区間開
始、排他区間終了、タスク待ち合わせ、同期待ち開始、
同期待ち絽了等にかかる文をいい、タスク関連文に関す
る情報とは、そのタスク関連文で使用されている変数名
9種別作用する相手のプログラム単位名、当該タスク関
連文の行番号等である。
■Program unit information that collects information about task-related statements that appear within each program unit. Here, task-related statements include task start, exclusive section start, exclusive section end, task waiting, synchronous wait start,
This refers to a statement related to a synchronization wait, etc., and the information related to a task-related statement includes the name of the nine variables used in the task-related statement, the name of the program unit on which it acts, the line number of the task-related statement, etc. .

■個々のプログラム単位毎にCALL関連文に関する情
報を集めたCALL文情報。ここで、CALL関連文と
は、タスク起動あるいはサブルーチンの呼び出しにかか
る文をいい、CALL文情報とは、CALL文の種別、
呼び出しているプログラム単位名、当1cALL関連文
の行番号等である。
■CALL statement information that collects information about CALL-related statements for each program unit. Here, the CALL-related statement refers to a statement related to starting a task or calling a subroutine, and the CALL statement information refers to the type of CALL statement,
The name of the program unit being called, the line number of the current 1cALL related statement, etc.

■原始プログラム10のプログラム構成情報。ここで、
プログラム構成情報とは、原始プログラム10がどのよ
うな名前2種別のプログラム単位で構成され、また各プ
ログラム単位の参照関係はどのようになっているかを示
す情報である。
■Program configuration information of source program 10. here,
The program configuration information is information indicating what names and two types of program units the source program 10 is composed of, and the reference relationship between the program units.

第一1図の解析データベース30は、プログラム単位解
析部2で得られた上述した情報を保持する記憶手段であ
る。この解析データベース30はプログラム全体解析部
3から参照等される。
The analysis database 30 shown in FIG. 11 is a storage means for holding the above-mentioned information obtained by the program unit analysis section 2. This analysis database 30 is referred to by the entire program analysis section 3.

プログラム全体解析部3は、プログラム単位解析部1か
ら制御を渡されると、解析データベース30に格納され
た情報に基づいて先ず原始プログラム10のプログラム
構成グループを認識し、認。
When the entire program analysis section 3 receives control from the program unit analysis section 1, it first recognizes and recognizes the program configuration group of the source program 10 based on the information stored in the analysis database 30.

識結果を本実施例では解析データベース30に格納され
たプログラム構成情報に追加する。ここで、原始プログ
ラム10のプログラム構成グループとは、主プログラム
単位或いはタスク起動されるプログラム単位を先頭とし
各々のプログラム単位かみタスク起動あるいは呼び出さ
れるプログラム単位の集合のことであり、多重タスク化
機能を有する計X機ンステムにおいては各プログラム構
成グループが1つのタスクとして実行される。次にプロ
グラム全体解析部3は、解析デークヘース30の内容を
参照して、原始プログラム104こ現れる変数毎に、変
数の使用状況をプログラム構成グループを含めて示す事
象種別情報を生成する。ここで、使用事象種別情報とは
、各変数がどのような事象種別に使用されているか、ど
のプログラム単位およびプログラム構成グループで使用
されているか等を示す情報である。そして、プログラム
全体解析部3は、上記生成した事象種別情報に基づいて
同期排他制御に関するエラーの検出を行い、その処理終
了後に制御を情報出力部4に渡す。
In this embodiment, the identification results are added to the program configuration information stored in the analysis database 30. Here, the program configuration group of the source program 10 is a set of program units starting with the main program unit or the program unit activated by a task, and each program unit or program unit being activated or called by a task, and has a multitasking function. In a total of X machine systems, each program configuration group is executed as one task. Next, the entire program analysis section 3 refers to the contents of the analysis database 30 and generates event type information indicating the usage status of the variable including the program configuration group for each variable that appears in the source program 104. Here, the usage event type information is information indicating what type of event each variable is used for, and in which program unit and program configuration group each variable is used. Then, the entire program analysis section 3 detects an error related to synchronous exclusive control based on the generated event type information, and passes control to the information output section 4 after the processing is completed.

情報出力部4は、プログラム全体解析部3で検出された
エラーの情報を含む解析情報を出力情報20として図示
しない表示装置あるいはプリンタ等から出力する。
The information output unit 4 outputs analysis information including information on errors detected by the entire program analysis unit 3 as output information 20 from a display device, a printer, etc. (not shown).

以上が本実施例の全体的な構成と大まかな動作であるが
、本発明の理解をより一層容易にするために、第2図以
降の図面を参照してより詳しく本実施例の内容を説明す
る。
The above is the overall configuration and rough operation of this embodiment, but in order to further facilitate understanding of the present invention, the content of this embodiment will be explained in more detail with reference to the drawings starting from FIG. do.

先ず、第2図のプログラム単位解析部2の処理例を示す
流れ図と第3図の解析データベース30の内容例と第4
図の原始プログラム10の構成例とを参照して、プログ
ラム単位解析部2の構成および動作を説明する。
First, a flowchart showing a processing example of the program unit analysis unit 2 in FIG. 2, an example of the contents of the analysis database 30 in FIG.
The configuration and operation of the program unit analysis section 2 will be explained with reference to the configuration example of the source program 10 shown in the figure.

第4図の例では原始プログラム10は、各々が高水準言
語で記述された4つのプログラム単位410.420,
430,440で構成されており、プログラム単位41
0がプログラム単位名”MAIN”を持つ主プログラム
であり、残りのプログラム単位420,430,440
がそれぞれプログラム単位名゛5UBI”、”5UB2
” 、” 5UB3”を持つサブルーチンプログラムで
ある。
In the example of FIG. 4, the source program 10 consists of four program units 410, 420,
It consists of 430,440 program units, 41 program units.
0 is the main program with the program unit name "MAIN", and the remaining program units 420, 430, 440
are the program unit names "5UBI" and "5UB2" respectively.
This is a subroutine program with ``,'' and ``5UB3''.

各々のプログラム単位410,420,430゜440
には同図に示す行番号部分に、先頭文、タスク関連文、
CALL関連文の何れかである文411〜416,42
1〜424.431〜435441が含まれている。
Each program unit 410, 420, 430゜440
In the line number part shown in the same figure, the first sentence, task-related sentence,
Sentences 411 to 416, 42 that are any of the CALL related sentences
1 to 424.431 to 435441 are included.

プログラム単位解析部2は、第2図に示すような処理を
実行することにより、第4図に示すようなプログラム単
位410,420,430,440から構成される原始
プログラム10を解析して、第3図に示すような情報を
解析データベース30上に生成する。ここで、第3図に
おけるプログラム単位情報310.320,330,3
40はそれぞれプログラム単位410,420,430
440より生成されたものであり、プログラム単位名、
プログラム種別、そのプログラム単位中に現れるタスク
起動や同期排他制御を行うタスク関連文の情報を格納す
る。また、CALL文情報350.360はそれぞれプ
ログラム単位410430より生成されたものであり、
タスク起動の文δよびCALL文の情報を格納する。更
に、プログラム構成情報370は、原始プログラム10
を構成するプログラム単位名と、各プログラム単位が主
プログラムか或いはサブルーチンかを示す種別と、CA
LL文で呼ばれるか或いはタスク起動されるかを示す参
照状況等の情報を格納する。
The program unit analysis unit 2 analyzes the source program 10 composed of program units 410, 420, 430, and 440 as shown in FIG. 4 by executing the processing shown in FIG. Information as shown in FIG. 3 is generated on the analysis database 30. Here, the program unit information 310, 320, 330, 3 in FIG.
40 are program units 410, 420, 430 respectively
440, and the program unit name,
Stores information about the program type and task-related statements that perform task activation and synchronous exclusive control that appear in the program unit. Further, the CALL statement information 350 and 360 are generated from the program unit 410430, respectively.
Stores information on task activation statement δ and CALL statement. Furthermore, the program configuration information 370 includes the source program 10
The name of the program units that make up the program, the type indicating whether each program unit is a main program or a subroutine, and the CA
Stores information such as reference status indicating whether it is called by a LL statement or a task is activated.

プログラム単位解析部2は原始プログラム10中より第
4図のプログラム単位410.420430.440を
その順に入力し、具体的には以下のような処理を行う。
The program unit analysis section 2 inputs the program units 410, 420, 430, and 440 shown in FIG. 4 from the source program 10 in that order, and specifically performs the following processing.

先ず、第2図の処理100においてプログラム単位41
0のプログラムの開始を示す文411を入力すると、処
理120にて当該プログラム単位410の先頭の文であ
ることを認識し、処理130にて次のような情報格納処
理を行う。
First, in the process 100 of FIG.
When a statement 411 indicating the start of program 0 is input, it is recognized in process 120 that it is the first statement of the program unit 410, and the following information storage process is performed in process 130.

■ プログラムの開始を示す文411中のプログラム単
位名゛MAIN”を第3図のようにプログラム単位情報
310のプログラム単位名311に格納し、主プログラ
ムであることを示すM”をプログラム種別316に格納
する。
■ The program unit name "MAIN" in the statement 411 indicating the start of the program is stored in the program unit name 311 of the program unit information 310 as shown in FIG. Store.

■ 当初はプログラム構成情報370の何れのプログラ
ム単位名372にもプログラム単位名゛MAIN”が登
録されていない状態なので、1つのエントリE71のプ
ログラム単位名372に°゛MAIN”を追加し、同エ
ントリE71のプログラム種別373に“°M°°を格
納する。なお、該当するプログラム単位名が既に成るエ
ントリに登録されているときは、同エントリのプログラ
ム種別373にM”等の種別を格納するものである。
■ Initially, the program unit name ``MAIN'' is not registered in any of the program unit names 372 of the program configuration information 370, so ``MAIN'' is added to the program unit name 372 of one entry E71, and the same entry "°M°°" is stored in the program type 373 of E71. If the corresponding program unit name is already registered in an entry, a type such as "M" is stored in the program type 373 of the same entry. It is.

プログラム単位解析部2は処理130を終えた後に処理
140を経由して処理100に戻り、次の1文の入力を
行う。
After completing the process 130, the program unit analysis unit 2 returns to the process 100 via the process 140, and inputs the next sentence.

その後、処理100においてタスク起動を指示する文4
12を入力すると、処理140にてタスり関連文の一種
であり且つタスク起動を指示するというCALL関連文
の一種でもあることを認識し、処理150にて以下のよ
うな情報格納処理を行う。
After that, in process 100, statement 4 instructing task activation
When 12 is input, it is recognized in step 140 that it is a type of task-related sentence and also a type of CALL-related sentence that instructs task activation, and the following information storage process is performed in step 150.

■ プログラム単位情報310の1つのエントリEll
O行番号315に文412の行番号”302′を、種別
313に文412の種別”タスク起動゛′を、変数名3
12に変数名″TASK1″を、プログラム単位名31
4に当該文412によって起動するサブルーチン名”5
UB2”をそれぞれ格納する。
■ One entry Ell of program unit information 310
O line number 315 is the line number ``302'' of statement 412, type 313 is the type ``task start'' of statement 412, variable name 3
12, variable name "TASK1", program unit name 31.
4, the name of the subroutine activated by the statement 412 “5”
UB2'' are stored respectively.

■ タスク起動を指示する文なので、CALL文情報3
50のプログラム単位名351にプログラム単位名”M
AIN”を格納することにより、プログラム単位410
用の1つのCALL文情報を確保した後に1エントリE
51を追加し、そのCALL文の種別352に種別“タ
スク起動“′を、呼び出しているプログラム単位名35
3にプログラム単位名”5UB2”を、行番号354に
文412の行番号”302”をそれぞれ格納する。なお
、該当するプログラム単位名が既に登録されているCA
LL文情報が存在するときは、そのCALL文情報の1
エントリにCALL文の種別5呼び出しているプログラ
ム単位名1行番号の登録が行われる。
■ Since this is a statement that instructs to start a task, CALL statement information 3
50, program unit name 351, program unit name “M”
By storing “AIN”, the program unit 410
After securing one CALL statement information for
51 is added, and the type ``task activation'' is added to the type 352 of the CALL statement, and the calling program unit name 35 is added.
The program unit name "5UB2" is stored in 3, and the line number "302" of the statement 412 is stored in line number 354. Please note that the CA in which the corresponding program unit name has already been registered
If LL statement information exists, 1 of the CALL statement information
The CALL statement type 5, calling program unit name 1 line number is registered in the entry.

■ 現状では、プログラム構成情報370の何れのプロ
グラム単位名372にもプログラム単位名゛5UB2″
が登録されていない状態なので、1つのエントリE72
を追加してプログラム単位名372に’5UB2”を追
加し、そのエントリE72の参照状況375(タスク起
動の欄)に印を付ける。これによって、プログラム単位
名”5UB2”のプログラム単位がタスク起動されるこ
とにより呼び出されるプログラムであることを記録して
お(。
■ Currently, the program unit name ``5UB2'' is included in any program unit name 372 of the program configuration information 370.
is not registered, so there is only one entry E72.
'5UB2' is added to the program unit name 372, and the reference status 375 (task activation column) of that entry E72 is marked.As a result, the program unit with the program unit name '5UB2' is task activated. Note that the program is called by (.

プログラム単位解析部2は処理150を終えた後に処理
100に戻り、次の1文の入力を行う。
After completing the process 150, the program unit analysis unit 2 returns to the process 100 and inputs the next sentence.

その後、処理100においてCALL文413を入力す
ると、処理140にてCALL関連文の一種であること
を認識し、処理150にて以下のような情報格納処理を
行う。
Thereafter, when the CALL statement 413 is input in process 100, it is recognized in process 140 that it is a type of CALL-related sentence, and the following information storage process is performed in process 150.

■ 当該プログラム単位410に対応して既に存在する
CALL文情報350に1つのエントリE52を追加し
、そのCALL文の種別352に種別′°呼び出し”を
、呼び出しているプログラム単位名353にプログラム
単位名”5UB3”を、行番号354に文413の行番
号” 310°゛をそれぞれ格納する。
■ Add one entry E52 to the CALL statement information 350 that already exists corresponding to the program unit 410, and set the type ``°call'' in the type 352 of the CALL statement and the program unit name in the calling program unit name 353. "5UB3" and the line number "310°" of the sentence 413 are stored in the line number 354, respectively.

■ 現状では、プログラム構成情報370のいずれのプ
ログラム単位名372にもプログラム単位名“’5UB
3”が登録されていない状態なので、1つのエントリE
73を追加してプログラム単位名372に“’5UB3
“を追加し、そのエントリE73の参照状況374 (
CALL文の欄)に印を付ける。これによって、プログ
ラム単位名“SU B 3 ”のプログラム単位がCA
LL文によって呼び出されるプログラムであることを記
録しておく。
■ Currently, the program unit name "'5UB" is included in any program unit name 372 of the program configuration information 370.
3” is not registered, so there is only one entry E.
73 is added and the program unit name 372 is “'5UB3.
", and the reference status 374 of that entry E73 (
CALL statement column). As a result, the program unit with the program unit name “SU B 3” is CA
Record that the program is called by the LL statement.

以下、プログラム単位410の文414,415.41
6の入力時には文412と同様な情報格納処理(但し、
CALL文情報の格納処理とプログラム構成情報の格納
処理は除く)が処理150で行われ、第3図に示すプロ
グラム単位情報31OのエントリE12.E13.E1
4の内容が登録される。
Below, sentences 414, 415.41 of program unit 410
6 is input, information storage processing similar to that of statement 412 (however,
(excluding storage processing of CALL statement information and storage processing of program configuration information) is performed in process 150, and entry E12. of program unit information 31O shown in FIG. E13. E1
The contents of 4 are registered.

プログラム単位解析部2は最初のプログラム単位410
の処理を終えると、次のプログラム単位420.430
 440乙こついてもプログラム単位410と同様な処
理を行う。これGこよって、第3図のプログラム単位情
報3202プログラム単位情報330.プログラム単位
情報340、CALL文情報360が解析データベース
30に登録され、またプログラム構成情報370にエン
トリE74の内容が登録される。なお、この時点ではプ
ログラム構成情報370の各エントリE71〜E74に
おける「構成するプログラム名」の欄は空白である。
The program unit analysis section 2 starts the first program unit 410.
After completing the processing, the next program unit 420.430
Even if 440 fails, the same processing as in program unit 410 is performed. Therefore, the program unit information 3202 program unit information 330 . Program unit information 340 and CALL statement information 360 are registered in the analysis database 30, and the contents of entry E74 are registered in the program configuration information 370. Note that, at this point, the "configuring program name" column in each entry E71 to E74 of the program configuration information 370 is blank.

プログラム単位解析部2は、処理110において全ての
プログラム単位の処理を終了したことを判定すると、プ
ログラム単位解析の処理を終了し、制御をプログラム全
体解析部3に渡す。
When the program unit analysis section 2 determines in step 110 that processing for all program units has been completed, the program unit analysis section 2 ends the program unit analysis processing and passes control to the entire program analysis section 3.

次に、第5図のプログラム全体解析部3の処理例を示す
流れ図と第6図の事象種別情報の一例を示す図と既に引
用した第3図および第4図とを参照して、プログラム全
体解析部3の構成および動作を説明する。なお、第6図
の事象種別情報は、第3図のような解析データベース3
0の内容から生成される事象種別情報の一部を示してお
り、610は変数名TASKIの事象種別情報、620
は変数名EVENTIの事象種別情報である。
Next, with reference to the flowchart illustrating an example of processing by the entire program analysis unit 3 in FIG. 5, the diagram illustrating an example of event type information in FIG. 6, and the already cited FIGS. The configuration and operation of the analysis section 3 will be explained. The event type information in Figure 6 is stored in the analysis database 3 as shown in Figure 3.
0 shows a part of the event type information generated from the contents of 0, 610 is the event type information of variable name TASKI, 620
is the event type information of the variable name EVENTI.

プログラム全体解析部3は、解析デークヘース30の内
容すなわちプログラム構成情報とプログラム単位情報と
CALL文情報とをもとに、プログラム構成グループと
事象種別情報とを生成する。
The entire program analysis unit 3 generates a program configuration group and event type information based on the contents of the analysis database 30, that is, program configuration information, program unit information, and CALL statement information.

ここで、プログラム構成グループとは前述したように、
主プログラム単位或いはタスク起動されるプログラム単
位を先頭とし、各々のプログラム単位から呼び出される
プログラム単位の集合である。
Here, the program configuration group is, as mentioned above,
It is a set of program units called from each program unit, starting with the main program unit or the program unit activated by a task.

本例では”MAIN”のプログラム単位を先頭とするプ
ログラム構成グループと、”5UB2”のプログラム単
位を先頭とするプログラム構成グループとの2つのプロ
グラム構成グループが存在する。また、事象種別情報と
は、前述したようにタスク起動や同期、排他制御に使用
される変数の情報を変数名毎にまとめたものである。
In this example, there are two program configuration groups: a program configuration group starting with the program unit "MAIN" and a program configuration group starting with the program unit "5UB2". Furthermore, the event type information is information on variables used for task activation, synchronization, and exclusive control, organized by variable name, as described above.

さて、プログラム全体解析部3は、先ず第5図の処理5
10において、プログラム構成のグループ分は処理を行
う。具体的には、先ずプログラム構成情報370よりプ
ログラム構成グループの入ロブログラム単位(プログラ
ム構成情報のプログラム秤別373が” M”になって
いるプログラム単位、或いは参照状況375に印がつい
ているタスク起動にかかるプログラム単位)を探し、そ
のプログラムにプログラム構成グループ番号を付与する
。第3図のプログラム構成情報370の場合、エントリ
E71のプログラム種別373にM”が登録されている
ので、”MAIN”のプログラム単位410が入ロブロ
グラム単位の1つであるト認識し、そのエントリE71
のプログラム構成番号371にグループ番号”l”を格
納する。そして、このMAIN”のプログラム単位41
0から呼び出されるプログラム単位があるが否かを、プ
ログラム単位410に対応するCALL文情報350か
ら順に検索する。今の場合、CALL文情報350中に
は”5UB3”があるので、それをエントリE71の構
成するプログラム名376の欄に格納する。次に、この
’5UB3“から呼び出されるプログラム単位があるか
否かを調べるが、”5UB3”に対応するCALL文情
報が存在しないことにより、そのようなプログラム単位
は存在しないと認識するう この結果、エントリE71
の構成するプログラム名376の欄には“5UB3”の
み格納され、番号”1”のグループは’MAIN”と’
5UB3”との2つのプログラム単位であることを認識
する。
Now, the entire program analysis unit 3 first performs the process 5 in FIG.
At step 10, processing is performed for each group of program configurations. Specifically, first, from the program configuration information 370, the input program unit of the program configuration group (the program unit for which the program scale classification 373 of the program configuration information is set to "M", or the task activation for which the reference status 375 is marked) is (such a program unit) and assigns a program configuration group number to that program. In the case of the program configuration information 370 in FIG. 3, since "M" is registered in the program type 373 of the entry E71, the program unit 410 of "MAIN" is recognized as one of the input robot program units, and the entry E71
The group number "l" is stored in the program configuration number 371. And this MAIN” program unit 41
Whether or not there is a program unit called from 0 is searched in order from the CALL statement information 350 corresponding to the program unit 410. In this case, since "5UB3" is included in the CALL statement information 350, it is stored in the program name 376 column of entry E71. Next, it is checked whether there is a program unit called from this '5UB3', but since there is no CALL statement information corresponding to '5UB3', it is recognized that such a program unit does not exist. , entry E71
Only "5UB3" is stored in the column of program name 376, and the group with number "1" is stored as 'MAIN' and '
5UB3'' are recognized as two program units.

同様に、プログラム構成情報370において参照状況3
75に印が付いている”タスク起動”である°’ 5U
B2°゛のプログラム単位が入ロブログラム単位であり
、且つ、それを先頭とするグループに“’5UBI”の
みが属すると認識して、プログラム構成情報370のエ
ントリE72のプログラム構成番号371にグループ番
号”2”を、構成するプログラム名376の欄に’5U
BI”を格納する。
Similarly, in the program configuration information 370, reference status 3
"Task launch" marked with 75 °' 5U
Recognizing that the program unit of B2° is an input robot program unit and that only '5UBI' belongs to the group whose head is "'5UBI", the group number is set in the program configuration number 371 of entry E72 of the program configuration information 370''. 2” and '5U' in the column of the program name 376.
BI” is stored.

プログラム構成のグループ分けの処理の紡了後、プログ
ラム全体解析部3は各グループ毎に処理511〜519
の処理を行う。
After completing the grouping process of the program configuration, the entire program analysis unit 3 performs processes 511 to 519 for each group.
Process.

先ず、処理SZt、こお(ビご、グループ番号”1”の
グループを取り出す。なお、次の処理512で全てのプ
ログラム構成グループの処理が終了したと判定すると、
処理520でエラー判定処理を行う。今の場合、グルー
プ番号” 1”のグループの取り出しが行われて処理5
13に進み、ここで当該プログラム構成グループ中力・
ら1つのプログラム単位名を取り出し、処理514〜5
]9を実行づる。今の場合は、処理513で最初にプロ
グラム構成情報370のエントリE71におけるプログ
ラム単位名”MAIN”を取り出す。なお、次の処理5
14で当該プログラム構成グループの全てのプログラム
単位名の取り出しが終了したと判定すると、処理511
のプログラム構成グループの取り出し処理に戻り、次の
プログラム構成グループの取り出しを行うものである。
First, the process SZt extracts the group with group number "1". Note that if it is determined in the next process 512 that the processes of all program configuration groups have been completed,
In step 520, error determination processing is performed. In this case, the group with group number “1” is extracted and processing 5 is performed.
Proceed to step 13, where the relevant program composition group
One program unit name is extracted from the process 514-5.
]9. In this case, in process 513, the program unit name "MAIN" in the entry E71 of the program configuration information 370 is first extracted. In addition, the following process 5
If it is determined that all program unit names of the program configuration group have been extracted in step 14, processing 511 is performed.
The process returns to the program configuration group retrieval process, and the next program configuration group is extracted.

今の場合は、処理514においてプログラム単位名”M
AIN″が取り出されたので、処理515において、M
AIN”のプログラム単位に対応する第3図のプログラ
ム構成情報310から1つの変数名”TASKI”を取
り出す。なお、次の処理516で当該プログラム単位情
報内の全ての変数名の取り出しが終了したと判定すると
、処理513のプログラム単位名の取り出し処理に戻り
、次のプログラム単位の処理を行う。
In this case, in process 514, the program unit name "M"
Since AIN'' has been retrieved, in process 515, M
One variable name "TASKI" is extracted from the program configuration information 310 in FIG. If the determination is made, the process returns to the process 513 for extracting the program unit name and processes the next program unit.

今の場合は、変数名”TASKI゛”が取り出されたの
で、処理517に進んで、取り出した変数名”TASK
I”に対応する事象種別情報が既に存在しているか否か
を判定する。最初の場合は、存在していないので、次の
処理518で、第6図に示す1つの事象種別情報610
を確保し、その変数名611に’TASKI”を格納す
る。そして、処理519において以下のような処理を行
う。
In this case, the variable name “TASKI゛” has been extracted, so proceed to process 517 and retrieve the variable name “TASKI”.
It is determined whether event type information corresponding to "I" already exists. In the first case, since it does not exist, in the next process 518, one event type information 610 shown in FIG.
is secured and 'TASKI' is stored in the variable name 611. Then, in process 519, the following process is performed.

■ 変数名”TASKI”が存在するプログラム単位情
報310におけるエントリEllの種別313が°゛タ
スク起動なので、事象種別情報610における事象種別
テーブル612の”タスク起動゛に対応するフラグ61
3を”On”にする。
■ Since the type 313 of the entry Ell in the program unit information 310 where the variable name “TASKI” exists is “task activation”, the flag 61 corresponding to “task activation” in the event type table 612 in the event type information 610 is
Turn 3 “On”.

■ 事象種別情報610の1つのエントリFilの事象
種別614に”タスク起動パを、プログラム構成のグル
ープ番号615にプログラム構成情報370におけるプ
ログラムの構成番号371に格納されている’ MA 
I N’“のプログラムの構成番号“1(Nnl)’“
を、プログラム単位名616に’MAIN”を、行番号
617にプログラム単位情報310のエントリEllに
格納されている行番号”302”をそれぞれ格納する。
■ The event type 614 of one entry Fil in the event type information 610 is "Task startup pa", and the program configuration group number 615 is stored in the program configuration number 371 in the program configuration information 370.
I N'” program configuration number “1 (Nnl)’”
'MAIN' is stored in the program unit name 616, and the line number '302' stored in the entry Ell of the program unit information 310 is stored in the line number 617.

プログラム単位情報310に格納されている変数名”T
ASKI”の処理を終えると、同プログラム単位情報3
10に格納されている残りの変数名” LOCKl” 
、” LOCKl°’、”TASKI゛について処理5
15〜519の処理を実行する。そして、プログラム単
位“’MAIN”の処理が終了したらグループ番号”1
″に属する残りのプログラム単位”S U B 3 ”
について同様の処理を行い、グループ番号パ1”の処理
が終了したら、次のグループ番号°°2”の処理を上述
と同様に行う。これによって、原始プログラムIOによ
る変数名”TASKI”に関する使用状況が全て洗い出
されて第6図の610のような事象種別情報が生成され
、また同様に原始プログラム10による変数名“EVE
NTI”に関する使用状況が全て洗い出されて620の
ような事象種別情報が生成される。
Variable name “T” stored in program unit information 310
When the processing of "ASKI" is completed, the same program unit information 3
The remaining variable name stored in 10 is “LOCKl”
, ``LOCKl°', ``TASKI'' processing 5
Processes 15 to 519 are executed. Then, when the processing of the program unit "'MAIN" is completed, the group number "1"
Remaining program units belonging to “SUB3”
When the processing for the group number "Pa1" is completed, the processing for the next group number "°°2" is performed in the same manner as described above. As a result, all usage conditions related to the variable name "TASKI" by the source program IO are identified, and event type information such as 610 in FIG.
All usage conditions related to "NTI" are identified and event type information such as 620 is generated.

プログラム全体解析部3は、全てのプログラム構成グル
ープの処理が終了したら、処理520に進み、エラー判
定処理を行う。
When the entire program analysis unit 3 finishes processing all program configuration groups, it proceeds to step 520 and performs error determination processing.

この処理520におけるエラー判定処理では、上述のよ
うにして生成した各変数名ごとの事象種別情報に基づい
て、変数名の使用状況が予め定められた規則に合致して
いるか否かを調べることにより、プログラム単位間にま
たがるタスクの同期排他制御に関するエラーの検出等を
行う。例えば第6図の変数名”EVENTI″の事象種
別情報620を解析すると、変数名”EVENTI”が
、フラグ623により同期待ち開始と同期待ち終了とで
使用され、対応がとれていることがわかり、その限りで
はエラーはない。しかし、エントリF21、F22中の
プログラム構成のグループ番号625が共に′Nα2゛
になっており、変数名”EVENTI”に関し、同一の
プログラム構成グループ番号外に同期待ち開始処理と同
期待ち終了処理が存在しないことがわかる。同一プログ
ラム構成グループ内Gこ同期待ち開始と同期待ち終了が
あるということは、例えば同期待ち開始処理が先に実行
されるとすると、そこで処理が止まってしまうので、こ
の場合、同期待ち開始がエラーと判定される。このとき
、プログラム全体解析部3は変数名”EVENTI”の
事象種別情報620におけるエントリF21のエラー情
報628にその旨の情報”err”を格納する。
In the error determination process in this process 520, based on the event type information for each variable name generated as described above, by checking whether the usage status of the variable name matches a predetermined rule. , detects errors related to synchronous exclusive control of tasks that span program units. For example, when analyzing the event type information 620 of the variable name "EVENTI" in FIG. 6, it is found that the variable name "EVENTI" is used at the start of synchronous wait and the end of synchronous wait by the flag 623, and there is a correspondence. To that extent, there are no errors. However, the group numbers 625 of the program configurations in entries F21 and F22 are both 'Nα2'', and regarding the variable name "EVENTI", there is a synchronous wait start process and a synchronous wait end process outside the same program configuration group number. I know it won't. The fact that there is a synchronized wait start and a synchronized wait end in the same program configuration group means that, for example, if the synchronized wait start process is executed first, the process will stop there, so in this case, the synchronized wait start will be an error. It is determined that At this time, the entire program analysis unit 3 stores information "err" to that effect in the error information 628 of the entry F21 in the event type information 620 of the variable name "EVENTI".

プログラム全体解析部3は、プログラム全体の解析処理
を終了すると、制御を情報出力部4に渡情報出力部4は
、例えば第6図の各変数名ごとの事象種別情報を編集す
ることにより、プログラム全体解析部3で検出されたエ
ラーの情報を含む解析情報を出力情報20として出力す
る。
When the entire program analysis section 3 finishes analyzing the entire program, it passes control to the information output section 4. The information output section 4, for example, edits the event type information for each variable name in FIG. Analysis information including information on errors detected by the overall analysis section 3 is output as output information 20.

第7図に出力情報20の一例を示す。この例では、事象
種別情報620のエントリF21のエラー情報628の
内容を参照して、変数名”EVENTI”に関し、同期
待ち開始、終了が同一プログラム構成グループ内にしか
存在しないことを意味するメンセージ710が付加され
た出力情報が出力されている。
FIG. 7 shows an example of the output information 20. In this example, with reference to the contents of the error information 628 of entry F21 of the event type information 620, regarding the variable name "EVENTI", message 710 indicates that the synchronized wait start and end only exist within the same program configuration group. The output information with is added is output.

以上、本発明の実施例について説明したが、本発明は以
上の実施例にのみ限定されず、その他各種の付加変更が
可能である。例えば、解析対象とする原始プログラムの
プログラム構成グループ分けを行わない範囲で検出可能
なエラーのみを対象とするような機能の縮小化も可能で
あり、その場合には、プログラム構成情報、CALL文
情報の生成、プログラム構成グループ分は等の機能を省
略することができる。
Although the embodiments of the present invention have been described above, the present invention is not limited to the above embodiments, and various other additions and changes are possible. For example, it is possible to reduce the functionality to only detect errors that can be detected without grouping the program structure of the source program to be analyzed. In that case, program structure information, CALL statement information Functions such as generation of program configuration groups, etc. can be omitted.

〔発明の効果〕〔Effect of the invention〕

以上説明したように、本発明の原始プログラム解析装置
においては、原始プログラムを構成する個々のプログラ
ム単位を解析して各プログラム単位内に現れるタスク起
動、排他区間開始、排他区間終了、タスク待ち合わせ、
同期待ち開始、同期待ち終了等のタスク関連文に関する
情報をあつめたプログラム単位情報を生成し、次にこの
生成した情報に基づいて原始プログラムに現れる変数毎
に、各変数がとのような使われ方をされているかを示す
事象種別情報を生成し、そしてこの事象種別情報に基づ
いて同期排他制御に関するエラーの検出を行うものであ
り、例えば成る変数が同期待ち開始のみ或いは同期待ち
終了のみに使われ、原始プログラムを構成する何れのプ
ログラム単位にもその変数を同期待ち終了或いは同期待
ち開始に使っていない等の如きエラー、すなわち管理プ
ログラム間にまたがるタスクの同期排他制御にかかるエ
ラーの検出が可能となる。
As explained above, in the source program analysis device of the present invention, each program unit constituting a source program is analyzed, and task activation, exclusive section start, exclusive section end, task waiting, etc. that appear in each program unit,
Generates program unit information that collects information about task-related statements such as synchronous wait start and synchronous wait end, and then uses the generated information to determine how each variable appears in the source program. The system generates event type information indicating whether the synchronous exclusive control is being executed, and detects errors related to synchronous exclusive control based on this event type information. It is possible to detect errors such as not using a variable to end or start a synchronous wait in any of the program units that make up the source program, that is, errors related to synchronous exclusive control of tasks spanning between management programs. becomes.

また、個々のプログラム単位の解析時にどのプログラム
単位がどのプログラム単位をタスク起動或いはCALL
しているかを示すCALL文情報を生成するとともに、
解析対象となる原始プログラムがどのようなプログラム
単位で構成されプログラム単位間にどのような参照関係
が存在するかを示1プログラム構成情報を生成し、プロ
グラム全体の解析時に上記の情報から主プログラム単位
あるいはタスク起動されるプログラム単位を先頭とし各
々のプログラム単位からタスク起動あるいは呼び出され
るプログラム単位の集合であるプログラム構成グループ
を認識し、原始プログラムに現れる変数毎に変数の使用
状況をプログラム構成グループを含めて示す事象種別情
報を生成して同期排他制御に関するエラーの検出を行う
ことにより、例えば成る変数が同期待ち開始と同期待ち
終了との双方で使用されその限りにおいては対応がとれ
ていてエラーは存在しないが、その変数に対する同期待
ち開始処理と同期待ち終了処理とが同一のプログラム構
成グループ内にしか存在しないといった如きエラーまで
検出することが可能となる。
Also, when analyzing individual program units, it is also possible to determine which program unit is responsible for task activation or CALL.
In addition to generating CALL statement information indicating whether
Generate program configuration information that shows what kind of program units the source program to be analyzed is composed of and what kind of reference relationships exist between the program units, and when analyzing the entire program, use the above information to determine the main program unit. Alternatively, it recognizes a program configuration group, which is a set of program units that are task activated or called from each program unit, starting with the program unit activated by a task, and records the usage status of variables for each variable that appears in the source program, including the program configuration group. By generating event type information indicated by , and detecting errors related to synchronous exclusive control, it is possible to detect, for example, that a variable is used at both the start and end of synchronous waiting, and as long as there is a correspondence and no error exists. However, it is possible to detect errors such as when a synchronous wait start process and a synchronous wait end process for a variable exist only in the same program configuration group.

【図面の簡単な説明】[Brief explanation of drawings]

第1回は本発明の一実施例の構成図、 第2図はプログラム単位解析部2の処理の一例を示す流
れ図、 第3図:ま解析データベース30の内容例を示1図、 第4図は原始プログラムlOの一例を示す回、第5図は
プログラム全体解析部3の処理の一例を示ず流it図、 第6図は事象種別清報の一例を示す図および、第7図は
出力情報20の一例を示す図である。 図において、 J・・・解析装置 2・・−プログラム単位解析部 3・・・プログラム全体解析部 4・・・情報出力部 10・・・原始プログラム 20・・−出力情報 0・・・解析データベース 10.320,330,340・・・プログラム単位情
報 50.360・・・CALL文情報 70・・・プログラム構成情報 10.420,430,440・・・原始プログラム1
0を構成するプログラム単位 10.620・・・事象種別情報
The first part is a configuration diagram of an embodiment of the present invention, FIG. 2 is a flowchart showing an example of the processing of the program unit analysis section 2, FIG. 3 is a diagram showing an example of the contents of the analysis database 30, and FIG. 5 shows an example of the original program lO, FIG. 5 shows a flowchart showing an example of the processing of the entire program analysis unit 3, FIG. 6 shows an example of event type report, and FIG. 7 shows the output. 2 is a diagram showing an example of information 20. FIG. In the figure, J...Analysis device 2...-Program unit analysis section 3...Whole program analysis section 4...Information output section 10...Original program 20...-Output information 0...Analysis database 10.320,330,340...Program unit information 50.360...CALL statement information 70...Program configuration information 10.420,430,440...Source program 1
Program unit 10.620 that constitutes 0...event type information

Claims (2)

【特許請求の範囲】[Claims] (1)実行可能なプログラムを互いに異なるタスクに分
割して並列実行する多重タスク化機能を有する計算機シ
ステム用に作成され高水準言語で記述された複数のプロ
グラム単位から構成される原始プログラムの解析装置に
おいて、 前記原始プログラムの個々のプログラム単位を入力して
解析し、個々のプログラム単位毎に、プログラム単位内
に現れるタスク関連文に関する情報を集めたプログラム
単位情報を生成するプログラム単位解析部と、 プログラム単位解析部で生成された情報を格納する解析
データベースと、 該解析データベースに格納された情報に基づいて前記原
始プログラムに現れる変数毎に変数の使用状況を示す事
象種別情報を生成すると共にこの生成した事象種別情報
に基づいて同期排他制御に関するエラーの検出を行うプ
ログラム全体解析部と、 該プログラム全体解析部で検出されたエラーの情報を含
む解析情報を出力する情報出力部とを含むことを特徴と
する原始プログラム解析装置。
(1) A device for analyzing source programs consisting of multiple program units written in a high-level language and created for computer systems with a multitasking function that divides an executable program into different tasks and executes them in parallel. a program unit analysis unit that inputs and analyzes each program unit of the source program and generates program unit information that collects information about task-related statements appearing in the program unit for each program unit; an analysis database that stores information generated by the unit analysis section; and event type information that indicates the usage status of each variable appearing in the source program for each variable that appears in the source program based on the information stored in the analysis database; The program is characterized by comprising an entire program analysis section that detects errors related to synchronous exclusive control based on event type information, and an information output section that outputs analysis information including information on errors detected by the entire program analysis section. Source program analysis device.
(2)実行可能なプログラムを互いに異なるタスクに分
割して並列実行する多重タスク化機能を有する計算機シ
ステム用に作成され高水準言語で記述された複数のプロ
グラム単位から構成される原始プログラムの解析装置に
おいて、 前記原始プログラムの個々のプログラム単位を入力して
解析し、個々のプログラム単位毎にプログラム単位内に
現れるタスク関連文に関する情報を集めたプログラム単
位情報とCALL関連文に関する情報を集めたCALL
文情報とを生成すると共に、前記原始プログラムのプロ
グラム構成情報を生成するプログラム単位解析部と、 該プログラム単位解析部で生成された情報を格納する解
析データベースと、 該解析データベースに格納された情報に基づいてプログ
ラム構成グループを認識すると共に前記原始プログラム
に現れる変数毎に変数の使用状況をプログラム構成グル
ープを含めて示す事象種別情報を生成し、且つ、この生
成した事象種別情報に基づいて同期排他制御に関するエ
ラーの検出を行うプログラム全体解析部と、 該プログラム全体解析部で検出されたエラーの情報を含
む解析情報を出力する情報出力部とを含むことを特徴と
する原始プログラム解析装置。
(2) An analysis device for a source program consisting of multiple program units written in a high-level language and created for a computer system with a multitasking function that divides an executable program into different tasks and executes them in parallel. In this step, each program unit of the source program is input and analyzed, and program unit information that collects information about task-related statements that appear in the program unit for each program unit and CALL that collects information about CALL-related statements.
a program unit analysis unit that generates statement information and program configuration information of the source program; an analysis database that stores information generated by the program unit analysis unit; and an analysis database that stores information generated by the program unit analysis unit; Recognizes the program configuration group based on the program configuration group, generates event type information indicating the usage status of the variable including the program configuration group for each variable appearing in the source program, and performs synchronous exclusive control based on the generated event type information. A source program analysis device comprising: an entire program analysis section that detects errors related to the program; and an information output section that outputs analysis information including information on errors detected by the entire program analysis section.
JP2138033A 1990-05-28 1990-05-28 Primitive program analyzer Expired - Lifetime JP2526713B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2138033A JP2526713B2 (en) 1990-05-28 1990-05-28 Primitive program analyzer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2138033A JP2526713B2 (en) 1990-05-28 1990-05-28 Primitive program analyzer

Publications (2)

Publication Number Publication Date
JPH0431933A true JPH0431933A (en) 1992-02-04
JP2526713B2 JP2526713B2 (en) 1996-08-21

Family

ID=15212474

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2138033A Expired - Lifetime JP2526713B2 (en) 1990-05-28 1990-05-28 Primitive program analyzer

Country Status (1)

Country Link
JP (1) JP2526713B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007108940A (en) * 2005-10-12 2007-04-26 Fujitsu Ltd Extended language specification designation method, program development method, program, and computer-readable storage medium
JP2021140501A (en) * 2020-03-05 2021-09-16 日立Astemo株式会社 Model parallelization device and method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007108940A (en) * 2005-10-12 2007-04-26 Fujitsu Ltd Extended language specification designation method, program development method, program, and computer-readable storage medium
JP2021140501A (en) * 2020-03-05 2021-09-16 日立Astemo株式会社 Model parallelization device and method

Also Published As

Publication number Publication date
JP2526713B2 (en) 1996-08-21

Similar Documents

Publication Publication Date Title
US20190354468A1 (en) Code coverage module with testing function identifier
JPH07200312A (en) Digital data processing system and error processing method
US20090019273A1 (en) Exception-based error handling in an array-based language
JPH0431933A (en) Source program analyzing device
JPH01193944A (en) System for automatically selecting test item
JPH02275539A (en) Debugging system
JP2001184235A (en) Device for obtaining and analyzing log information
JPH0926897A (en) Program analyzer and program analyzing method
JP2560545B2 (en) Interface inspection processor
JPH03161844A (en) Spelling correcting system
JPH06290039A (en) Method for changing program
US7627859B2 (en) Method for configuring non-script language library files to be run as scripts
JPH0468446A (en) Debugging supporting device
JPH0793144A (en) Program analyzer
JPS5856150A (en) Program control system
JPS63148339A (en) Program test processing system
JPS6274130A (en) Data generating system for program structure
JPH07281879A (en) Application program editing device
JPS63104133A (en) Tree searching system for logical language processing system
JP2002149652A (en) Method for processing database retrieval, its execution device and recording medium stored with its processing program
JPH0784777A (en) Trouble analysis supporting device
JPH11232086A (en) Method and device for extracting inter-task interface
JPH04338840A (en) Program debug back-up processor
JPH0337736A (en) Check information management system
JP2002073373A (en) Program verification device to extract checking program to verify peripheral and similar functions based on confirmation and inspection item for modification