JPS6149245A - Automatic analyzer of program module structure - Google Patents

Automatic analyzer of program module structure

Info

Publication number
JPS6149245A
JPS6149245A JP59171081A JP17108184A JPS6149245A JP S6149245 A JPS6149245 A JP S6149245A JP 59171081 A JP59171081 A JP 59171081A JP 17108184 A JP17108184 A JP 17108184A JP S6149245 A JPS6149245 A JP S6149245A
Authority
JP
Japan
Prior art keywords
program
module structure
module
lower module
cpu
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
Application number
JP59171081A
Other languages
Japanese (ja)
Inventor
Yoichi Ishii
洋一 石井
Kazutaka Tokunaga
徳永 和孝
Kazutaka Inoue
井上 一孝
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 JP59171081A priority Critical patent/JPS6149245A/en
Publication of JPS6149245A publication Critical patent/JPS6149245A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

PURPOSE:To attain the automatic analysis and display of a module structure by extracting a reference instruction of a lower module out of a program read out of a program library and displaying the program module structure after arrangement and storage. CONSTITUTION:When an analysis command for module structure is received by a CPU11 from an input device 14, a source program to be analyzed is read into a temporary memory 12 from a program library 20. Then a pattern of a reference instruction for desired lower module is set according to the using language type. The reference instructions corresponding to each step of a program read out of the memory 12 are checked for extraction of the reference instruction of the lower module. Then the lists of lower and upper modules are produced and an oil list written on a memory 13 is replaced. The module structure is outputted and displayed in response to a display command.

Description

【発明の詳細な説明】 発明の目的 産業上の利用分野 本発明は、指定されたプログラムをプログラム・ライブ
ラリから読出してそのモジュール構造を自動的に解析・
編集・表示する自動解析装置に関するものである。
DETAILED DESCRIPTION OF THE INVENTION Purpose of the Invention Industrial Application Field The present invention reads a specified program from a program library and automatically analyzes and analyzes its module structure.
This relates to an automatic analysis device for editing and displaying.

従来の技術 一般にプログラムは、ユーザーの多種多様な要求や技術
革新に対応できるよう、モジュール構造に基づく開放設
計となっている。
BACKGROUND OF THE INVENTION Programs generally have an open design based on a modular structure in order to respond to a wide variety of user requests and technological innovations.

従来、プログラムのモジュール構造を把握するために、
プログラムごとにモジュール構造図を人手で作成し管理
していた。
Traditionally, in order to understand the module structure of a program,
Module structure diagrams were created and managed manually for each program.

また、従来はプログラムごとに下位モジュール構造図だ
けを作成していた。
Additionally, conventionally only a lower module structure diagram was created for each program.

発明が解決しようとする問題点 上述のように、従来はプログラムごとにモジュール構造
図を人手で作成し管理していたので、プログラムのモジ
ュール構造が変更されるたびに1モジユ一ル構造図の修
正に多大な労力を要し、また修正漏れ等の誤りも生じや
すいという問題があった。
Problems to be Solved by the Invention As mentioned above, in the past, module structure diagrams were manually created and managed for each program, so each module structure diagram had to be revised every time the module structure of a program was changed. There was a problem in that it required a great deal of effort and errors such as omission of corrections were likely to occur.

また、従来はプログラムごとに下位モジュール構造図だ
けを作成していたので、特定の下位モジュールに着目し
た場合、その下位モジュールがどの上位モジュール(プ
ログラム)に参照されているのかを正確に把握すること
が困難であった。従って、下位モジュールの変更等があ
った場合、その変更等の形容が及ぶ上位モジュールの範
囲を正確に把握することが困難であるという問題があっ
た。
In addition, conventionally, only a lower module structure diagram was created for each program, so when focusing on a specific lower module, it is difficult to accurately understand which higher module (program) that lower module is referenced by. was difficult. Therefore, when there is a change in the lower module, there is a problem in that it is difficult to accurately grasp the range of the upper module to which the change applies.

発明の構成 問題点を解決するための手段 上記問題点を解決する本発明は、プログラム・ライブラ
リから指定されたプログラムを読出す読出手段と、該読
出手段から読出されたプログラムから下位モジュール参
照命令を抽出する抽出手段と、該抽出手段から抽出され
た各下位モジュール参照命令からモジュール構造を整理
して記憶する記憶手段と、該記憶手段の記憶内容を指令
に応じて表示する手段とを備えるように構成されている
!作用 本発明に係わるプログラム・モジュール構造の自動解析
装置は、指定されたプログラムのモジュール構造を自動
的に解析し、整理し1表示するように動作する。
Configuration of the Invention Means for Solving the Problems The present invention solves the above problems by providing a reading means for reading a specified program from a program library, and a lower module reference instruction from the program read from the reading means. The present invention includes an extraction means for extracting, a storage means for organizing and storing the module structure from each lower module reference instruction extracted from the extraction means, and means for displaying the stored contents of the storage means in response to a command. It is configured! Operation The automatic program/module structure analysis device according to the present invention operates to automatically analyze, organize, and display the module structure of a designated program.

