JPH0324639A - プログラム理解支援方法 - Google Patents

プログラム理解支援方法

Info

Publication number
JPH0324639A
JPH0324639A JP1159249A JP15924989A JPH0324639A JP H0324639 A JPH0324639 A JP H0324639A JP 1159249 A JP1159249 A JP 1159249A JP 15924989 A JP15924989 A JP 15924989A JP H0324639 A JPH0324639 A JP H0324639A
Authority
JP
Japan
Prior art keywords
information
output
item
program
input
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
JP1159249A
Other languages
English (en)
Inventor
Hirobumi Danno
博文 団野
Ichiro Naito
一郎 内藤
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP1159249A priority Critical patent/JPH0324639A/ja
Publication of JPH0324639A publication Critical patent/JPH0324639A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野J 本発明は、ソフトウェアの生産性向上に有効なプログラ
ム理解支援方法に関し、特に、ソフトウェアの保守作業
の効率化に好適なプログラム理解支援方法に関する。
〔従来の技術〕
ソフトウェアの保守を行うには、ソフトウェアの内容を
理解することが必要である。特に,帳票やファイル等の
入出力される内容を修正する保守作業においては、該入
出力に関するプログラム内部の対応するデータ項目、あ
るいは、データの流れを把握することができれば、保守
要求を満たすために必要なプログラム内の修正個所,修
正影響範囲を知ることができ、正確に保守作業を行うこ
とができる. このデータの流れを把握するために、従来は、ソースプ
ログラムを解析し、データフローの情報を作成し、出力
する技術がある。また、プログラムの実行により、プロ
グラムの実行ステップの表示とデータが変化する様子の
表示を行うデバッグ用ツールも開発されている。例えば
、上記データフロー解析は、L, J . Oster
weil等によるrso+*eExperiences
 with DAVE−A FORTRANProgr
am AnalyzerJ(A F I P S , 
+976)に記載されている。また、デバッグ用ツール
は、特開昭61〜95458号F図式プログラム・テス
ト方式』に開示されている。
〔発明が解決しようとする課題] 上記従来技術は,プログラムが、帳票やファイル等に出
力する個々のデータ、あるいは、画面やファイル等から
入力するデータと、それを修正するために必要なプログ
ラム内の入出力個所、あるいは,入出力データ項目との
対応がわかりにくいという問題があった。
また,上記データフロー作成の従来技術は、静的な解析
により、データの流れる方向の可能性を示すのみで、種
々の情報によりデータの流れる方向が限定される実際の
プログラム実行に比べ、特定データが関係する個所を絞
ることができないという問題があった。
更に、上述のデバッグ用ツールによるデータの動的変化
の表示においては、プログラムの実行表示が主となって
おり、特定のデータの流れに基づいた表示という点につ
いての配慮がなされておらず、利用者が関係するデータ
の流れを順次追わなければならないという問題があった
本発明は上記事情に鑑みてなされたもので、その目的と
するところは、従来の技術における上述の如き問題を解
消し、プログラムの入出力情報に影響を与える保守要求
を満たす修正において、入出力された情報を直接指定す
るだけで、プログラム内の保守要求に係る修正が必要な
データ項目、あるいは、その生成経路や波及経路を利用
者に示すことにより、プログラムの保守作業におけるプ
ログラムの理解作業を効率化する手段を提供することに
ある. 〔課題を解決するための手段] 本発明の上記目的は、情報処理装置において、少なくと
も一つのプログラムを解釈実行し、入力あるいは出力の
実行ステップ識別情報,位置情報,桁数情報を含む履歴
情報を記憶するステップと、前記プログラムの実行で入
力あるいは出力された情報中の特定の入力あるいは出力
の位置情報を指定することにより、前記履歴情報内から
該当する履歴情報を検出し、その情報を出力するステッ
プとを有することを特徴とするプログラム理解支援方法
によって達成される。
〔作用〕
本発明に係るプログラム理解支援方法においては、プロ
グラムを解釈し、その実行に用いた命令の情報を命令の
履歴情報として記憶し、上述のプログラム実行によって
入出力されたデータの保守要求に係る個々のデータの位
置を指定し、この位置情報と上述の命令の履歴情報とか
ら、該当する入出力項目およびその生或経路あるいは波
及経路を検出するようにしたので、プログラムの保守作
業におけるプログラムの理解作業を効率化することが可
能になる. また、上述のプログラムの解釈・実行に際しては、実行
命令の履歴情報を記憶し利用することにより、データの
流れの可能性ではなく、プログラム実行による実際のデ
ータの流れを把握することが可能になる。更に、プログ
ラムの実行履歴情報をそのまま出力せず、利用者が指定
したプログラムの入出力項目、および、その生成経路あ
るいは波及経路のみを、命令の履歴情報から探索して出
力することにより、利用者が知ろうとするデータの流れ
を出力することが可能になる。
〔実施例】
以下、本発明の実施例を図面に基づいて詳細に説明する
第2図は、本実施例のハードウェア環境を示す図である
.図中、201は全体を制御するCPU,202は本シ
ステムにデータ等を入力するための入力装置、203は
CPU201の動作プログラムの格納エリアおよび動作
用のワークエリア等を含むメモリ、204はCPU20
1による処理結果等を表示する出力装置、また、205
はCPU201の処理対象のプログラム,データおよび
処理結果等を格納するための外部記憶装置を示している
第1図は、本発明の一実施例における処理手順を示す図
である。以下、本実施例のプログラム理解支援方法の要
点を第l図に従って説明する.まず、処理の対象とする
ソースプログラム名を入力装置202から入力し(ステ
ップlot).外部記憶装置205内に蓄積されている
該当するプログラムをプログラム構文に従って解析し(
ステップ+02)、外部記憶装置205内に蓄積されて
いるデータを入力情報として実行し、解析した情報を命
令単位に順次、実行トレース情報として上述のメモリ2
03に記憶しながら、出力情報を出力装置204に出力
する(ステップ103)。
第3図は、外部記憶装置205内に蓄積されているプロ
グラム群のうちのlプログラムの例、第4図は,これに
対応する、実行トレース情報としてメモリ203に記憶
するトレース情報の例、第5図は、同じく出力装置20
4に出力した出力情報の例を示している。
解析結果の実行は、当該プログラムの解析情報を命令毎
に順次実行するとともに、トレース情報を実行トレース
情報として上記メモリ203に記憶する。例えば、第3
図に示したプログラムにおいて、実行ステップid 3
02,命令名303,命令内容304から構成される命
令301は、「外部記憶装置と関係付けられたrFIL
EIJというファイルからデータを読み、項目名rK」
,rA」,rBJに値を代入する」という意味を持って
おり、この命令の解析結果を意味通り実行したときのト
レース情報を、第4図の実行ステップid 401.命
令名402,生成項目403,生成元項目404および
人出力位置桁405に分類し、前記メモリ203に記憶
する。
上述の入出力位置桁405は、当該命令の生成項目rK
, A, BJ( 403)を解析した結果、項目「K
」が入力項目の先頭であることから「1行1列」、桁数
が3桁であることから13桁」となり、続く項目rAJ
は、項目rKJに続く入力情報を入力することから項目
「Kjと同一行で項目「K」により人力する領域の後、
すなわち、項目rK4の列情報+桁数情報が項目「A」
の入力位置「1行4列」となり、項目「A」の桁数が3
桁であることから13桁」となる。
同様にして、次の項目rBJの入出力位置桁405は『
1行7列3桁』となる。1入力命令を終了することによ
り、入力位置情報の行数は1ずつ増えるものとする。
出力命令rPUTJについても,同様に、生成元項目の
各項目の桁数から出力位置情報のr列,桁』を決定でき
る。なお、l出力命令を終了することにより、出力位置
情報の行数はlずつ増えるものとする.本実施例で扱う
入出力命令は、入力命令rG E TJ.出力命令rP
UTJとする。同様に、第3図の命令305の解析実行
により、第5図の出力情報501を出力装置204に出
力するとともに、第4図の該トレース情報406を前記
メモリ203に記憶する. 第1図の該当位置入力(ステップl04)は、利用者が
出力装置204に出力された出力情報を参照して、入力
装置202から指定した位置情報を入力する。位置情報
の代りに、処理の終了を示す情報を入力した場合は、処
理終了の判定(ステップ105)を行う。入力した位置
情報を、実行トレース情報としてメモリ203に記憶し
た位置情報から探索し(ステップ106)、検出した場
合、該位置情報に出力する命令のトレース情報を出力装
置204に出力する(ステップ+07と108)。また
、該命令のトレース情報内の生成元項目の少なくとも1
つを生成項目に含む別の命令のトレース情報を、該トレ
ース情報から、順次遡って探索し(ステップ109)、
検出したトレース情報を出力装置204に出力する(ス
テップ108)。更に、検出したトレース情報内の生成
元項目を生成項目に含む別の命令のトレース情報を探索
して(ステップ!09)、出力する処理(ステップ10
8)を繰り返すことにより、該出力項目の生成経路とな
る実行命令のトレース情報を順次、出力装置204に出
力する. 第6図は、入力装ra 202から指定する位置情報の
例を示す図、第7図は、出力装置204に出力するトレ
ース情報の例を示す図である。例えば、第5図の出力情
報502の位置(第15行,第14列)を示す行情報お
よび列情報を入力装置202から入力することにより(
第6図の行情報rl5J(601)、列情報r14J(
602))、実行トレース情報としてメモリ203内に
記憶するトレース情報内の時間的に新しく作成された情
報から、それ以前に作成された情報へ(第4図では、下
から上に相当する)、順次、入出力位置桁欄407内の
行情報「l5」、列情報「l4」を含み、出力命令rP
UTJを命令名に持つトレース情報を探索する。
なお、トレース情報作成時に、出力命令についてのみ入
出力位置桁を作成する方法においては、出力命令rPU
TJを命令名に持つことを探索の条件にする必要はない
。第4図の例では、408が該当する位置桁を有するの
で、該トレース情報409を出力装置204に出力する
(第7図701)。これにより、第5図の出力情報50
2を出力したときの出力命令の情報を得ることができる
。更に、第4図のトレース情報内の出力項目名rW I
 J( 410)を生成項目に持つトレース情報を該ト
