JPH06195242A - プログラムの走行ステップ確認方法 - Google Patents

プログラムの走行ステップ確認方法

Info

Publication number
JPH06195242A
JPH06195242A JP4345906A JP34590692A JPH06195242A JP H06195242 A JPH06195242 A JP H06195242A JP 4345906 A JP4345906 A JP 4345906A JP 34590692 A JP34590692 A JP 34590692A JP H06195242 A JPH06195242 A JP H06195242A
Authority
JP
Japan
Prior art keywords
program
file
run
stored
line number
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
JP4345906A
Other languages
English (en)
Inventor
Yoichi Kikuchi
洋一 菊池
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 Software Engineering Co Ltd
Hitachi Ltd
Original Assignee
Hitachi Software Engineering Co Ltd
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 Software Engineering Co Ltd, Hitachi Ltd filed Critical Hitachi Software Engineering Co Ltd
Priority to JP4345906A priority Critical patent/JPH06195242A/ja
Publication of JPH06195242A publication Critical patent/JPH06195242A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【目的】プログラムの走行すべきステップが走行したか
否かを容易に確認できるようにする。 【構成】ソースファイル1に格納されている被テストプ
ログラム10に対し、モニタプログラム2を実行し、走
行すべきステップの行番号を求め、モニタファイル3に
格納する。このモニタファイル3とデバッガ4が出力す
る出力結果が格納されているトレースファイル5をデー
タとしてマージプログラム6を実行し、実際に走行した
ステップの行番号を求めマージファイル7に格納する。
テストが複数回に分かれている場合は、全テストの走行
行番号をマージし、マージファイル7に格納する。この
マージファイル7から、未走行ステップの行番号と走行
ステップ数の割合を求め、表示装置8に表示する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、プログラムの走行ステ
ップ確認方法に関し、特にプログラムの走行すべきステ
ップが実際に走行したか否かを確認する方法に関する。
【0002】
【従来の技術】従来、プログラムの走行ステップを確認
する方法として、例えばC言語では、ctraceを使
用する方法がある。ctraceとは、プログラムの不
良原因を調べるために用いられるUNIXオペレーティ
ングシステム(UNIXは米国AT&T社の登録商標)
の標準デバッガの一つである。このctraceを使用
すると、対象とするプログラムの走行したステップの行
番号、そのステップのコーディング内容及び、そのステ
ップを走行した際の変数の値を知ることができる。オペ
レータは、このctraceの出力を利用し、CRT上
で目視により、あるいは監視結果を紙に出力することに
よって、ソースプログラムと目視比較してプログラムの
各ステップが実際に走行したかを確認していた。
【0003】
【発明が解決しようとする課題】しかし、従来の方法
は、オペレータが目視により各ステップごとに確認しな
ければならず、未走行ステップの行番号や走行ステップ
数の割合を求めるにはオペレータが全て算出しなければ
ならず効率が悪かった。更に、全ステップの走行を確認
するには、各分岐命令、条件命令の状態の組み合わせを
考慮して、複数回のプログラムの実行(以下、この各実
行を「テスト」という)を行わなければならないが、こ
の場合、各テストごとの出力をオペレータが集計しなけ
ればトータル的な未走行ステップの行番号や走行ステッ
プ数の割合を求めることができなかった。
【0004】本発明の目的は、プログラムの走行すべき
ステップが実際に走行したか否かを容易に確認すること
ができるプログラムの走行ステップ確認方法を提供する
ことにある。
【0005】また、本発明の目的は、テストが複数回に
分かれている場合に、トータル的な未走行ステップの行
番号や走行ステップ数の割合を容易に求めることができ
るプログラムの走行ステップ確認方法を提供することに
ある。
【0006】
【課題を解決するための手段】本発明は、上述の目的を
達成するために以下のようにしたことを特徴とする。ま
ず、被テストプログラムから走行すべきステップの行番
号を求める。走行すべきステップに含まれないステップ
とは、領域の定義、値の定義やコメントを記述したステ
ップであり、これらの走行しないステップについては、
被テストプログラムの対象から排除する。これによっ
て、求めた行番号を走行すべき行番号としてモニタファ
イルに設定・格納する。次に、被テストプログラムに対
して走行ステップを確認するためにデバッガを実行し、
デバッガが出力した出力結果をトレースファイルに格納
することによって、プログラムの実行状況を監視する。
ここで実行状況を監視するデバッガは、プログラムを実
際に実行させ、走行ステップを知ることができるもので
あればよく、例えばUNIXにおけるctrace等の
標準ツールが使用できる。トレースファイルに格納され
た出力結果には、コーディングや変数の値なども含まれ
ていることがあるが、これらは走行ステップを確認する
には不要な情報であるので、これら不要な情報を排除す
る。そして、実際に走行したステップの行番号を求め、
この行番号と上述のモニタファイルに格納された行番号
と照合する。実際に走行したステップの行番号について
は、フラグを立てるか又は、その回数をカウントアップ
してマージファイルに格納する。テストが複数回に分か
れている場合は、各テストごとに上述の動作を繰り返
し、求めた行番号をマージファイルに累積して格納して
おく。
【0007】マージファイルに格納した後に、マージフ
ァイルの行番号のフラグ又は、カウント値に基づき、未
走行行を示す情報を出力する。この出力内容は、(走行
したステップ数)/(走行すべきステップ数)の割合で
も良いし、未走行ステップのリストの出力でもどちらで
もよい。
【0008】
【実施例】以下、本発明の実施例を図を用いて説明す
る。
【0009】図1は本発明の一実施例を示す言語モニタ
の全体構成図である。ソースファイル1は、図2に一例
として示すような行番号11を有し、複数のステップ1
2から成る被テストプログラム10を記憶手段に格納し
たものであり、例えば、磁気ディスク上の記憶領域に作
成される。モニタプログラム2は、被テストプログラム
10から領域の定義、値の定義やコメントの行など走行
しないステップを排除し、走行すべきステップの行番号
を求める。モニタファイル3は、モニタプログラム2に
より作成されるものであり、ステップの行番号と走行す
べきステップか否かの関係を表したテーブルを格納した
ファイルである。モニタファイル3は、図3に示すよう
に領域の定義、値の定義やコメント行など走行しないス
テップの状態を「走行対象外」とし、走行すべきステッ
プの行番号の状態を「未走行」として、例えば、磁気デ
ィスク上の記憶領域に作成する。デバッガ4は、被テス
トプログラム10に対して実行させるものであり、図4
に示すように実際に走行したステップの行番号、その行
のコーディング内容及び、その行が走行した際の変数の
値をトレースファイル5に出力する。トレースファイル
5は、デバッガ4が出力した出力結果を格納したもので
あり、例えば、磁気ディスク上の記憶領域に作成され
る。マージプログラム6は、トレースファイル5に格納
されている出力結果からコーディングや変数の値を排除
し、実際に走行したステップの行番号を抜き出してこの
データをモニタファイル3に作成されたテーブルに照合
させ、実際に走行したステップの行番号について、フラ
グを立てるか又は、その回数をカウントアップしてマー
ジファイル7に格納する。マージファイル7は、図5に
示すように被テストプログラム10の各ステップの行番
号に対する状態を分類してテーブル化し、記憶手段に格
納したものである。このテーブルは、モニタファイル3
に格納されたテーブルの状態の欄をトレースファイル5
の出力結果に応じて変更したものであり、走行された行
については、モニタファイル3のテーブルの「未走行」
をその都度「走行済み」に変更し、この動作を繰り返
す。テストが複数回に分かれている場合には、全テスト
分この動作を繰り返す。表示装置8は、マージファイル
7に格納された結果を表示する。この表示方法は、マー
ジファイル7に格納された結果をデータとしてマージプ
ログラム6を実行させることにより、未走行ステップの
行番号や走行ステップの数の割合などを求め、表示装置
8に表示する。
【0010】図7はモニタプログラム2の動作を示すフ
ローチャートである。モニタプログラム2を実行してソ
ースファイル1に格納されている被テストプログラム1
0から走行すべきステップの行番号を求める(ステップ
101)。走行しない行番号は、図3のテーブルの行番
号の状態を「走行対象外」に、走行すべきステップの行
番号は、行番号の状態を「未走行」にしてモニタファイ
ル3に格納する(ステップ102)。
【0011】図8はデバッガ4の動作を示すフローチャ
ートである。被テストプログラム10に対してデバッガ
4を実行する(ステップ201)。デバッガ4が出力し
た出力結果をトレースファイル5に格納する(ステップ
202)。
【0012】図9はマージプログラム6の動作を示すフ
ローチャートである。モニタファイル3とトレースファ
イル5をマージプログラム6により合成し、今回のテス
トで走行したステップの行番号を求める(ステップ30
1)。走行したステップは、その行の状態が「未走行」
ならば「走行済み」に変更する(ステップ302)。更
新後の各行番号の状態をマージファイル7に格納する
(ステップ303)。全パターンのテストが終了したか
を判定する。(ステップ304)。全パターンのテスト
が終了したならば、マージファイル7に格納されている
テーブルの状態をチェックする。(ステップ305)。
テーブルの行番号の状態が「未走行」の欄があれば、未
走行ステップの行番号や走行すべきステップ数に対して
走行したステップ数の割合を求め、表示装置8に表示す
る(ステップ306)。表示方法は、未走行行の行番号
を全て表示する方法、全ステップ数に対する未走行ステ
ップの割合を表示する方法など種々の方法を用いること
ができる。全パターンのテストが終了してないならば図
7のに分岐し、上述の動作を繰り返す。求めた走行し
たステップの行番号は、マージファイルに累積して格納
される。
【0013】図6は、本発明の他の実施例を示したもの
である。図6に示すようにループ制御構造などのテスト
を行う場合、同じステップを何回実行したかを知るため
に、ステップが実行されるごとに、そのステップの実行
回数をカウントアップし、マージファイル7に格納して
も良い。このようにすることによって、各ステップが走
行したか否かだけでなく、何回実行したかをも確認する
ことができる。
【0014】
【発明の効果】以上説明したように、本発明のプログラ
ムの走行ステップ確認方法によれば、CRT上、あるい
はプリンタにより紙に未走行ステップの行番号や走行ス
テップ数の割合を出力することにより、プログラムの走
行すべきステップが走行したか否かを容易に確認するこ
とができる。
【0015】また、テストが複数回に分かれている場合
は、全テストの走行番号をマージすることにより、未走
行ステップの行番号や走行ステップ数の割合を効率良く
求めることができる。
【図面の簡単な説明】
【図1】本発明の一実施例を示す言語モニタの全体構成
図である。
【図2】被テストプログラムを示すプログラムリストで
ある。
【図3】モニタファイルのデータ形式例である。
【図4】トレースファイルに出力された出力結果を示す
図である。
【図5】マージファイルのデータ形式例である。
【図6】本発明の他の実施例を示すマージファイルのデ
ータ形式例である。
【図7】モニタプログラムの動作を示すフローチャート
である。
【図8】デバッガ4の動作を示すフローチャートであ
る。
【図9】マージプログラム6の動作を示すフローチャー
トである。
【符号の説明】
1 ソースファイル 2 モニタプログラム 3 モニタファイル 4 デバッガ 5 トレースファイル 6 マージプログラム 7 マージファイル 8 表示装置 10 被テストプログラム 11 行番号

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 行番号の付されたプログラムのステップ
    が走行したことを確認するプログラムの走行ステップ確
    認方法において、 (a)非走行ステップを排除することによって、上記プロ
    グラムの走行すべきステップの行番号を求め、 (b)上記プログラムを実行させ、該プログラムの実行状
    況を監視し、実際に走行した行番号を求め、 (c)上記(a)と(b)で求めた行番号をそれぞれ照合
    することによって、プログラムの未走行ステップの行番
    号を求めることを特徴とするプログラムの走行ステップ
    確認方法。
  2. 【請求項2】 請求項1において、更に上記(a)で求
    めた走行すべきステップの行番号と上記(c)で求めた
    未走行ステップの行番号から走行ステップ数の割合を求
    めることを特徴とするプログラムの走行ステップ確認方
    法。
  3. 【請求項3】 請求項1において、(b)の手順を複数回
    繰返し、この繰返しによって得られた行番号によって、
    (c)の手順を実行することを特徴とするプログラムの
    走行ステップ確認方法。
