JPS6393050A - デ−タフロ−・トレ−ス装置 - Google Patents
デ−タフロ−・トレ−ス装置Info
- Publication number
- JPS6393050A JPS6393050A JP61237922A JP23792286A JPS6393050A JP S6393050 A JPS6393050 A JP S6393050A JP 61237922 A JP61237922 A JP 61237922A JP 23792286 A JP23792286 A JP 23792286A JP S6393050 A JPS6393050 A JP S6393050A
- Authority
- JP
- Japan
- Prior art keywords
- execution
- program
- machine
- source program
- monitor
- 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
Links
- 230000014509 gene expression Effects 0.000 claims description 4
- 238000012544 monitoring process Methods 0.000 claims description 2
- 238000012360 testing method Methods 0.000 abstract description 11
- 238000004458 analytical method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000000034 method Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、高級言語で記述されたプログラムに対するト
レース装置に係り、特に該プログラムの異常動作を発見
するのに好適なデータフロー・1ヘレース装置に関する
。
レース装置に係り、特に該プログラムの異常動作を発見
するのに好適なデータフロー・1ヘレース装置に関する
。
従来、高級言語で記述されたプログラムに対する会話型
のテスト装置では、一般に各テストケースに対する結果
の確認は利用者のマニアル操作(コマンドの投入等)に
頼っていた。一方、例えば特開昭56−42866号公
報には、特定番号の内容の変遷を追跡することにより、
プログラムテスト装置での変数の値の変遷を確認するこ
とが開示されているが、あらかじめ追跡を行いたい番地
を利用者が装置に指示するようになっており、また、追
跡の結果得られた特定番地の内容の変遷は機械語として
の表現で成されている。
のテスト装置では、一般に各テストケースに対する結果
の確認は利用者のマニアル操作(コマンドの投入等)に
頼っていた。一方、例えば特開昭56−42866号公
報には、特定番号の内容の変遷を追跡することにより、
プログラムテスト装置での変数の値の変遷を確認するこ
とが開示されているが、あらかじめ追跡を行いたい番地
を利用者が装置に指示するようになっており、また、追
跡の結果得られた特定番地の内容の変遷は機械語として
の表現で成されている。
従来技術において、会話型のテスト装置では、デス1〜
結果の確認は利用者のマニアル操作に頼っているため、
テストでは結果として表面化しないような潜在不良(期
待されない領域への書込み等)を見逃す場合が多いとい
う問題があった。
結果の確認は利用者のマニアル操作に頼っているため、
テストでは結果として表面化しないような潜在不良(期
待されない領域への書込み等)を見逃す場合が多いとい
う問題があった。
また、変数の値の変遷の確認を可能とするプログラムテ
スト装置では、利用者が該装置を使うために、あらかじ
め追跡を行う変数を選択し、該変数に対応する装置内の
番地を知る必要があった。
スト装置では、利用者が該装置を使うために、あらかじ
め追跡を行う変数を選択し、該変数に対応する装置内の
番地を知る必要があった。
また、高級言語で記述されたプログラムに関しては、機
械命令とのギャップを利用者が解決しなければならなか
った。さらに1選択した変数の変遷は正常であっても、
その他の領域(変数)において異常が起っているという
可能性への配慮がなされておらず、不良を見逃すという
問題があった。
械命令とのギャップを利用者が解決しなければならなか
った。さらに1選択した変数の変遷は正常であっても、
その他の領域(変数)において異常が起っているという
可能性への配慮がなされておらず、不良を見逃すという
問題があった。
本発明の目的は、かかる従来の問題点を解決し、計算機
のソフトウェアをテストするのに効率の良いデータフロ
ー・トレース装置を提供することにある。
のソフトウェアをテストするのに効率の良いデータフロ
ー・トレース装置を提供することにある。
上記目的は、高級言語の言語仕様に鵡づいてソースプロ
グラムを翻訳するコンパイラにおいて、ソースプログラ
ムの翻訳時に、ソースプログラムに含まれる代入文と、
その代入文によって値を設定される変数に関して、翻訳
の結果得られる機械語の中の位置を記録することにより
達成される。
グラムを翻訳するコンパイラにおいて、ソースプログラ
ムの翻訳時に、ソースプログラムに含まれる代入文と、
その代入文によって値を設定される変数に関して、翻訳
の結果得られる機械語の中の位置を記録することにより
達成される。
コンパイラによって記録されたソースプログラムと機械
語との対応により、機械語の中の代入文に対応する全て
の機械命令をあらかじめ検出可能な命令に置換すること
ができる。それによって、利用者が指定することなくデ
ータフローの追跡が可能となるので、不良を見逃すこと
を防止できる。
語との対応により、機械語の中の代入文に対応する全て
の機械命令をあらかじめ検出可能な命令に置換すること
ができる。それによって、利用者が指定することなくデ
ータフローの追跡が可能となるので、不良を見逃すこと
を防止できる。
また、追跡を行う変数の機械語レベルでの変遷をソース
プログラム上での表現(型)に変換して表現することも
可能となるので、利用者自身がこれを行うことが不要と
なる。
プログラム上での表現(型)に変換して表現することも
可能となるので、利用者自身がこれを行うことが不要と
なる。
以下、本発明の一実施例を図面に従って詳細に説明する
。
。
第1図は本発明の一実施例を示す概略構成図である。第
1図において、1,2.3は外部記憶装置であり、信号
線10,11,12を通して計算機5に接続されている
。4は外部記憶装置1の中のソースプログラムである。
1図において、1,2.3は外部記憶装置であり、信号
線10,11,12を通して計算機5に接続されている
。4は外部記憶装置1の中のソースプログラムである。
計算機5は、高級言語の言語仕様に基づいてソースプロ
グラムを翻訳するコンパイラ6、プログラムの実行時に
代入文に対応する機械命令を特殊なコードに置き換える
トランスレータ7、及びプログラムの実行を監視し、特
殊コードの実行を追跡するモニタ8を具備している。コ
ンパイラ6は、ソースプログラム中の特に代入文を解析
し、該代入文及び該代入文によって値を設定される変数
と、それぞれに対応する機械命令とを抽出するアナライ
ズ機能を備えている。9は端末装置であり、信号線13
を通して計算機5に接続されている。
グラムを翻訳するコンパイラ6、プログラムの実行時に
代入文に対応する機械命令を特殊なコードに置き換える
トランスレータ7、及びプログラムの実行を監視し、特
殊コードの実行を追跡するモニタ8を具備している。コ
ンパイラ6は、ソースプログラム中の特に代入文を解析
し、該代入文及び該代入文によって値を設定される変数
と、それぞれに対応する機械命令とを抽出するアナライ
ズ機能を備えている。9は端末装置であり、信号線13
を通して計算機5に接続されている。
次に第2図のフローチャートに基づいて本実施例の処理
手順を説明する。
手順を説明する。
まず、利用者が端末装置9を使って計算機5にコンパイ
ル及びアナライズの指示を行うと(ステップ100)、
計算機5の中のコンパイラ6は外部記憶装置1からソー
スプログラム4を読み出してコンパイルとアナライズを
行う(ステップ101)。コンパイル結果(機械語)は
外部記憶装置ξ2に、アナライズした結果(ソースプロ
グラムと機械語との対応・・・代入文の文番号、当代人
文によって値を設定される変数名とその型、対応する機
械命令と位置)は外部記憶装置3にそれぞれ記憶される
。
ル及びアナライズの指示を行うと(ステップ100)、
計算機5の中のコンパイラ6は外部記憶装置1からソー
スプログラム4を読み出してコンパイルとアナライズを
行う(ステップ101)。コンパイル結果(機械語)は
外部記憶装置ξ2に、アナライズした結果(ソースプロ
グラムと機械語との対応・・・代入文の文番号、当代人
文によって値を設定される変数名とその型、対応する機
械命令と位置)は外部記憶装置3にそれぞれ記憶される
。
次に利用者は、端末装置9を使って計算機5にプログラ
ムのテスト開始を指示する(ステップ102)。計算機
5の中の1〜ランスレータ7は、外部記憶装置2から被
テス1−プログラムの機械語を読み出し、外部記憶装置
3に記憶されている、全ての代入文に対応する値設定命
令(ストアー命令等)の位置を、モニタ8が検出可能な
特殊コード(例えばSVC等)に置換しくステップ10
3)、機械語の実行を計算機5の中のモニタ8にてt視
させる(ステップ104)。モニタ8は、該機械語の実
行中に前記特殊コードの実行を検出すると(ステップ1
05)、外部記憶装置3に記憶されている情報から、検
出した特殊コードの位置に対応するソースプログラムの
代入文と、その代入文によって値を設定される変数名と
その型を取り出す(ステップ106)。次に置換前の機
械命令が値を設定しようとする領域を求め、その(設定
前の)内容を取り出す(ステップ107)。更に置換前
の機械命令を実行しくステップ108)、該領域の設定
後の値を取り出す(ステップ109)。
ムのテスト開始を指示する(ステップ102)。計算機
5の中の1〜ランスレータ7は、外部記憶装置2から被
テス1−プログラムの機械語を読み出し、外部記憶装置
3に記憶されている、全ての代入文に対応する値設定命
令(ストアー命令等)の位置を、モニタ8が検出可能な
特殊コード(例えばSVC等)に置換しくステップ10
3)、機械語の実行を計算機5の中のモニタ8にてt視
させる(ステップ104)。モニタ8は、該機械語の実
行中に前記特殊コードの実行を検出すると(ステップ1
05)、外部記憶装置3に記憶されている情報から、検
出した特殊コードの位置に対応するソースプログラムの
代入文と、その代入文によって値を設定される変数名と
その型を取り出す(ステップ106)。次に置換前の機
械命令が値を設定しようとする領域を求め、その(設定
前の)内容を取り出す(ステップ107)。更に置換前
の機械命令を実行しくステップ108)、該領域の設定
後の値を取り出す(ステップ109)。
次に該領域の設定前、設定後の値をソースプログラム上
での変数名と、その変数の型に応じた表現形式で内容を
端末装置9に表示する(ステップ110)。このときの
表示例を第3図に示す。
での変数名と、その変数の型に応じた表現形式で内容を
端末装置9に表示する(ステップ110)。このときの
表示例を第3図に示す。
被テストプログラムの実行が終了するまで上記の監視(
ステップ104〜110)を行うことにより、テスト中
に発生する全ての領域書き替え(値設定)動作を追跡し
、ソースプログラム上での表現で表示することが可能と
なる。
ステップ104〜110)を行うことにより、テスト中
に発生する全ての領域書き替え(値設定)動作を追跡し
、ソースプログラム上での表現で表示することが可能と
なる。
以上の説明から明らかなように、本発明によれば、プロ
グラムのテストを行う際の確認のための亭備作業が軽減
でき、また、確認のもれを防止することが容易にできる
ので、プログラムテストを効率良く行うことができる。
グラムのテストを行う際の確認のための亭備作業が軽減
でき、また、確認のもれを防止することが容易にできる
ので、プログラムテストを効率良く行うことができる。
第1図は本発明の一実施例を示す概略植成図。
第2図は本発明の一実施例の処理手順を示すフローチャ
ート、第3図は本発明の一実施例のトレース結果の表示
例を示す図である。 1.2.3・・・外部記憶装置、 4・・・ソースプロ
グラム、 5・・・計算機、 6・・・アナライズ
機能付きコンパイラ、 7・・・トランスレータ、8
・・・モニタ、 9・・・端末装置。
ート、第3図は本発明の一実施例のトレース結果の表示
例を示す図である。 1.2.3・・・外部記憶装置、 4・・・ソースプロ
グラム、 5・・・計算機、 6・・・アナライズ
機能付きコンパイラ、 7・・・トランスレータ、8
・・・モニタ、 9・・・端末装置。
Claims (2)
- (1)高級言語の言語仕様に基づいてソースプログラム
を翻訳する手段と、該ソースプログラム中の代入文を解
析し、該代入文及び該代入文によって値を設定される変
数の情報と、それぞれに対応する機械命令の情報とを抽
出する手段と、プログラムの実行時に代入文に対応する
機械命令を特殊なコードに置き換える手段と、該プログ
ラムの実行を監視し、前記特殊コードの実行を追跡、表
示する手段とを備えていることを特徴とするデータフロ
ー・トレース装置。 - (2)前記特殊コードの実行を追跡、表示する手段にお
いては、前記特殊コードの実行を検出し、本来当特殊コ
ードに置き換えられた機械命令によって書き込まれる領
域の内容と、機械命令の実行後の該領域の内容とを取り
出し、前記抽出した情報との突き合わせを行い、ソース
プログラムの記述言語での表現を用いて表示することを
特徴とする特許請求の範囲第1項記載のデータフロー・
トレース装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP61237922A JPS6393050A (ja) | 1986-10-08 | 1986-10-08 | デ−タフロ−・トレ−ス装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP61237922A JPS6393050A (ja) | 1986-10-08 | 1986-10-08 | デ−タフロ−・トレ−ス装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS6393050A true JPS6393050A (ja) | 1988-04-23 |
Family
ID=17022438
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP61237922A Pending JPS6393050A (ja) | 1986-10-08 | 1986-10-08 | デ−タフロ−・トレ−ス装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS6393050A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02213946A (ja) * | 1989-02-14 | 1990-08-27 | Mitsubishi Electric Corp | プログラム翻訳方式 |
JPH04289923A (ja) * | 1991-03-19 | 1992-10-14 | Nec Corp | プログラム変換装置 |
JPH1083326A (ja) * | 1996-05-01 | 1998-03-31 | Internatl Business Mach Corp <Ibm> | トレース・データ収集方法およびコンピュータ読み取り可能コード |
JP2004513448A (ja) * | 2000-11-02 | 2004-04-30 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | ネットワーク制御環境内の視覚的な対−ウイルス |
-
1986
- 1986-10-08 JP JP61237922A patent/JPS6393050A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02213946A (ja) * | 1989-02-14 | 1990-08-27 | Mitsubishi Electric Corp | プログラム翻訳方式 |
JPH04289923A (ja) * | 1991-03-19 | 1992-10-14 | Nec Corp | プログラム変換装置 |
JPH1083326A (ja) * | 1996-05-01 | 1998-03-31 | Internatl Business Mach Corp <Ibm> | トレース・データ収集方法およびコンピュータ読み取り可能コード |
JP2004513448A (ja) * | 2000-11-02 | 2004-04-30 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | ネットワーク制御環境内の視覚的な対−ウイルス |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5987250A (en) | Transparent instrumentation for computer program behavior analysis | |
US7849364B2 (en) | Kernel-mode in-flight recorder tracing mechanism | |
EP1130518B1 (en) | Software analysis system having an apparatus for selectively collecting analysis data from a target system executing software instrumented with tag statements and method for use thereof | |
EP0567722B1 (en) | System for analyzing and debugging embedded software through dynamic and interactive use of code markers | |
US9619367B1 (en) | Object monitoring in code debugging | |
JPH0630057B2 (ja) | 対話的なソフトウエアの試験装置 | |
CN109918081B (zh) | 一种编译方法及编译器 | |
US8381185B2 (en) | Apparatus, system, and method for dynamic module flow analysis | |
US7246267B2 (en) | Logic analyzer having a disassembler employing symbol table information for identifying op-codes | |
JPS6393050A (ja) | デ−タフロ−・トレ−ス装置 | |
US20060074625A1 (en) | Program development suport device, program execution device, compile method and debug method | |
JP2017130068A (ja) | プログラマブルコントローラシステム、その開発支援装置、ターゲット装置 | |
JP2010191738A (ja) | 障害解析支援システム | |
JP2870735B2 (ja) | デバッガにおけるデータの値の自動チェック方式 | |
JPH03294934A (ja) | 高級プログラム言語用デバッガ | |
JP2811804B2 (ja) | 変数出力範囲指定方式 | |
JPH04162149A (ja) | 電子計算機 | |
JP2003058392A (ja) | ソフトウェア開発環境プログラム、その記録媒体、プログラムデバッグ装置及びプログラムデバッグ方法 | |
CN116594750A (zh) | 一种函数调用收集方法、装置、设备、存储介质及产品 | |
JP3165105B2 (ja) | プログラムのトレーサ、コンパイラ及びリンカー | |
Arnaut | Automated Internationalization and Localization Testing of GUIs/submitted by Sinan Arnaut | |
JPS6393053A (ja) | プログラムテスト装置 | |
JP2002236596A (ja) | タグ・ステイトメントを備えたターゲット・システム実行ソフトウエアよりの分析データを選択的に収集する装置を有したソフトウエア分析システムとその使用方法 | |
JPS6033640A (ja) | デ−タ・モニタ方式 | |
JPH06250876A (ja) | 対話型デバック支援システム |