レース情報409より以前に作成された情報のうち、新
しく作成された情報から、それ以前に作成された情報へ
向かって順次5探索して出力装置204に出力する。第
4図の例では、生成項目rWIJを持つトレース情報4
11が該当し,該トレース情報411を出力装置204
に、第7図のトレース情報702として出力する。これ
により、出力項目名「W1」(第4図410)を生成し
た命令の情報を得ることができる。
同様にして、該トレース情報411内の生成項目「Wl
」の生成元項目名rW I J( 412), r.c
J( 413)の少なくとも一つを生成項目に持つトレ
ース情報をも、該トレース情報411より以前に作成さ
れた情報のうち、新しく作威された情報からそれ以前に
作成された情報へ向かって順次探索、検出して出力装置
204に出力する。第4図の例では、トレース情報41
4が項目名rC」を生成項目に持つことが検出されるの
で、該トレース情報414を出力装置204に出力する
(第7図のトレース情報703)。
これにより、項目名「C」(第4図の413)を生成し
た命令の情報を得ることができる。トレース情報414
の生成項目名「C』の生成元項目名rAJ(’415)
およびrBJ( 416)についても、上と同様の探索
を行うが、前記探索において、項目名rW I J( 
412)について、項目名rWj4を生成項目に持つト
レース情報を検出していないので、この探索では、項目
名rW I J( 412), rAJ( 415),
 rBJ( 416)の少なくとも一つを生成項目に持