以下1本発明の構成を実施例により更に詳細に説明する
Hereinafter, the structure of the present invention will be explained in more detail with reference to examples.

実施例 第1図は2本発明の一実施例のプログラム・モジュール
構造の自動解析装置1oを、プログラム・ライブラリ2
0と共に示すブロック図である。
Embodiment FIG. 1 shows an automatic program module structure analysis device 1o according to an embodiment of the present invention, and a program library 2.
FIG.

このプログラム・モジュール構造の自動解析装置10は
、CPUl1.一時記憶装置12.記憶装置13.入力
装置14及び出力装置15を備えている。
This program/module structure automatic analysis device 10 includes CPU11. Temporary storage device 12. Storage device 13. It includes an input device 14 and an output device 15.

以下、第2図のフローチャートを使用して本装置10の
動作を説明する。
The operation of the apparatus 10 will be described below using the flowchart shown in FIG.

CPU11は、動作を開始すると、まずステップ31に
おいて、入力装置14から紙カード等による指令を読取
る。CPUI 1は2次のステップ32において、入力
装置14がらの指令がモジュール構造の解析指令である
と判定すると、ステップ33に進む。ステップ33にお
いて、モジュール構造の解析対象となるソース・プログ
ラムが。
When the CPU 11 starts operating, first in step 31 it reads a command from the input device 14 using a paper card or the like. If the CPU 1 determines in the secondary step 32 that the instruction from the input device 14 is a module structure analysis instruction, the process proceeds to step 33. In step 33, a source program whose module structure is to be analyzed is determined.

プログラム・ライブラリ20から一時記憶装置12に言
売込まれる。CPUI 1は、プログラムの君売込みカ
リ冬了すると9次のステップ34に進む。ステップ34
において、一時記憶装置20内に読込まれたプログラム
のヘッダ部分がCPUIIに読取られ、解析され、使用
言語タイプが認識される。
The information is transferred from the program library 20 to the temporary storage device 12. When the CPU 1 completes the program, it proceeds to the next step 34. Step 34
At , the header portion of the program read into the temporary storage device 20 is read and analyzed by the CPU II, and the language type used is recognized.

CPUI 1は、使用言語タイプに応じて、モジュール
構造の解析に必要な下位モジュール参照命令のパターン
をレジスタに設定する。例えば、この使用言語タイプが
C0BOLの場合、CPU11は、ソース・プログラム
のモジュール構造の解析に必要なCALL命令、C0P
Y命令、ザブスキーマ・エントリ等のパターンをレジス
タに設定する。
The CPU 1 sets a pattern of lower module reference instructions necessary for analyzing the module structure in a register according to the language type used. For example, if the language type used is C0BOL, the CPU 11 executes the CALL instruction, C0P, necessary for analyzing the module structure of the source program.
Set patterns such as the Y instruction and Zabus schema entry in the register.

次のステップ35において、ソース・プログラムの最初
の1ステツプ(1文)がCPUI 1に読取られる。C
PUI 1は、ステ・ノブ36〜38において、一時記
憶装置12から読取った最初の1文をレジスタに設定し
た各パターンと照合することにより、これがCALL命
令、C0PY命令。
In the next step 35, the first step (single statement) of the source program is read into the CPUI 1. C
The PUI 1 uses the step knobs 36 to 38 to check the first sentence read from the temporary storage device 12 against each pattern set in the register, thereby determining whether this is a CALL instruction or a C0PY instruction.

サブスキーマ・エントリ等下位モジュール参照命令のい
ずれかに該当するかどうかを検査する。CPUIIは、
最初の1文が下位モジュール参照命令のいすにも該当し
ない場合にはステップ39に進み、上記検査の終了した
1文が一時記憶装置12に読込まれたプログラムの最終
文であるがどうかを判定する。
Check whether it corresponds to any of the lower module reference instructions such as subschema entries. The CPU II is
If the first sentence does not correspond to any lower module reference instruction, the process proceeds to step 39, and it is determined whether the sentence for which the above inspection has been completed is the final sentence of the program read into the temporary storage device 12. .

