JPH02307129A - スナップid出力文設定/削除方式 - Google Patents

スナップid出力文設定/削除方式

Info

Publication number
JPH02307129A
JPH02307129A JP1127955A JP12795589A JPH02307129A JP H02307129 A JPH02307129 A JP H02307129A JP 1127955 A JP1127955 A JP 1127955A JP 12795589 A JP12795589 A JP 12795589A JP H02307129 A JPH02307129 A JP H02307129A
Authority
JP
Japan
Prior art keywords
snap
output
source program
output sentence
output statement
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
JP1127955A
Other languages
English (en)
Inventor
Michiko Ujiie
氏家 美智子
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 JP1127955A priority Critical patent/JPH02307129A/ja
Publication of JPH02307129A publication Critical patent/JPH02307129A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は電子計算機システムのソフトウェアのデバッグ
に用いられるスナップID出力文設定/削除方式に関す
るものである。
〔従来の技術〕
ソフトウェアの品質を保証するためにはデバッグが不可
欠であり、デバッグが予定通り行われたか否かを確かめ
るためには、テストデータによる処理がソフトウェアを
構成する所定のパスを通過したか否かを確認する必要が
ある。
従来、ソフトウェアのパスに相当するルーチンの通過情
報等を得るには、ソースプログラム中の通過をf1認し
たい場所に、ソースプログラムを作成した利用者が通過
情報等取得のためのロジックを直接埋め込み、デバッグ
を終了して情報の取得が不要となった場合にはソースプ
ログラムからそれらのロジックを直接削除するという方
式がとられていた。
〔発明が解決しようとする課題〕
ところで、充分なデバッグを行うにはソフトウェアを構
成する全てのパスを漏れなく試験することが望ましいが
、従来の方式では利用者がソースプログラム中に通過情
報等取得のためのロジックを直接埋め込むものであった
ため、小規模なソースプログラムであればともかく、大
規模なソースプログラムにあっては作業が非常に繁雑と
なり、更にロジックの埋め込み箇所の見落としによって
通過情報の取得漏れが発生するという欠点があった。ま
た、デバッグの終了後に通過情報等取得のためのロジッ
クを削除する作業はいっそう繁雑であり、ソフトウェア
生産性の向上を阻む原因となっていた。
本発明は上記の点に鑑み提案されたものであり、その目
的とするところは、通過情報等を取得するための命令文
(スナップID出力文)の設定/削除が自動的に行え、
精度の高いデバッグを効率良く実行することのできるス
ナップID出力文設定/削除方式を提供することにある
〔課題を解決するための手段] 本発明は上記の目的を達成するため、外部から与えた指
示データを読み込む機能を存するコンパイラにおいて、 前記指示データに従いソースプログラム中のエツジ内に
ルーチン通過情報等取得のためにスナップID出力文を
新規に設定するスナップID出力文新規設定手段と、 前記指示データに従いソースプログラム中に既に設定さ
れているスナップID出力文を削除してエツジ内にスナ
ップID出力文を新規に再設定するスナップID出力文
再設定手段と、 前記指示データに従いソースプログラム中のスナップI
D出力文を全て削除するスナップID出力文削除手段と
を備えるようにしている。
すなわち、本発明では、ソフトウェアのパスを分解した
場合、各パスはエツジの集合と考えることができる点に
着目し、ソフトウェアを構成する全バスの通過を確認す
るために、全エツジに対して通過情報を出力する命令文
であるスナップID出力文をコンパイラによって自動的
に設定する(埋め込む)ことができるようにしている、
また、コンパイラに与える指示データを変えることによ
り、設定されたスナップID出力文を一括に削除するこ
とができるようにしている。
なお、エツジとはプログラムの分岐命令から分岐命令ま
での命令の集合であり、別置すれば、分岐することなく
走りきる命令の集合である0例えば、第6図に示す処理
P1〜P4.条件式C1゜C2を含むソフトウェア(ソ
ースプログラム)の場合、A→B−hC,A−4B→D
→E、A→B→D→Fがそれぞれパスであり、この場合
、条件式C1、C2が分岐命令となるため、エツジはA
−4B。
B→C,B−D、D→E、D→Fとなる。
〔作用〕
本発明のスナップID出力文設定/削除方式にあっては
、コンパイラへの指示データに従い、スナップID出力
文新規設定手段がソースプログラム中のエツジ内にルー
チン通過情報等取得のためにスナップID出力文を新規
に設定し、スナップID出力文再設定手段がソースプロ
グラム中に既に設定されているスナップID出力文を削
除してエツジ内にスナップID出力文を新規に再設定し
、スナップID出力文削除手段がソースプログラム中の
スナップID出力文を全て削除する。
〔実施例〕
以下、本発明の実施例につき図面を参照して説明する。
第1図は本発明のスナップID出力文設定/削除方式を
適用したコンパイラの一実施例を示す構成図である。第
1図において、コンパイラ2は、ソースプログラム7を
入力して目的プログラム8を生成する基本的な機能の他
に、ソースプログラム7中の各エツジにスナップID出
力文を設定するスナップID出力文新規設定手段4およ
びスナップID出力文再設定手段5と、ソースプログラ
ム7中のスナップID出力文を削除するスナップID出
力文削除手段6とを有している。なお、指示データ1は
、コンパイラ2の有する基本的な機能部であるデータ読
み込み手段3により読み込まれるものであり、上記の各
手段4,5.6の処理を選択するためのデータおよびコ
ンパイラ2のその他の処理に関するデータである。
スナップID出力文新規設定手段4.スナップID出力
文再設定手段5.スナップ[0出力文削除手段6の機能
を以下に示す。
スナップID出力文新規設定手段4;指示データ1が新
規設定を示す場合に動作し、与えられたソースプログラ
ム7中の分岐命令を検出することによりエツジを認識し
、エツジ内の所定の位置にスナップID出力文を設定す
る機能を有している。
なお、エツジ内の所定の位置としては、エツジの先頭(
分岐命令の直後)もしくはエツジの終端等が考えられる
。ただし、以下の第2図ないし第5図の説明では先頭に
設定した場合を例としている。
また、スナップID出力文は、スナップID出力文であ
ることを示す特定のキーワードとエツジを識別するため
のIDとから構成されている。以下の説明ではキーワー
ドとしてrSNAPJを用い、IDとして数字を用いる
。更に、スナップID出力文新規設定手段4は、既にス
ナップID出力文を含んだソースプログラム7に対して
は、キーワードからスナップID出力文を認識し、スナ
ップID出力文が設定されていないエツジに対してのみ
、既に設定されたスナップII)出力文と重複しないI
Dを存するスナップID出力文を設定する機能を有して
いる。
スナップID出力文再設定手段5;指示データlが再設
定を示す場合に動作し、与えられたソースプログラム7
中のスナップID出力文をいったん削除し、再度、エツ
ジの出現順に対応したIDの数字を付与してソースプロ
グラム7中の各エツジ内にスナップID出力文を設定す
る機能を有している。なお、このスナップID出力文再
設定手段5は、前述したスナップID出力文新規設定手
段4および後述するスナップID出力文削除手段6を組
み合わせることによっても構成することができる。
スナップID出力文削除手段6;指示データ1が削除を
示す場合に動作し、与えられたソースプログラム7中の
スナップID出力文を一括して削除する機能を有してい
る。
以下、具体例を用いて上記の実施例の動作を説明する。
スナップID出力文を全く設定していないソースプログ
ラム7に対してこれからデバッグを行おうとする場合に
おいては、利用者は指示データ1として新規設定を選択
し、コンパイラ2に与える。
コンパイラ2では指示データlをデータ読み込み手段3
によって読み込み、いかなる指示であるかを判断し、新
規設定であればスナップID出力文新規設定手段4を起
動する0例えば、新規設定の指示データlと共に第2図
に示すようなソースプログラム71を与えてコンパイラ
2を起動すると、スナップID出力文新規設定手段4は
、ソースプログラム71中からエツジを検出し、スナッ
プID出力文を設定したソースプログラム71゛を出力
する。すなわち、ソースプログラム71において条件に
よって分岐する記述rA−OJ、rA−IJ、rELs
EcAsE」をエツジの先頭であると認識し、その直後
にスナップID出力文「5NAP (0000)」、r
sNAP (00ID)J。
rSNAP (0020)Jを設定する。
次に、既にスナップID出力文の設定を行った後に、プ
ログラムの変更等により新たなエツジが設けられたソー
スプログラム7に対してこれから再度デバッグを行おう
とする場合等においては、利用者は指示データ1として
同様に新規設定を選択し、ソースプログラム7と共にコ
ンパイラ2に与える。コンパイラ2では指示データ1を
データ読み込み手段3によって読み込み、いかなる指示
であるかを判断し、この場合、新規設定であるのでスナ
ップID出力文新規設定手段4を起動する。
例えば、新規設定の指示データ1と共に第3図に示すよ
うなソースプログラム72を与えてコンパイラ2を起動
すると、スナップID出力文新規設定手段4は、ソース
プログラム72中からエツジを検出すると共に、既に設
定されたスナップID出力文を認識し、既に設定された
スナップID出力文はそのままとし、スナップID出力
文の設定されていないエツジについてのみ新たなスナッ
プ■出力文を設定したソースプログラム72°を出力す
る。具体的には、スナップID出力文rsNAP (0
000)J、  rSNAP (00ID)Jについて
はそのままとし、条件式rB−IJによって始まるエツ
ジの先頭に新たなスナップID出力文rSNAP (0
005)Jを設定したソースプログラム72゛を出力す
る。
次に、既にスナップID出力文が設定されているが、I
Dに一貫性のないソースプログラム7に対してスナップ
ID出力文を付は変える場合等においては、指示データ
1として再設定を選択し、ソースプログラム7と共にコ
ンパイラ2に与える。
コンパイラ2では指示データ1をデータ読み込み手段3
によって読み込み、いかなる指示であるかを判断し、こ
の場合、再設定であるのでスナップID出力文再設定手
段5を起動する0例えば、新規設定の指示データ1と共
に第4図に示すようなソースプログラム73を与えてコ
ンパイラ2を起動すると、スナップID出力文再設定手
段5は、ソースプログラム73中からスナップID出力
文をいったん削除し、各エツジに対して新たにスナップ
ID出力文を設定する。具体的には、ソースプログラム
73からスナップID出力文rsNAP (0500)
J、rSNAP (06ID)J。
rSNAP (0800)Jを削除し、新たなスナップ
ID出力文rsNAP (0000)J、rSNAP 
(00ID)J、rsNAP (0020)Jを設定し
たソースプログラム73°を出力する。
次に、デバッグを完了してソースプログラム7から全て
のスナップID出力文を削除する場合においては、指示
データlとして削除を選択じ、ソースプログラム7と共
にコンパイラ2に与える。
コンパイラ2では指示データ1をデータ読み込み手段3
によって読み込み、いかなる指示であるかを判断し、こ
の場合、削除であるのでスナップID出力文削除手段6
を起動する0例えば、削除の指示データ1と共に第5図
に示すようなソースプログラム74を与えてコンパイラ
2を起動すると、スナップID出力文削除手段6は、ソ
ースプログラム74中のスナップID出力文を全て削除
する。
具体的には、ソースプログラム74中からスナップID
出力文rsNAP(0ID0)」、rsNAP(01I
D)J、  rsNAP(0120)」を削除したソー
スプログラム74゛を出力する。
〔発明の効果〕
以上説明したように、本発明のスナップID出力文設定
/削除方式にあっては、コンパイラに対して指示データ
を与えて処理を実行させるだけでスナップID出力文の
設定、削除等が自動的に行えるため、デバッグ作業が精
度良くかつ効率良く行えるという効果がある。
【図面の簡単な説明】
第1図は本発明のスナップID出力文設定/削除方式を
適用したコンパイラの一実施例を示す構成図、 第2図ないし第5図は処理前後のソースプログラムの状
態を示す図および、 第6図はソフトウェアにおけるパスとエツジとの関係を
示す図である。 図において、 1・・・・・・指示データ 2・・・・・・コンパイラ 3・・・・・・データ読み込み手段 4・・・・・・スナップID出力文新規設定手段5・・
・・・・スナップID出力文再設定手段6・・・・・・
スナップID出力文削除手段7・・・・・・ソースプロ
グラム 8・・・・・・目的プログラム