つトレース情報を探索する。
上記探索およびトレース情報の出力装置204への出力
を繰り返し行い、すべての探索対象の項目名の探索が終
了したとき(ステップ110)、上記探索およびトレー
ス情報の出力装置204への出力の繰り返しを終了する
本実施例によれば、プログラムの機能変更時の修正、特
に、出力情報に対する修正あるいは出力情報に影響が及
ぶ修正、あるいは、プログラムテストにおける予想した
出力情報と異なる結果を出力した際のエラー修正におい
て、出力情報の該当する位置を指定することにより、該
当する項目名および該当項目値の生成経路を得ることが
でき、プログラムの理解およびプログラム修正個所の発
見を容易にすることができる。
なお、上記実施例において、トレース情報に各項目毎の
値を付加し、トレース情報の出力情報の一部にすること
により、プログラム理解の効果を更に高めることも可能
である.また、該当位置の指定を行う入力装置から、位
置情報の代りに項目名を直接入力し、該項目名を生或項
目に含むトレース情報を上記手法により探索し、トレー
ス情報を出力装置204に出力することで、プログラム
実行結果出力情報を参照することなく、項目値の生成経
路を得ることも可能である。
第8図に、本発明の第二の実施例の処理手順の図を示す
。本実施例においては、・先に第1図〜第7図に示した
実施例の作用に加えて、(1〉領域を共有する複数の項
目を配慮するようにし、(2)利用者が出力情報の行,
列位置を数えなくても位置情報を指定でき、 (3)該当項目の生成経路の表示結果をプログラム上で
確認しなくてもよい ようにしたものである. 本実施例においては、第1図に示した実施例の構文解析
において、項目データ構造の情報をメモリ203に記憶
し、該当する命令個所の探索に利用する点,プログラム
の実行結果の情報を外部記憶装@ 205に蓄積し、そ
の情報を出力装置204に表示しながら、他の命令と異
なる表示により示す点を加えたものである。すなわち、
本実施例における構文解析(ステップ801)では、前
述の実施例に示したステップ+02に、データ項目定義
部の解析において、解析結果の情報を、項目データ構造
情報としてメモリ203に記憶する機能を追加した。
また、構文解析結果の実行(ステップ802)では、前
述の実実例で示したステップ103のプログラム実行結
果の出力情報を外部記憶装置205に蓄積する機能を追
加したものである.第9図に、外部記憶装置205内に
蓄積されているプログラム群のうちの1プログラムの例
を、第lO図に、項目データ構造情報として、メモリ2
03に記憶するデータ構造の例を示す。
本実施例の構文解析(ステップ8.0 1 )における
データ項目定義部の解析は、データ項目定義構文に従っ
て行い、項目名毎の開始位置と桁数を項目データ構造情
報としてメモリ203に蓄積する。例えば、第9図に例
示したプログラムにおいて、データ項目定義ステートメ
ント901は、実行ステップid 902,データ項目
定義命令903,データ項目定義内容904, 905
および906から構成される。ここで、項目904は項
目905, 906を従属項目とする親項目であり、項
目905, 906の占める領域全体を所有する。また
、項目904はデータ項目定義ステートメント901の
先頭であることから、開始位置は先頭となり、これを解
析することにより、項目904は第lO図の解析結果l
001になり、同様に、項目905は解析結果l002
に、項目906は解析結果l003に、それぞれ解析さ
れて、メモリ203に記憶される. 第8図の該当位置指定(ステップ803)では、外部記
憶装置206に蓄積したプログラム実行結果出力データ
を出力装置204に出力し、入力装置202から該当位
置情報を入力する。位置情報の代りに処理の終了を示す
情報を入力した場合には、処理終了の判定(ステップl
05)を行う。
第I1図に、出力装置204に出力した実行結果情報お
よび該当位置指定の例を示す。例えば、第11図に示す
出力情報の特定の位置を例えば入力装置202のカーソ
ル110+を操作することにより移動して該当する位置
へ持っていき、入力装置202を操作することにより確
定して、該当位置を示す行情報,列情報を入力する。
本実施例における関連項目を生成するトレース情報の検
出(ステップ805)は、前述の実施例のステップ+0
9の機能に、メモリ203に記憶した項目データ構造情
報を基に、該当項目の探索においてこの情報を用いるこ
とにより、同一領域を共有する項目も、該当項目の探索
に加える機能を追加したものである. 第12図は、実行トレース情報としてメモリ203に記
憶するトレース情報の例、第13図は、出力装置204
に出力したプログラムおよび関連餡所の表示の例を示す
。例えば、第8図の関連項目を生成するトレース情報の
検出(ステップ805)は、実行トレース情報としてメ
モリ 203に記憶したトレース情報の中から、該当位
置指定(ステップ803)で入力した位置情報(第11
図の例では、lO行7列)を含む第12図に示すトレー
ス情報1201を検出し、出力装置204に表示したソ
ースプログラム中のトレース情報120lに該当する命
令を、他の命令と異なる表示で示す(ステップ804)
上記トレース情報+201(7)項目rXJ(+202
)は、第10図の例では、項目名rXJ(tool)に
相当し、従属項目rYJ(1002), rZ」(10
03)を持っているので,“該当列情報「7列J (1
 101)一出力列情報「1列J(1203)+l”が
第10図に示す開始位置1004に等しいか大きく、′
開始位置l004+桁数1 005″より小さいことが
成立する項目rZJ(+003)も該当項目である。
このことから、項目名「X」あるいはrZJを生成項目
に含むトレース情報を探索し、検出した第12図のトレ
ース情報l204を、第8図のソースプログラム該当位
置表示(ステップ804)で表示する。
なお、本ステップ804のソースプログラム該当位置表
示は、外部記憶装置205に蓄積されているプログラム
を入力し、該当するトレース情報の検出(ステップ10
6)および関連項目を生成するトレース情報の検出(ス
テップ805)で検出したトレース情報の示すプログラ
ム上の命令を、例えば、高輝度表示により、他の命令と
ともに出力装置204に出力する。
第13図は、出力装置204に出力した関連個所出力の
例を示している。例えば、外部記憶装置205に蓄積さ
れている該プログラムを入力し、出力装置204に通常
輝度で表示する。第13図に示す命令1301は、上記
探索により検出した第12図のトレース情報+201か
ら、実行ステップid r+20Jと一致する実行ステ
ップを持つソースプログラム内の命令であるので、この
命令のみは、高輝度表示、あるいは、通常輝度と色を変
えて表示を行う。高輝度表示は、関連項目を生成するト
レース情報の検出〈ステップ805)で順次検出したト
レース情報により、最新情報のみを表示する。また、通
常輝度表示へ戻らないよう表示を行うことも可能である
本実施例によれば、プログラム実行結果データを見なが
ら、該当位置を指定することができるので、該当位置指
定の操作性,信頼性を向上させることができる。また、
データ項目の構造情報を利用することにより、同一領域
につけた項目名が異なっていても、項目値の生成経路を
探索できるので、正確に生成経路を辿ることができる。
更に、ソースプログラムを出力し、その中に該命令を明
示して出力することにより、該命令の確認を容易にする
ことができる。
第14図に、本発明の第三の実施例における処理手順を
示す.第1図に示した実施例では、人力項目に対する波
及経路の出力は考慮していなかったが、本実施例は、第
l図に示した実施例の関連項目を生成するトレース情報
の検出(ステップ109)の代りに、該当項目の波及経
路を探索するための関連項目を生成元に持つトレース情
報の検出ステップ(ステップ140+)を持つ。他のス
テップは、第1図に示したものと同じである。
利用者が出力装置204に出力されたプログラム実行結
果情報を参照して、入力装置202から指定した位置情
報(ステップ104)を、実行トレース情報としてメモ
リ203に記憶する位置情報より探索し、該位置情報か
ら入力情報を入力する命令のトレース情報を検出して(
ステップ106)、出力装置204に出力する(ステッ
プ+08).次に、該トレース情報内の生成元項目の少
なくとも1つを生成元項目に含むトレース情報を、トレ
ース情報から順次検出して(ステップ+401)、検出
したトレース情報を出力装置204に出力する(ステッ
プ108)。更に、検出したトレース情報内の生成項目
を生成元項目に含むトレース情報を検出して(ステップ
+401)、出力する処理(ステップ108)を繰り返
すことにより、該入力項目の波及経路となる実行命令の
トレース情報を順次、出力装置204に出力する.例え
ば、利用者が該当位置指定入力装置202から位置情報
としてrl,4J(1行4列を示す)を入力した場合、
第4図に示すトレース情報内の時間的に前に作成された
情報から、新しく作成された情報へ(第4図では、上か
ら下に相当する〉順次、まず、入出力位置桁欄407内
の行情報「1」、列情報r4Jを含み、入力命令rGE
TJを命令名に持つトレース情報を探索する。なお、ト
レース情報作成時に,入力命令についてのみ入出力位置
桁を作成する方法においては、入力命令rGETjを命
令名に持つことを探索の条件にする必要はない。
第4図の例では、405内の項目rAJが該当するので
、該トレース情報420を出力装置204に出力する.
これにより、外部記憶装置205に蓄積するプログラム
実行のための入力情報の1行4列目から該入力情報を入
力したときの入力命令の情報を得ることができる。更に
、第4図のトレース情報内の入力項目『A」を生成元項
目に含むトレース情報を、該トレース情報420より以
前に作成された情報のうち、前に作成された情報から、
新しく作成された情報へ向かって順次検出(ステップ1
401)して出力する(ステップ+08), 第4図の例では、生成元項目にrAJを含むトレース情
報417が該当し、該トレース情報417を出力装置2
04に出力する。これにより、入力項目名rAJを利用
した命令の情報を得ることができる。
同様にして、該トレース情報417内の生成項目名rc
Jc 418)および入力項目名rAJの少なくとも一
つを生成項目名に含むトレース情報をも、前に作成され
た情報から新しく作成された情報へ向かって順次検出し
て出力する(ステップl401と108)。
第4図に示す例では、トレース情報419が項目名rc
J( 418)を生成元項目に含むことが検出されるの
で、当該トレース情報419を出力装置204に出力す
る。これにより、項目名rcJ( 418)を利用した
命令の情報を得ることができる。
上記検出および該トレース情報の出力装置204への出
力を繰り返し行い、すべての検出対象の項目名の探索が
終了したときくステップ110)、上記検出および該ト
レース情報の出力装置204への出力の繰り返しを終了
する。
本実施例によれば、プログラムの機能変更時の修正、特
に、入力情報に対する修正あるいは入力情報に影響が及
ぶ修正において、該入力情報の該当する位置を指定する
ことにより、該当する項目名,および該当項目値の波及
経路を得ることができ、プログラムの修正個所の発見を
容易にすることができる。
本実施例において、トレース情報に各項目毎の値を付加
し、該トレース情報の出力情報の一部にすることにより
、プログラム理解の効果を高めることも可能である。ま
た、入力装置202から、項目名を直接入力し、該項目
名を生成元項目に含むトレース情報を上記検出し、該ト
レース情報を出力装置204に出力することにより、プ
ログラム実行入力データ情報を参照することなく、項目
値の波及経路を得ることも可能である。更に、出力装置
204への出力情報を利用者が選択して指定することを
可能にすることにより、利用者に必要な情報のみを出力
することも可能である。
第15図に、本発明の更に別の実施例における処理手順
を示す。本実施例は、第1図に示した実施例では、入力
情報によっては、メモリ203内に記憶するトレース情
報の量が多くなり過ぎる場合があるのを解消するための
ものである。すなわち、出力項目を生成する項目および
命令の数は、探索により増える一方となる。本実施例は
、第1図に示した実施例に、関連する命令の探索に構文
解析した情報を利用することにより、トレース情報の記
愉を入出力命令のトレース情報のみとした点、それぞれ
の関連する命令に該当する解析情報のうち、共通の情報
を出力することにより関連する命令を絞り込むようにし
た点、および、関連する命令の出力を第8図に示した実
施例の出力と同様にした点が異なる。追加したステップ
以外は、第1図に示した実施例とほぼ同様である。以下
、詳細に説明する. 第16図は,先に第3図に示したソースプログラムを、
解析した情報としてメモリ203に記憶した例を示して
いる.例えば、第3図に示したソースプログラムの命令
30!は、実行ステップid302,命令名303,命
令内容304から構成されることを命令構文に従って解
析して、解析情報として、メモリ203内に、第l6図
に示す如く、実行ステップid1601,命令名+60
2,生成項目1603,生成元項目1604に分類記憶
する。
第15図中の構文解析結果の実行(ステップ+501)
は、第1図の実施例のステップ!03と5 トレース情
報のメモリ203への記憶において、入出力命令のトレ
ース情報のみをトレース情報としてメモリ203に記憶
する点が異なる。具体的には、第16図の解析情報+6
05の実行によって、命令名rGETJ(1602)が
入出力命令であることから、実行トレース情報としてメ
モリ203にトレース情報を記憶する。トレース情報の
記憶方法については、第1図に示した実施例と同様であ
る。以下、複数の該当位置の入力による関連する命令の
絞り込みについて、第15図により説明する。まず、入
力装置202から位置情報を入力し(ステップ!04)
、該当するトレース情報をメモリ203に記憶した実行
トレース情報から探索し、検出したトレース情報中の実
行ステップidを持つ解析情報をメモリ203に記憶し
た解析情報から探索する(ステップ1502)。検出し
た解析情報を検出情報としてメモリ203に記憶し(ス
テップ+503)、出力装置204に表示したソースプ
ログラム上の該当する命令の表示を、他の命令と異なる
ように表示出力する(ステップ+504),本実施例に
おける、ソースプログラム該当位置表示(ステップ15
04. 1513)は、第8図に示した実施例のソース
プログラム該当位置表示(ステップ804)の、トレー
ス情報を基に出力装置204へ表示出力する代りに、解
析情報を基に出力装置204に表示出力する機能を付加
した点を除けば、第8図に示した実施例のステップ80
4の機能と同様である.前述の検出したトレース情報中
の位置情報に該当する項目名に関連する項目を持つ解析
情報、すなわち、前記検出したトレース情報中の位置情
報に該当する項目名に関連する項目を生成する解析情報
および検出したトレース情報中の位置情報に該当する項
目名に関連する項目が波及する解析情報をメモリに記憶
した解析情報から順次探索し(ステップ!505)、検
出した場合(ステップ+506)、検出した解析情報を
検出情報としてメモリ203に順次記憶する(ステップ
+503)。
関連項目を持つ解析情報を検出できなかった場合(ステ
ップ+506)、次に入力装置202から前とは別の位
置情報を入力すると(ステップ+507)、該当するト
レース情報をメモリ203に記憶した実行トレース情報
から探索し、検出したトレース情報中の実行ステップi
dを持つ解析情報をメモリ203に記憶した解析情報か
ら探索し(ステップ+509)、検出した場合(ステッ
プ+510)、検出した解析情報を検出情報としてメモ
リ203に記憶した解析情報から探索して、検出した場
合(ステップ+511)、検出した解析情報のみを、関
連個所情報としてメモリ203に記憶し(ステップ15
12)、出力装置204に出力する(ステップ+513
)。検出した解析情報が複数ある場合には、検出したす
べての解析情報の処理が終了する(ステップ+514)
まで、ステップ1511からのステップを繰り返す。
また、前述の検出したトレース情報中の位置情報に該当
する項目名に関連する項目を持つ解析情報をメモリ20
3に記憶した解析情報から順次探索し、検出した場合(
ステップ+515と1516)には、検出した解析情報
を検出情報としてメモリ203に記憶した解析情報から
探索して、検出した場合のみ(ステップ+511),検
出した解析情報を関連個所情報としてメモリ203に記
憶し(ステップ15+2)、出力装置204に出力する
(ステップ1513)処理を繰り返す。更に、入力装置
202から前述とは別の位置情報を入力することにより
、メモリ203に記憶した検出情報を空にして、関連個
所情報としてメモリ203に記憶する解析情報を検出情
報としてメモリ203に記憶し、メモリ203に記憶し
た関連個所情報を空にした上で(ステップ15+7)、
前述と同様の手続きを行う. 第17図に、実行トレース情報としてメモリ203に記
憶するトレース情報の例を、第18図に、入力装置20
2から入力する位置情報の例を示す。例えば、入力装置
202からの入力は、第18図に示す入出力区分r I
 NJ(1801)が外部記憶装置205に蓄積する入