JP4345906A 1992-12-25 1992-12-25 プログラムの走行ステップ確認方法 Pending JPH06195242A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4345906A JPH06195242A (ja) 1992-12-25 1992-12-25 プログラムの走行ステップ確認方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4345906A JPH06195242A (ja) 1992-12-25 1992-12-25 プログラムの走行ステップ確認方法

Publications (1)

Publication Number Publication Date
JPH06195242A true JPH06195242A (ja) 1994-07-15

Family

ID=18379800

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4345906A Pending JPH06195242A (ja) 1992-12-25 1992-12-25 プログラムの走行ステップ確認方法

Country Status (1)

Country Link
JP (1) JPH06195242A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0962538A (ja) * 1995-08-29 1997-03-07 Nec Corp 効率化支援装置
JP2006293740A (ja) * 2005-04-12 2006-10-26 Ntt Data Corp ソフトウェアカバレッジ測定装置及び方法
WO2008099848A1 (ja) * 2007-02-14 2008-08-21 Kabushiki Kaisha Win The Web アプリケーション分析支援システム、プログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0962538A (ja) * 1995-08-29 1997-03-07 Nec Corp 効率化支援装置
JP2006293740A (ja) * 2005-04-12 2006-10-26 Ntt Data Corp ソフトウェアカバレッジ測定装置及び方法
WO2008099848A1 (ja) * 2007-02-14 2008-08-21 Kabushiki Kaisha Win The Web アプリケーション分析支援システム、プログラム