この場合、最終文ではないので、CPUIIの動作はス
テップ35に戻る。ステップ35において、内部記憶装
置20内に読込まれたプログラムの次の1ステツプ(1
文)がCPUIIに読取られ、この1文についても、下
位モジュール参照命令のいずれかに該当するかどうかが
検査される。
In this case, since it is not the final sentence, the CPU II operation returns to step 35. In step 35, the next step (1 step) of the program read into the internal storage device 20 is executed.
statement) is read by the CPU II, and this one statement is also checked to see if it corresponds to any of the lower module reference instructions.

このようにして、CPUIIは、プログラムの各ステッ
プについて次々に、下位モジュール参照命令のいずれか
に該当するかどうかを検査する。
In this way, the CPU II sequentially checks each step of the program to see if it corresponds to any of the lower module reference instructions.

CPUI 1は、ステップ36〜38のいずれかにおい
て、内部記憶装置12から読取ったプログラムの1文が
下位モジュール参照命令に該当する場合には、ステップ
40に進む。CPUIIは。
If the CPU 1 determines that one sentence of the program read from the internal storage device 12 corresponds to a lower module reference instruction in any of steps 36 to 38, the process proceeds to step 40. CPUII is.

ステップ40において、下位モジュール参照命令に該当
する1文を一時記憶装置12に記す、aシた後。
In step 40, one sentence corresponding to the lower module reference instruction is written in the temporary storage device 12.

ステップ39を経て、ステップ35に戻る。After step 39, the process returns to step 35.

プログラムの最終ステップに至るまで、 −に述のよう
な下位モジュール参照命令の抽出が繰返される。CPU
I 1は、ステップ39でプログラムの終了を判定する
と、ステップ41に進む。CPU11は、ステップ41
において、解析の終了したプログラムが入力装置14か
ら解析指令のあった最終のプログラムであるかどうかを
判定する。解析指令のあった最終プログラムでなければ
、CPU1lは、ステップ33において1次に解析すべ
きソース・プログラムをプログラム・ライブラリ20か
ら一時記憶装置12に読込む。この後、一時記憶装置1
2に読込まれたプログラムに対して。
The extraction of lower module reference instructions as described in - is repeated until the final step of the program is reached. CPU
When I1 determines in step 39 that the program has ended, it proceeds to step 41. The CPU 11 performs step 41.
At , it is determined whether the program whose analysis has been completed is the last program for which an analysis command was issued from the input device 14. If it is not the final program for which an analysis command has been issued, the CPU 11 reads the source program to be analyzed first from the program library 20 into the temporary storage device 12 in step 33. After this, temporary storage device 1
For the program loaded in 2.

上述したと全く同様の下位モジュール参照命令の。of the lower module reference instruction exactly as described above.

抽出が行われる。Extraction takes place.

CPUI 1は、解析指令のあった全てのプログラムに
ついて上述のような下位モジュール参照命令の抽出を終
了すると、ステップ42に進む。CPUI 1は、ステ
ップ42において、各プログラムから抽出した下位モジ
ュール参照命令を整理することにより、各プログラムが
参照している下位モジュールのリストと、各下位モジュ
ールを参照しているプログラム(上位モジュール)のリ
ストを作成し、これらを記憶装置13に書込む。これら
のリストが既に書込まれている場合には、新たに作成さ
れたリストによって旧リストの更新が行われる。従って
、プログラムを変更・修正するたびに、そのプログラム
についてモジュール構造の解析指令を発することにより
、モジュール構造のリストは自動的に更新される。
When the CPU 1 finishes extracting lower module reference commands as described above for all programs for which an analysis command has been issued, the process proceeds to step 42. In step 42, the CPU 1 organizes the lower module reference instructions extracted from each program to create a list of lower modules referenced by each program and a list of programs (upper module) that refer to each lower module. A list is created and written to the storage device 13. If these lists have already been written, the old lists are updated with the newly created lists. Therefore, each time a program is changed or modified, the module structure list is automatically updated by issuing a module structure analysis command for that program.

第3図は、各プログラムについて作成された下位モジュ
ールのリストの一例を示している。プログラムAでは、
下位モジュール(サブルーチン・プログラム)a、b、
cがCALLされ、下位モジュール(登録集メンバ)d
、eがC0PYされ。
FIG. 3 shows an example of a list of lower modules created for each program. In program A,
Lower module (subroutine program) a, b,
c is called and the lower module (registry member) d
, e is C0PY.