力情報を対象とすることを示す.ファイル名rF I 
L E I J(1802)は、外部記憶装置205に
蓄積する入力情報に関連付けられているファイル名であ
り、プログラムの構文解析(ステップ102)で解析す
るプログラムの入力情報が複数ある場合の入力情報を特
定するために用いる。なお、行情報r I J (+8
03) ,列情報r4J(+804)により、入力情報
の特定の位置を指定する。
また、入出力区分r O U T J (+805)は
、出力装置204に出力された出力情報を対象とするこ
とを示す。ファイル名rF I L E 2J(+80
6)は、出力装置204に関連付けられているファイル
名であり、構文解析するプログラムの出力情報が複数あ
る場合の出力情報を特定するために用いる。なお、行情
報rl5J (1807) ,列情報rl4J(+80
8)により,出力情報の特定の位置を指定する。第19
図に、検出情報蓄積(ステップ+503)によって検出
情報としてメモリ203に記憶した解析情報の例を、ま
た、第20図に、関連餡所情報蓄積(ステップ+512
)により関連鋼所情報としてメモリ203に記憶した解
析情報の例を示す. 例えば、ステップ1502. 1509における、該当
するトレース情報の検出は、入力装置202から第18
図で示す位置情報l809を入力した場合、入出力区分
r I NJ(+801)が入力情報を示しているので
,実行トレース情報としてメモリ203に記憶したトレ
ース情報の命令名が入力命令を示すrGETjで、生成
元項目にファイル名rF I L E I J(180
2)を持ち、また、行情報r I J(+803),列
情報r4J(1804)を含む入出力位置桁情報を持つ
トレース情報を探索する。第17図の例では、トレース
情報l701がこれに該当する。次に、該トレース情報
l701の実行ステップid rllOJを持つ、メモ
リ203に記憶した解析情報を探索する。第16図の例
では、解析情報l605が該当する. 次に、検出情報蓄積(ステップ1503)で、上記解析
情報1605を検出情報としてメモリ203に記憶し(
第19図で示す解析情報1901)、出力装@ 204
に表示出力する(ステップ+504)。次に、対象が入
力情報であることから、項目値の波及経路を求めるため
、第17図のトレース情報+701内の前述の位置情報
に該当する項目rAJ(1702)を生或元項目に含む
解析情報を、メモリ203に記憶した解析情報から検出
する(ステップ+505)。第16図の例では解析情1
11606. 1607を検出するので、検出情報とし
てメモリ203に記憶し(1902. 1903:ステ
ップ1503)、出力装置204に表示出力する(ステ
ップ+so4)。ステップI505では、検出した解析
情報中の生成項目rc1,rF I LE2Jを、前述
の探索に利用した項目「A」に加え、項目rAJ,rc
』,rF I LE2Jの少なくとも一つを生成元項目
に含む解析情報を再び探索する。第16図の例では、解
析情報+606が再び該当するが、既に検出情報として
メモリ203に記憶済みであるので、重複して記憶する
ことはせず、別の該当する解析情報を探索する。第16
図の例では解析情報1608が該当し,検出情報として
メモリ203に記憶し(+904 :ステップ+503
)、出力装置204に表示出力する(ステップ1504
)。以下、前述と同様の探索を行い、検出した解析情報
の記憶を、該当する解析情報が検出できなくなるまで繰
り返す(ステップ+506)。
次に、入力装置202から、前述とは別の第18図に示
す位置情報18lOを入力する(ステップ1507)。
位置情報の代りに処理の終了を示す情報を入力した場合
(ステップ+508)は、処理を終了する.位置情報+
810は、入出力区分「○UTJ(+805)が出力情
報を示しているので、実行トレース情報としてメモリ2
03にトレース情報の命令名が出力命令を示すrPUT
Jで生成項目にファイル名rFILE2J(+806)
を持ち、また、行情報rl5J(1807),列情報r
l4J (1808)を含む入出力位置桁情報を持つト
レース情報を探索する(ステップ+509).第17図
の例では、トレース情報l703が該当するので、該ト
レース情報1703の実行ステップid r540Jを
持つ解析情報としてメモリ203に記憶した解析情報を
検出することになる. 第16図の例では、解析情報l609が該当する.該解
析情報1609を、検出情報としてメモリ203に記憶
した解析情報から検出する.第19図の例では、解析情
報l905が該当する(ステップ+511)ので,第2
0図解析情報200lに示す如く関連伺所情報としてメ
モリ203に記憶するとともに(ステップ1512)、
出力装置204に表示出力する(ステップ1513),
該当する解析情報が検出情報中にない場合には、関連個
所情報としてのメモリ203への記憶は行わない.検出
情報との比較対象とする解析情報は解析情報l609の
みであるため、次に、対象が出力情報であることから項
目値の生成経路を求めるため、第17図に示すトレース
情報1703の前述の位置情報に該当する項目rW I
 J (1704)を生成項目に含む解析情報をメモリ