Claims (1)

  1. 【特許請求の範囲】 外部から与えた指示データを読み込む機能を有するコン
    パイラにおいて、 前記指示データに従いソースプログラム中のエッジ内に
    ルーチン通過情報等取得のためにスナップID出力文を
    新規に設定するスナップID出力文新規設定手段と、 前記指示データに従いソースプログラム中に既に設定さ
    れているスナップID出力文を削除してエッジ内にスナ
    ップID出力文を新規に再設定するスナップID出力文
    再設定手段と、 前記指示データに従いソースプログラム中のスナップI
    D出力文を全て削除するスナップID出力文削除手段と
    を備えたことを特徴とするスナップID出力文設定/削
    除方式。
JP1127955A 1989-05-23 1989-05-23 スナップid出力文設定/削除方式 Pending JPH02307129A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1127955A JPH02307129A (ja) 1989-05-23 1989-05-23 スナップid出力文設定/削除方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1127955A JPH02307129A (ja) 1989-05-23 1989-05-23 スナップid出力文設定/削除方式

Publications (1)

Publication Number Publication Date
JPH02307129A true JPH02307129A (ja) 1990-12-20

Family

ID=14972788

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1127955A Pending JPH02307129A (ja) 1989-05-23 1989-05-23 スナップid出力文設定/削除方式