サブスキーマx、yが参照されることが例示されている
。一方、プログラムBでは、下位モジュールb、cがC
ALLされており、また下位モジュールaがC0PYさ
れていることが例示されている。
It is illustrated that subschemas x and y are referenced. On the other hand, in program B, lower modules b and c are C
It is illustrated that the lower module a is C0PY.

第4図は、各下位モジュールについて作成された上位モ
ジュールのリストの一例を示している。
FIG. 4 shows an example of a list of upper modules created for each lower module.

モジュールaは、プログラムA、 D、 EによってC
ALLされることが例示されている。一方、モジュール
bとCは、プログラムA、B、FによってCALLされ
、モジエールdはプログラムA。
Module a is executed by programs A, D, and E.
It is exemplified that it is ALL. On the other hand, modules b and C are called by programs A, B, and F, and module d is called by program A.

B、HによってC0PYされることが例示されている。It is illustrated that C0PY is performed by B and H.

’  CPUIIは、上述のような下位モジュールと上
位モジュールのリストからなるモジュール構造の作成を
終了すると、ステップ43に進む。表示が指令されてい
るモジュール構造を出力装置15に出力し表示させ、動
作を終了する。
' When the CPU II finishes creating the module structure consisting of the list of lower modules and upper modules as described above, the CPU II proceeds to step 43. The module structure that is commanded to be displayed is output to the output device 15 for display, and the operation ends.

入力装置14からの指令が、既に作成されてい。The command from the input device 14 has already been created.

るモジュール構造の表示である場合には1判定ステップ
32から直ちにステップ43に進み9表示が指令されて
いるモジュール構造を出力装置15に出力し表示させる
If the module structure is to be displayed, the process immediately proceeds from step 1 determination step 32 to step 43, where the module structure for which 9 display is commanded is output to the output device 15 and displayed.

これらのモジュール構造リスト、には必要に応じて9作
成/更新の日付1作成/更新者の氏名。
These module structure lists include 9 the date of creation/update 1 the name of the person creating/updating, as appropriate.

所属の識別番号等が付記される。The identification number of the affiliation etc. will be added.

以上、解析対象のプログラムをプログラム・ライブラリ
から一旦一時記憶装置12に読込む構成を例示したが、
プログラム・ライブラリから直接1ステツプずつCPU
I 1に読取るように構成してもよい。
Above, the configuration in which the program to be analyzed is temporarily read from the program library into the temporary storage device 12 has been illustrated.
Step by step CPU directly from program library
It may be configured to be read in I1.