203に記憶した解析情報から探索する(ステップ15
+5), 第!6図の例では、解析情報1610, !608が該
当する(ステップ1516)。まず、解析情報1610
を検出情報としてメモリ203に記憶した解析情報から
探索する.第19図の例では、該当する解析情報はない
(ステップ+511),これは、入力装置202から入
力した前述の二つの位直情報に共通する解析情報でない
ことを示す.次に、解析情報1608があるので(ステ
ップ1514)、検出情報としてメモリ203に記憶し
た解析情報から探索する.第19111の例では、解析
情報l904に該当するので(ステップ1511)、関
連個所情報として第20図解析情報2002に示す如く
メモリ203に記憶するとともに(ステップ1512)
、出力装置204に表示出力する(ステップ1513)
.検出情報との比較対象とする解析情報は、処理済みの
解析情報1610. 1608のみであるため、次に、
検出した解析情報1904中の生成元項目「WIJ.「
C』の少なくとも一つを生成項目に含む解析項目を再び
探索する(ステップ+515). 第16図の例では、解析情報1610, 1606. 
1608が該当する(ステップ+516),解析情報+
610は、前述の如く検出情報に該当する解析情報がな
い。次に解析情報1606があるので、検出情報として
メモリ203に記憶する解析情報から探索する.第19
図の例では、解析情報l902に該当する(ステップ+
511)ので、第20図解析情報2003に示す如く関
連個所情報としてメモリ203に記憶し(ステップ15
12)、出力装置204に出力する(ステップ1513
)。なお、更に、解析情報l608があるので(ステッ
プ+514)、検出情報としてメモリ203に記憶する
解析情報から探索する. 第19図の例では、解析情報l904に該当するので(
ステップ1511)、関連個所情報としてメモリ203
に記憶しようとするが、既に同一の解析情報2002を
記憶済みなので、重複記憶はしない.前述と同妻の解析
情報の探索をし(ステップ+515と1516)、検出
した解析情報の検出情報の探索,関連個所情報としてメ
モリ203への記憶,出力装置204への表示出力(ス
テップ!511. 1512. 1513)および対象
とする解析情報についての繰り返しを、該当する解析情
報がなくなるまで行う. 本実施例によれば、すべての実行命令のトレース情報を
記憶することなく、入出力命令のトレース情報と解析情
報から、指定した入出力装置の位置に該当する項目に関
連する命令を検出でき、前述の実施例に比べて、トレー
ス情報の記憶領域を削減することが可能になる.また、
入出力情報の複数の位置に該当する項目間に共通の命令
を検出できることから、プログラムの機能変更時の修正
個所、あるいは、プログラムテストにおける修正個所の
発見に転いて、対象とする命令を限定することができる
ので、プログラムの理解およびプログラム修正個所の発
見を容易にすることが可能になる。なお、ソースプログ
ラム該当位置表示において、第20図に示した関連個所
情報のすべての生成項目および生成元項目に含まれる項
目を、出力装置に出力済みのソースプログラムのデータ
定義部の該当する項目名を高輝度表示する等の機能とし
て付加することにより、関連する項目名を特定すること
ができ、プログラム理解をより容易にすることが可能に
なる。
第21図に、本発明の更に別の実施例の処理手順を示す
。本実施例は、第15図に示した実施例に、該当位置の
入力の代りに、出力結果情報を修正して、修正前の出力
結果情報と修正した出力結果情報の差異の情報により、
該当する位置を取得するステップを加えた点、解析情報
を用いた項目の生成経路の探索の代りに、トレース情報
のみを使用する点が異なる.本実施例における構文解析
結果の実行およびトレース情報の記憶のステップは、第
8図に示したステップ802と同じである.第21図の
出力データ修正(ステップ2’+ 01 )は、外部記
憶剤置205に蓄積されたプログラム実行結果データを
入力し、入力装ra202からの操作コマンドにより、
該出力情報中の任意の情報を、出力装置204に出力、
あるいは、修正し、修正済み出力情報として外部記憶装
置205に出力する機能を持つ。第22図は、第5図の
プログラム実行結果データの例を出力装置204に出力
して、修正中の、出力情報の例を示す. 例えば、第22図で示す出力情報の値rl2J (22
01)および値r 152J(2202)は,第5図に
示す出力情報の値rllJ( 503)および値r 1
51J( 502)を修正コマンドにより修正した結果
を示している。外部記憶装[ 205への修正済み出力
情報の蓄積は、入力装置202からの終了操作コマンド
、あるいは、修正データとして外部記憶装置205への
蓄積を指示する蓄積コマンドにより行う(ステップ21
01)。
差異検出(ステップ2102. 2107)は、外部記
憶装置205に蓄積したプログラム結果実行結果データ
と、外部記慎装置205に蓄積した修正済み出力情報を
それぞれ入力し、行,列毎に差異を検出し、検出した行
,列の位置情報を検出結果とする。検出結果がない場合
(ステップ2103)には、処理を終了する。例えば、
まず、第5図に示す出力情報の行501、および、第2
2図に示す修正済み出力情報の行2203を入力し、行
単位で比較する.ここでは等しいので、それぞれ、次の
行を入力し、行単位の比較を行い、行単位の比較で等し
くなくなるまで繰り返す。第5図と第22図の例では、
それぞれの14行目の比較において等しくなくなるので
、該行に対し、列単位での比較を、等しくない列がみつ
かるまで繰り返す。第5!XJと第22図の例では、3
列目に等しくない列がある.このことから、第5図と第
22図に示す出力情報の14行3列目は等しくないこと
がわかる。次に、上記検出個所から列単位の比較を続け
、等しい列がみつかるまでの列数を数える。この例にお
いてはl桁である。これにより、第5図に示す出力情報
と第22図に示す修正済み出力情報は、「14行3列目
からの1桁』が異なることがわかり、検出結果として[
4, 3,  IJの位置情報を取出すことができる. 次に、第1図に示したステップ106と同じ該当するト
レース情報の検出(ステップ2104)により、位置情
報に該当する実行トレース情報としてメモリ203に記
憶したトレース情報を検出する。検出したトレース情報
から、関連するトレース情報を順次、検出情報としてメ
モリ203に記憶するステップ(ステップ1503〜+
506)は、第15図に示したと同じ番号のステップと
、扱う情報が解析情報の代りにトレース情報であること
以外は同じである。
上記、ステップ+506で、項目の生成経路の検出が終
了した場合,差異検出(ステップ2105)で前述とは
別の差異情報である位置情報を検出する。前述の差異検
出(ステップ2102)の続きの行を対象として、差異
検出を行う。例えば、第5図と第22図の例では、前述
の差異検出(ステップ2102)同様の比較を続け、r
l5行17列目からのl桁」が異なることがわかり、検
出結果としてrl5. 17,  IJの位置情報を取
出すことができる。差異情報が検出できない場合には(
ステップ2106)、処理を終了する。
そうでけなければ、検出した位置情報に該当するトレー
ス情報をメモリ203に記憶した実行トレース情報から
探索する(ステップ2107)。このステップは、第1
図に示す実施例のステップ106と同じである.検出し
たトレース情報から、関連するトレース情報を順次、メ
モリ203に記憶した検出情報と照合するステップ(ス
テップ1511〜+517)は、第15図に示す同じ番
号のステップと、扱う情報が解析情報の代りにトレース
情報であること以外は同じである。
以前にも示した第4図は、実行トレース情報としてメモ
リ203に記憶するトレース情報の例を示している。第
23図は、検出情報としてメモリ203に記憶するトレ
ース情報の例を示している。例えば、まず、差異検出(
ステップ2102)で検出した位置情報rl4, 3,
  IJを基に、実行トレース情報としてメモリ203
に記憶するトレース情報の入出力位置桁欄内に行情報「
14』、列情報『3』、桁数情報r】』を含み、出力命
経rPUTJを命令名に持つトレース情報を探索する.
第4図の例では、トレース情報406の項目rAJが、
行情報「I4」で一致、列情報『l」で異なるが、桁数
情報「3」であることから、項目rAJの占める領域は
、列情報rl』,r2」,「3」のいずれかであり、指
定された位置情報の列情報r3Jを含む.また,指定さ
れ位置情報の桁数情報「l』から、項目rA」の占める
領域を外れないことがわかる.従って、第23図トレー
ス情報230Iに示す如く、該トレース情報406を検
出情報としてメモリ203に記憶する。続く項目名の生
成経路探索は、第1図に示した実施例と同じであるが、
検出したトレース情報は、順次、検出情報としてメモリ
203に記憶する. 次に、差異検出(ステップ2105)で、前述とは別に
検出した位置情報rI5. 17,  IJを基に、実
行トレース情報としてメモリ203に記憶するトレース
情報を前述と同様に探索する.第4図の例では、トレー
ス情報409が該当するので、該トレース情$1 40
9を検出情報としてメモリ203に記憶するトレース情
報から探索する.検出した場合は、該トレース情報を関
連鋼所情報としてメモリ203に記億するが、第23図
の例では、該当するトレース情報がない.続いて、第1
図に示した実施例と同様の項目名の生成経路探索を行い
、検出したトレース情報は,検出情報としてメモリ20
3に記憶するトレース情報から探索し、検出した場合、
該トレース情報を関連個所情報としてメモリ203に順
次記憶する.第23図の例では位置情報rl5. 17
,  IJかも検出できる生成経路上のトレース情報の
うちで、一致するトレース情報は2302のみである。
本実施例によれば、プログラム実行結果データにエラー
があった場合、出力情報のエラー個所を正しく修正する
ことにより、該当するエラーに関連するプログラム上の
実行ステップを出力するので、プログラム修正における
エラー個所の発見を容易にすることができる。また、出
力結果データ修正(ステップ2101)を設けず、修正
済み出力情報の代りに、プログラム実行結果予想データ
を予め蓄積しておくことにより、プログラムのエラー個
所の発見を容易にすることができる。
第24図に、本発明の更に別の実施例の処理手順を示す
。前述の各実施例においては、トレース情報を記憶する
ことにより、出力情報とプログラム内のデータ項目との
対応をとっていたが、本実施例では、トレース情報を持
たない方法を示す。
本実施例では、第8図に示した実施例の実行トレース情
報のメモリ203への記憶の代りに、出力結果情報に該
当する出力命令の実行ステップ1dを付加する点,検出
する情報をトレース情報の代りに解析情報とする点が異
なる.変更したステップ以外は、第8図に示した実施例
と同様である。
第25図は、解析情報としてメモリ203に記憶した解
析情報の例を示しており、第26図は、プログラム実行
結果データとして外部記憶装置205に蓄積した出力情
報の例を示している。例えば、第9図に示した外部記憶
装ra205に蓄積するソースプログラムを解析し、解
析情報としてメモリ203に記惚した解析情報の例を第
25図に示す。
第26図で示す出力情報260lは、第9図に示す出力
命令907を解析した第25図で示す解析情報250l
の実行により作成した情報で、解析情報2501の実行
ステップid r+20Jとともにプログラム実行結果
データとして外部記憶装置205に蓄積する(2601
,2602 :ステップ2401). 本実施例における該当位置指定(ステップ803)は、
プログラム実行結果データとして外部記憶装置205に
蓄積したプログラム実行結果出力情報のうち、第26図
で示す出力情報部分2603を出力する点以外は、第8
図に示した実施例の機能と同様である.上記実施例にお
ける、該当する解析情報の検出(ステップ2402)は
、該当位置情報を、該当するプログラム実行結果出力情
報の実行ステップidとともに検出する点の外は、第8
図に示す実施例の機能に同じである. 例えば、該当位置情報『!0行7列』で示される位置は
,第26図の出力情報260Iに含まれるので、該出力
情報に対応する実行ステップid rl20J(260
2)および該当位置情報『10行7列jを検出する.本
実施例における関連項目を生成する解析情報の検出(ス
テップ2403)は、第8図に示す実施例の機能805
のうち、出力情報を出力した命令に該当するトレース情
報の出給項目名を該当項目として検出する機能に代り、
該当位置から検出した実行ステップidに該当する解析
情報をメモリ203からから探索し、検出した解析情報
の生成元項目に含まれる項目名を該当項目として検出す
る機能を備えている.例えば、該当位置から検出した実
行ステップid r+zoJに一致する実行ステップi
dを持つ解析情報をメモリ203から探索する.第25
図の例では、解析情報2501が該当し、生成元項目r
XJを該当項目として検出する.以下、第8図に示す実
施例と同様の手続きにより、項目名rXJの生成経路を
検出して、出力装置204に出力する.本実施例によれ
ば、実行トレース情報を記憶することなく、該当する項
目の生成経路を得ることができ、第8図に示す実施例よ
り記憶域を少なくすることが可能になる. 上記実施例のプログラム実行結果データとして外部記億
装置205に記憶する実行ステップidの代りに、該当
する出力命令の生成元項目を蓄積し、該当位置指定で検
出する情報の一部とすることにより、該当項目の検出の
うち、出力項目名の検出機能を省略することも可能であ
る. 第27図に、本発明の更に別の実施例の処理手順を示す
.本実施例は、第8図に示す実施例に、指定された該当
位置に該当する解析情報の項目属性を修正するステップ
と、解析情報から新プログラムソースを生成するステッ
プを追加したものである.追加したステップ以外は、第
l図に示した実施例と同様である. 第27図の該当位置指定(ステップ2701)は、第8
図に示す実施例の該当位置指定(ステップ803)の機
能に、項目の長さ,型を入力装置202から指定する機
能を追加したものである.第28図は、出力装置204
に出力した実行結果情報および該当位置指定,属性指定
入力の例を示す。第28図に示す出力情報の特定の位置
を指定すると、長さと型を利用者に間合せるメッセージ
280 1を出力装@ 204に出力し、長さと型を利
用者が入力するのを待つ。
例えば、長さだけを「6」と入力した場合、入力情報の
意味は、「長さ6」とrls行15列』となる。
次に、ステップ106による該当するトレース情報の検
出により、該当するトレース情報を検出する.例えば、
第4図に示す実行トレース情報としてメモリ203に記
憶するトレース情報の例では、「長さ6J, rl5行
15列」の情報に対して,探索の結果、トレース情報4
09が検出され、これから、出力項目がr項目名W I
 J( 410)と検出できる。
本実施例における項目属性修正(ステップ2702)は
、まず、ステップ+06による該当するトレース情報の
検出、あるいは、関連項目を生成するトレース情報の検
出(ステップ805)で検出したトレース情報中の、生
成元項目の項目名を生成項目に持つ項目の定義部の解析
情報をメモリ203から探索し、検出した解析情報の「
長さ」,『型』を、該当項目指定〈ステップ270+ 
)で入力した「長さ」,「型」に置換する.次に、検出
したトレース情報の生成項目、生成元項目に含まれる項
目名を生成項目に持つ項目の定義部の解析情報をメモリ
203からそれぞれ探索し、検出した解析情報の「長さ
J,r型」を基に、生成項目に含まれる項目名の「長さ
」,「型」と、生成元項目に含まれる項目名の「長さ』
,「型」との整合性を検査する。
ここで、整合性とは、例えば、rX=Y+B」という式
において、rY+B』の計算によって生成される長さ,
型が、rXJの長さ,型と一致するか、rXJの長さ,
型が、rY十BJの計算によって生成される長さ,型を
包含している場合に、整合性がとれているという。整合
性に矛盾がある場合、該当するトレース情報と、該当す
る項目の定義部の解析情報を出力装置204に出力し、
入力装置202から正しい情報を利用者によって入力す
る。利用者によって入力された「項目名j,「長さ」,
r型」により該当する解析情報を置換する。
前述の『長さ」,「型」の整合性の検査および修正(ス
テップ2702)を、関連項目を生成するトレース情報
の検出(ステップ805)でトレース情報が未検出(ス
テップ110)になるまで、順次繰り返す.第29図は
、解析情報としてメモリ203に記憶する解析情報のう
ち、項目定義部の例を示す.例えば、まず、項目rWI
Jを生成項目に持つ定義部の解析情報をメモリ203か
ら探索する.第29図の例では、解析情報2901が該
当するので、「長さ6」かラ定義情報rF I X(4
)J(2902)をrF I X(6)JG.−置換す
る.次に、関連項目を生成するトレース情報の検出(ス
テップ805)から、検出したトレース情報、例えば、
第4図に示すトレース情報4+1から、生成項目に含ま
れる項目rWIJ,生成元項目に含まれる項目『Wl」
,「C」を生成項目に持つ項目の定義部の解析情報を、
メモリ203からそれぞれ探索する. 第29図の例では、定義情報がrF I X(6)Jと
なった解析情報290lが項目名rWIJに、また、解
析情報2903が項目名『C」にそれぞれ対応し、「長
さ』および「型」による整合性の検査を行う.この例で
は、生成項目rWIJはrF I X(6)J,生成元
項目rW1+cJはrFIX(6)Jとなり、整合性が
保たれている。該当位置指定(ステップ2701)で位
置指定の終了を示す指定により(ステップ105)、修
正したメモリ203中の解析情報により再実行を行うか
、修正したメモリ203中の解析情報により新ソースプ
ログラムを生成するかを利用者に間合せる(ステップ2
703).利用者の指定が、「実行」の指定の場合には
、ステップ802から繰り返す。また、「新ソースプロ
グラムの生成』指定の場合は,プログラム生成(ステッ
プ2706)を行う。
本プログラム生成〈ステップ2706)は、解析情報と
してメモリに記憶している解析情報からプログラム構文
に従って、ソースプログラムを生成し、新ソースプログ
ラムとして外部記憶装@ 205に出力する。
本実施例によれば、利用者は、出力情報を修正すること
により、プログラム修正あるいはテストを直ちに行うこ
とができ、プログラムの修正,テストを容易に行うこと
が可能になる。
第30図は、本発明の別の実施例を示す処理手順であり
、本実施例のプログラム理解支援方法は、出力装置20
4に、前述の各実施例に示したプログラム理解支援方法
を紹介するメッセージを出力し(ステップ3001)、
利用者がステップ3002で人力装置202から入力し
たプログラム理解支援方法のidにより、該当するプロ
グラムを外部記憶装ra2o5に蓄積した支援プログラ
ム群から取出して実行する(ステップ3004)もので
ある。入力装@ 202からの入力情報が、処理の終了
を示す情報の場合は、処理を終了する。第31図に、上
述の出力装置204に出力したプログラム理解支援方法
を紹介するメッセージを示す。例えば、第31図中のメ
ッセージ3101を選択するため、利用者が入力装置2
02からrDIFERJを入力することにより、第21
図の実施例に示す機能を有するプログラムrDIFER
Jを外部記憶装置205から取出して実行する。
上記実施例によれば、プログラム理解のための種々の方
法が選択でき、同一プログラムの理解においても、複数
の方法によりプログラム理解が進み、プログラムの正確
な理解を支援することが可能になる。
上記各実施例は、それぞれ、一例として示したものであ
り、本発明はこれらに限定されるべきものではない。
[発明の効果] 以上、詳細に説明した如く、本発明によれば、プログラ
ムを解釈し、その実行に用いた命令の情報を命令の履歴
情報として記憶し、上述のプログラム実行によって入出
力されたデータの保守要求に係る個々のデータの位置を
指定し、この位置情報と上述の命令の履歴情報とから、
該当する入出力項目およびその生成経路あるいは波及経
路を検出するようにしたので、プログラムの保守作業に
おけるプログラムの理解作業を効率化することが可能に
なるという顕著な効果を奏する。また、プログラムの入
出力情報の位置とともに、保守要求の一部である属性変
更に伴なう修正する属性を指定するよ゛うにした場合に
は、該当する入出力項目属性を変更したプログラムを得
ることができ、保守作業におけるプログラムの修正作業
を効率化できるという効果を奏するものである.
【図面の簡単な説明】
第1図は本発明の一実施例における処理手順を示す図、
第2図は実施例のハードウェア環境を示す図,第3図,
第9図は外部記憶装置に蓄積されているプログラム群の
一つを示す図、第4図,第12図,第17図は実行トレ
ース情報としてメモリに記憶される情報の例を示す図、
第5図,第1!図はプログラム実行結果として出力装置
に出力された情報の例を示す図、第6図,第18図は入
力装置から指定する位置情報の例を示す図、第7図は出
力装置に出力するトレース情報の例を示す図、第8図,
第14図,第15図,第21図,第24図,第27図,
第30図は本発明の他の実施例における処理手植を示す
図、第10図は項目データ構造としてメモリに記憶され
る情報の例を示す図、第13図は出力装置に出力された
プログラムおよび関連個所の表示例を示す図、第16図
,第25図は解析情報としてメモリに記憶された情報の
例を示す図、第19図,第23図は検出情報としてメモ
リに記憶された情報の例を示す図、第20図は関連個所
情報としてメモリに記憶された解析情報の例を示す図、
第22図は第5図のプログラム実行結果データの例を出
力装置に出力して修正中の情報を示す図、第26図はプ
ログラム実行結果データとして外部記憶装置に蓄積され
た情報の例を示す図,第28図はプログラム実行結果と
して出力装置に出力された実行結果情報および該当位置
指定.属性指定入力の例を示す図、第29図は解析情報
としてメモリに記憶される情報のうち項目定義部の例を
示す図、第31図は出力装置に出力されたプログラム理
解支援方法を紹介するメッセージの例を示す図である。 +01:ソースプログラム入力、l02:該当ソースプ
ログラムの構文解析、1o3:M文解析結果の実行,ト
レース情報の蓄積、l04:該当位置入力、l06:該
当するトレース情報の検出、108:トレース情報出力
、109:関連項目を生成するト1ノース情報の検出。 第  1 図 第 2 図 第 3 図 第 5 図 第 6 図 第 8 図 第 9 図 第 l 0 図 第 1 1 図 第 l 3 図 第 1 2 図 第 1 4 図 第 l 6 図 第 1 8 図 第 2 O 図 第 2 2 図 第 2 3 図 第 2 4 図 第 2 5 図 第 2 6 図 第 2 8 図 第 2 7 図 第 2 9 図 第 3 O 図 第 3 1 図