Country Status (1)

Country Link
JP (1) JPH02307129A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002236595A (ja) * 2001-02-09 2002-08-23 Fujitsu Ten Ltd 電子機器ならびにそのデバッグ支援装置および方法
JP2014506370A (ja) * 2011-01-07 2014-03-13 アビニシオ テクノロジー エルエルシー フロー分析計装

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002236595A (ja) * 2001-02-09 2002-08-23 Fujitsu Ten Ltd 電子機器ならびにそのデバッグ支援装置および方法
JP2014506370A (ja) * 2011-01-07 2014-03-13 アビニシオ テクノロジー エルエルシー フロー分析計装

Similar Documents

Publication Publication Date Title
JP4826120B2 (ja) 業務仕様作成支援システム及び方法
JPH096628A (ja) 並列処理手続き選定装置及び方法
JPH02307129A (ja) スナップid出力文設定/削除方式
JPH03241439A (ja) テストデータ作成ツール
JPH02275539A (ja) デバッグ処理方式
JPH02220145A (ja) プログラムトレース方式
JPH0667871A (ja) プログラム自動更新方式
JPS60178535A (ja) 処理の実行定義形コマンド方式
JPS6115236A (ja) オブジエクトリストの部分作成方法
JPS63289654A (ja) プログラム分岐命令モニタ方式
JPS63640A (ja) デ−タフロ−の部分ユニツト実行制御方式
JPH08137714A (ja) マルチタスクプログラムのデバッグ方法およびデバッグシステム
JPS62200440A (ja) プログラムの命令実行頻度解析方式
JPH08212103A (ja) マルチスレッド・プロセッサのテスト・データ作成方法
JPH0488438A (ja) 高級言語による原始プログラムに対するデバッガの一命令実行方式
JPH07319730A (ja) テスト・デバッグ方法
JPH04209029A (ja) 並列処理プログラム翻訳処理装置
JPH02308355A (ja) インタプリタにおける入力手続き管理方式
JPH04195549A (ja) デバッグ処理方式
JPH03119422A (ja) プログラム間結合方式
JPS62119641A (ja) オプシヨン値設定制御方式
JPH05204698A (ja) デバッガ処理方式
JPS63228341A (ja) プログラム構文チエツク方式
JPH03260830A (ja) プログラムデバッグ処理方式
JPS5991542A (ja) マイクロプログラムのトレ−ス装置