Similar Documents

Publication Publication Date Title
DE69810795T2 (de) Automatisierte gültigkeitsbestätigung und richtigkeitsprüfung von rechnersoftware
DE3787431T2 (de) Verfahren zur Generierung einer Kandidatenliste von fehlerhaften Schaltungselementen und Verfahren zur Isolierung von Fehlern in einer logischen Schaltung unter Verwendung dieser Kandidatenliste.
EP3805927B1 (en) Maintenance operation assistance system
US7765200B2 (en) SQL query problem determination tool
CN106294109B (zh) 获取缺陷代码的方法及装置
DE112021003677T5 (de) Automatisierte unterstützte schaltkreisvalidierung
DE102014008750A1 (de) Verbindungsprüfverfahren und verbindungsprüfvorrichtung
JPH06195242A (ja) プログラムの走行ステップ確認方法
JP2006209354A (ja) 車両用ソフトウェアの検査システム
JPH08305609A (ja) プログラムのテスト方法および装置
CN116974537A (zh) 基于组件的产品开发方法、装置、计算机设备及存储介质
JP2525867B2 (ja) プラント分散制御システムの故障診断装置
DE102018212801A1 (de) Diagnose komplexer Systeme
JPH0777487B2 (ja) 電力系統故障診断装置
CN115061920A (zh) 一种流程图式自动化试验方法及其系统
JP2019040280A (ja) 出力プログラム、出力方法および情報処理装置
WO2024175581A1 (de) Verfahren und vorrichtung zur visualisierung von debug-daten eines komplexen datenverarbeitungsnetzwerks
CN117289682A (zh) 车辆诊断测试方法、系统及电子设备
JPH10232795A (ja) ソフトウェア部品組み合わせテスト方法
CN118015728A (zh) 一种轨道交通atc问题的智能分析方法、设备及介质
CN117061377A (zh) 一种设备测试方法、装置、设备及存储介质
JPH01261737A (ja) 言語プロセッサの検査自動管理方式
CN119966854A (zh) 一种实车环境下的can网络测试方法及相关设备
JPH0228169B2 (ja)
JPH02115951A (ja) 高級言語プログラム保守デバッグ方式