Claims (1)

  1. 【特許請求の範囲】 1、情報処理装置において、少なくとも一つのプログラ
    ムを解釈実行し、入力あるいは出力の実行ステップ識別
    情報、位置情報、桁数情報を含む履歴情報を記憶するス
    テップと、前記プログラムの実行で入力あるいは出力さ
    れた情報中の特定の入力あるいは出力の位置情報を指定
    することにより、前記履歴情報内から該当する履歴情報
    を検出し、その情報を出力するステップとを有すること
    を特徴とするプログラム理解支援方法。 2、前記履歴情報として、入力あるいは出力の実行ステ
    ップ識別情報、位置情報、桁数情報に実行命令名、項目
    情報を加えて記憶し、また、入力あるいは出力以外の実
    行命令についても履歴情報を記憶することにより、検出
    された出力命令の履歴情報中の出力項目名を生成する命
    令の履歴情報を、当該出力命令より以前に実行された命
    令の履歴情報の中から探索し、その中で最後に実行され
    た命令の履歴情報を検出してその情報を出力することを
    特徴とする請求項1記載のプログラム理解支援方法。 3、前記検出された履歴情報中の生成元項目を構成する
    項目名の少なくとも一つを生成する命令の履歴情報を、
    該命令より以前に実行された命令の履歴情報の中から探
    索し、その中で最後に実行された命令の履歴情報を検出
    してその情報を出力し、再び当該履歴情報中の生成元項
    目を構成する項目名の少なくとも一つを生成する命令の
    履歴情報を、該命令より以前に実行された命令の履歴情
    報の中から探索し、その中で最後に実行された命令の履
    歴情報を検出してその情報を出力することを繰り返すこ
    とを特徴とする請求項2記載のプログラム理解支援方法
    。 4、前記履歴情報として、入力あるいは出力の実行ステ
    ップ識別情報、位置情報、桁数情報に実行命令名、項目
    情報を加えて記憶し、また、入力あるいは出力以外の実
    行命令についても履歴情報を記憶することにより、検出
    された入力命令の履歴情報中の入力項目名を生成元項目
    の一つとする履歴情報を、当該入力命令以降に実行され
    た命令の履歴情報の中から探索し、その中で最も早く実
    行された命令の履歴情報を検出してその情報を出力する
    ことを特徴とする請求項1記載のプログラム理解支援方
    法。 5、前記検出された履歴情報中の生成項目を構成する項
    目名の少なくとも一つを生成元の一つとする命令の履歴
    情報を、該命令以降に実行された命令の履歴情報の中か
    ら探索し、その中で最も早く実行された命令の履歴情報
    を検出してその情報を出力し、再び当該履歴情報中の生
    成項目を構成する項目名の少なくとも一つを生成元の一
    つとする命令の履歴情報を、該命令以降に実行された命
    令の履歴情報の中から探索し、その中で最も早く実行さ
    れた命令の履歴情報を検出してその情報を出力すること
    を繰り返すことを特徴とする請求項4記載のプログラム
    理解支援方法。 6、前記出力項目およびその生成経路の探索あるいは入
    力項目およびその波及経路の探索において、探索する位
    置情報あるいは項目と互いに物理的な位置が重なるデー
    タ項目を持つ命令の履歴情報に対しても、探索を行うこ
    とを特徴とする請求項1〜5のいずれかに記載のプログ
    ラム理解支援方法。 7、前記プログラムの解釈実行において、入出力したデ
    ータの項目名を入出力位置情報とともに履歴情報として
    記憶し、また、前記プログラムの解釈情報を記憶するこ
    とにより、検出された出力命令の履歴情報中の出力項目
    名に対し、これを生成する命令の情報を前記解釈情報の
    中から検出してその情報を出力することを特徴とする請
    求項1記載のプログラム理解支援方法。 8、検出された命令の解釈情報中の生成元項目を構成す
    る項目名の少なくとも一つを生成する命令の情報を解釈
    情報の中から探索してその情報を出力し、再び検出され
    た命令の解釈情報中の生成元項目を構成する項目名の少
    なくとも一つを生成する命令の情報を解釈情報の中から
    探索してその情報を出力することを繰り返すことを特徴
    とする請求項7記載のプログラム理解支援方法。 9、前記プログラムの解釈実行において、入出力したデ
    ータの項目名を入出力位置情報とともに履歴情報として
    記憶し、また、前記プログラムの解釈情報を記憶するこ
    とにより、検出された入力命令の履歴情報中の入力項目
    名に対し、これを生成元の一つとする命令の情報を前記
    解釈情報の中から検出してその情報を出力することを特
    徴とする請求項1記載のプログラム理解支援方法。 10、前記検出された命令の解釈情報中の生成項目を構
    成する項目名の少なくとも一つを生成元の一つとする命
    令の情報を解釈情報の中から探索してその情報を出力し
    、再び検出された命令の解釈情報中の生成項目を構成す
    る項目名の少なくとも一つを生成元の一つとする命令の
    情報を解釈情報の中から探索してその情報を出力するこ
    とを繰り返すことを特徴とする請求項9記載のプログラ
    ム理解支援方法。 11、前記入力あるいは出力の位置情報を複数個指定し
    、それぞれに該当する履歴情報を探索し、これらに共通
    する履歴情報を検出して出力することを特徴とする請求
    項1〜5のいずれかに記載のプログラム理解支援方法。 12、前記共通する履歴情報に含まれる項目名を、重複
    することなく出力することを特徴とする請求項11記載
    のプログラム理解支援方法。 13、前記入力あるいは出力の位置情報を複数個指定し
    、それぞれに該当する命令の解釈情報を探索し、これら
    に共通する命令の解釈情報を検出して出力することを特
    徴とする請求項1または7〜10のいずれかに記載のプ
    ログラム理解支援方法。 14、前記共通する命令の解釈情報に含まれる項目名を
    、重複することなく出力することを特徴とする請求項1
    3記載のプログラム理解支援方法。 15、前記予め作成しておいた入力情報と解釈実行に利
    用した入力情報、あるいは、予め作成しておいた出力情
    報と解釈実行により作成した出力情報を比較して、相異
    個所を検出してその部分の位置情報により該当する履歴
    情報を検出することを特徴とする請求項1記載のプログ
    ラム理解支援方法。 16、前記解釈実行時に入力あるいは出力した情報と、
    利用者がその情報への修正を加えた結果の情報とを比較
    して、相異個所を検出してその部分の位置情報により該
    当する履歴情報を検出することを特徴とする請求項1記
    載のプログラム理解支援方法。 17、前記プログラムの解釈実行における入力情報ある
    いは出力情報を表示し、その表示画面上で利用者が指定
    した位置により、特定の入力情報あるいは出力情報の位
    置を得て、これに基づいて履歴情報の検出を行うことを
    特徴とする請求項1〜16のいずれかに記載のプログラ
    ム理解支援方法。