また、下位モジュール参照命令ごとに下位モジュールと
上位モジュールのリストを作成する構成を例示したが、
下位モジュール参照命令の種別にかかわりな(モジュー
ルのみをリストアンプするように構成してもよい。
In addition, although we have illustrated a configuration in which a list of lower module and upper module is created for each lower module reference instruction,
Regardless of the type of lower module reference instruction, only modules may be list-amplified.

プログラム・ライブラリに格納されているプログラムが
ソース・プログラムである場合を例示したが、オブジェ
クト・プログラム、ロード・モジュールに対しても同様
に本発明を適用できる。
Although the case where the program stored in the program library is a source program has been exemplified, the present invention can be similarly applied to object programs and load modules.

発明の効果 以上詳細に説明したように9本発明は、指定されたプロ
グラムとモジュールの関連を自動的に。
Effects of the Invention As explained in detail above, the present invention automatically associates specified programs and modules.

′A7折、記1a2表示するように構成されているので
It is configured to display A7 fold and note 1a2.

従来のように多大な労力や誤りのおそれがなく迅速かつ
正確にプログラムのモジュール構造を作成し、更新する
ことができるという利点がある。
It has the advantage that the modular structure of a program can be created and updated quickly and accurately without the great effort and risk of errors as in the past.

また、下位モジュール構造だけでなく、上位モジュール
構造をも作成し、更新する構成であるから、下位モジュ
ールの変更が上位モジュールに及ぼす影響の範囲を迅速
かつ正確に把握することができるという利点がある。
In addition, since the configuration creates and updates not only the lower module structure but also the upper module structure, it has the advantage of being able to quickly and accurately grasp the extent of the impact that changes in lower modules have on the upper module. .

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

第1図は本発明の一実施例の構成をプログラム・ライブ
ラリと共に示すブロック図、第2図は上記実施例の動作
を説明するためのフローチャート。 第3図と第4図は作成さたモジュール構造リストの一例
を示す概念図である。 10・・プログラム・モジュール構造の自動5貿近装置
、11・・CPU、12・・一時記憶装置。 13・・記憶装置、14・・入力装置、15・・出力装
置。 茶 1  図 屋 # 3 面    某 4 面
FIG. 1 is a block diagram showing the configuration of an embodiment of the present invention together with a program library, and FIG. 2 is a flowchart for explaining the operation of the embodiment. FIGS. 3 and 4 are conceptual diagrams showing examples of created module structure lists. 10...Automatic five-way trading device with program module structure, 11...CPU, 12...Temporary storage device. 13...Storage device, 14...Input device, 15...Output device. Tea 1 Zuya #3 side Certain 4th side

Claims (1)

【特許請求の範囲】 指定されたプログラムをプログラム・ライブラリから読
出す読出手段と、 該読出手段から読出されたプログラムの各ステップから
下位モジュール参照命令を抽出する抽出手段と、 該抽出手段から抽出された各下位モジュール参照命令か
らプログラム・モジュール構造を整理して記憶する記憶
手段と、 該記憶手段の記憶内容を指令に応じて表示する手段とを
備えたことを特徴とするプログラム・モジュール構造の
自動解析装置。
[Claims] Reading means for reading a specified program from a program library; extraction means for extracting a lower module reference instruction from each step of the program read from the reading means; A program module structure automation system comprising: storage means for organizing and storing the program module structure from each lower module reference command; and means for displaying the stored contents of the storage means in accordance with the command. Analysis device.
JP59171081A 1984-08-17 1984-08-17 Automatic analyzer of program module structure Pending JPS6149245A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP59171081A JPS6149245A (en) 1984-08-17 1984-08-17 Automatic analyzer of program module structure

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59171081A JPS6149245A (en) 1984-08-17 1984-08-17 Automatic analyzer of program module structure

Publications (1)

Publication Number Publication Date
JPS6149245A true JPS6149245A (en) 1986-03-11

Family

ID=15916654

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59171081A Pending JPS6149245A (en) 1984-08-17 1984-08-17 Automatic analyzer of program module structure

Country Status (1)

Country Link
JP (1) JPS6149245A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63197229A (en) * 1987-02-12 1988-08-16 Fujitsu Ltd Automatic generation system for module structure
JPH01310438A (en) * 1988-06-08 1989-12-14 Nec Corp Call source module retrieving system
JPH03157725A (en) * 1989-11-16 1991-07-05 Sharp Corp Automatic flowchart generating device
JPH0497426A (en) * 1990-08-15 1992-03-30 Nec Corp List output system for language processing program
CN102541526A (en) * 2010-12-27 2012-07-04 富泰华工业(深圳)有限公司 Automatic program structure analyzing electronic device and method

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63197229A (en) * 1987-02-12 1988-08-16 Fujitsu Ltd Automatic generation system for module structure
JPH01310438A (en) * 1988-06-08 1989-12-14 Nec Corp Call source module retrieving system
JPH03157725A (en) * 1989-11-16 1991-07-05 Sharp Corp Automatic flowchart generating device
JPH0497426A (en) * 1990-08-15 1992-03-30 Nec Corp List output system for language processing program
CN102541526A (en) * 2010-12-27 2012-07-04 富泰华工业(深圳)有限公司 Automatic program structure analyzing electronic device and method

Similar Documents

Publication Publication Date Title
US5161211A (en) Method and system of specification processing
US6119136A (en) Manuscript text composition system featuring a parameter table for specifying template parameters and characters
KR20010022215A (en) System and method for generating year 2000 test cases
JPS6149245A (en) Automatic analyzer of program module structure
JPH03245184A (en) Monitor screen testing device
JPH0760363B2 (en) Method for automatically creating user-defined commands
JPS60200346A (en) Production of program test data
JPH0683844A (en) Check method for data
JPS63148339A (en) Program test processing system
JP2699436B2 (en) Parameter inspection processing method
JPH0778195A (en) Data updating system in circuit design cad
JP2837611B2 (en) How to edit a program
KR100264765B1 (en) Controlling algorithm changing system and changing method of controller
JPH03144730A (en) Device for supporting reuse of program parts
JPH04178829A (en) File definition information editing system in load module
JPH04246726A (en) Inspection system for module specifications
JPS63174130A (en) System for detecting value unsettled variable name
JPH07141170A (en) Method and device for preparing test supporting list
JPH06161516A (en) Checking method for sequence program
JPS62150432A (en) Command analysis system
JPS6333650B2 (en)
Petersen et al. The programming practices in geology
JPS59158448A (en) Test display system of program
JPH09138756A (en) Test method/system using interpreter
JPH04147342A (en) Declarator analysis method