JP1159249A 1989-06-21 1989-06-21 プログラム理解支援方法 Pending JPH0324639A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1159249A JPH0324639A (ja) 1989-06-21 1989-06-21 プログラム理解支援方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1159249A JPH0324639A (ja) 1989-06-21 1989-06-21 プログラム理解支援方法

Publications (1)

Publication Number Publication Date
JPH0324639A true JPH0324639A (ja) 1991-02-01

Family

ID=15689617

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1159249A Pending JPH0324639A (ja) 1989-06-21 1989-06-21 プログラム理解支援方法

Country Status (1)

Country Link
JP (1) JPH0324639A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10283175A (ja) * 1997-04-01 1998-10-23 Fujitsu Ltd プログラム解析装置、プログラム解析方法及びソースプログラム解析用プログラム記録媒体
US7272450B2 (en) 2004-03-31 2007-09-18 Omron Corporation Development aid device
WO2013031010A1 (ja) * 2011-09-01 2013-03-07 株式会社日立製作所 デバッグ支援方法、計算機及びデバッグ支援プログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10283175A (ja) * 1997-04-01 1998-10-23 Fujitsu Ltd プログラム解析装置、プログラム解析方法及びソースプログラム解析用プログラム記録媒体
US7272450B2 (en) 2004-03-31 2007-09-18 Omron Corporation Development aid device
US7272825B2 (en) 2004-03-31 2007-09-18 Omron Corporation Development aid device
WO2013031010A1 (ja) * 2011-09-01 2013-03-07 株式会社日立製作所 デバッグ支援方法、計算機及びデバッグ支援プログラム

Similar Documents

Publication Publication Date Title
US7159209B1 (en) Inter-application validation tool for use in enterprise architecture modeling
US6279025B1 (en) Parallel processing procedure selecting apparatus and method selecting and implementing parallel-executable processing procedures
JP2008225683A (ja) 画面操作システムおよびプログラム
JPH0324639A (ja) プログラム理解支援方法
JP4795404B2 (ja) 動作検証装置および動作検証プログラム
US6609250B1 (en) Software generating device
JP5163172B2 (ja) ソフトウェアテスト項目編集支援装置およびソフトウェアテスト項目編集支援方法
KR20060114569A (ko) 특허정보시스템의 작동방법
CN114385155A (zh) vue项目可视化工具生成方法、装置、设备及存储介质
JP3016799B2 (ja) データベース問い合わせ処理装置
JP2011164788A (ja) 動作検証装置、動作検証方法、および動作検証プログラム
JP7082284B2 (ja) 分析支援方法および分析支援プログラム
JP4663526B2 (ja) 帳票作成支援装置、帳票作成支援方法、および帳票作成支援プログラム
JP2831717B2 (ja) データパス表示装置
JP2006202102A (ja) シミュレーション装置
JPH0721013A (ja) システム生成方式
JP3385790B2 (ja) 言語変換装置
JP2958479B2 (ja) 文書作成装置
JP5581894B2 (ja) データ処理プログラム自動生成システム
CN115934500A (zh) 流水线构建方法、装置、计算机设备和存储介质
JPH03141427A (ja) 標準レコード仕様情報作成方法
JPS63188268A (ja) 設計支援装置
JP2005234726A (ja) Icテスタ用プログラムのデバッグ装置、デバッグ方法及びデバッグプログラム
JP2004206225A (ja) 入力支援システム
JPH04247532A (ja) テスト支援システム