JP2738360B2 - マルチタスクプログラムのデバッグ方法およびデバッグシステム - Google Patents
マルチタスクプログラムのデバッグ方法およびデバッグシステムInfo
- Publication number
- JP2738360B2 JP2738360B2 JP7232131A JP23213195A JP2738360B2 JP 2738360 B2 JP2738360 B2 JP 2738360B2 JP 7232131 A JP7232131 A JP 7232131A JP 23213195 A JP23213195 A JP 23213195A JP 2738360 B2 JP2738360 B2 JP 2738360B2
- Authority
- JP
- Japan
- Prior art keywords
- program
- data
- value
- size
- data array
- 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.)
- Expired - Fee Related
Links
Landscapes
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Description
【発明の属する技術分野】本発明は、分散メモリ型のマ
ルチプロセッサシステムにおけるマルチタスクプログラ
ムのデバッグ方法およびデバッグシステムに関する。
ルチプロセッサシステムにおけるマルチタスクプログラ
ムのデバッグ方法およびデバッグシステムに関する。
【0001】
【従来の技術】分散メモリ型のマルチプロセッサシステ
ムでは、プロセッサを有効に利用してプログラムを高速
に実行するために、シングルプロセッサで実行していた
シリアルプログラムを、配列データを各プロセッサに分
散配置して複数のプロセッサで同時に処理するようなマ
ルチタスクプログラムに書き換えることが多い。
ムでは、プロセッサを有効に利用してプログラムを高速
に実行するために、シングルプロセッサで実行していた
シリアルプログラムを、配列データを各プロセッサに分
散配置して複数のプロセッサで同時に処理するようなマ
ルチタスクプログラムに書き換えることが多い。
【0002】このようなマルチタスクプログラムが正し
いことを確認したりデバッグする場合、各タスクで別々
に処理される配列データの値を確認する必要がある。従
来の一般的な方法では、デバッガで配列データの値を確
認したい箇所にブレイクポイントを設定し、その値を確
認していた。
いことを確認したりデバッグする場合、各タスクで別々
に処理される配列データの値を確認する必要がある。従
来の一般的な方法では、デバッガで配列データの値を確
認したい箇所にブレイクポイントを設定し、その値を確
認していた。
【0003】特開平3−246732号公報には、マル
チタスクプログラムのデバッグ方法として、タスク間共
有定義変数のアクセスに関するトレース情報を解析する
ことによってデバッグするという技術が開示されてい
る。
チタスクプログラムのデバッグ方法として、タスク間共
有定義変数のアクセスに関するトレース情報を解析する
ことによってデバッグするという技術が開示されてい
る。
【0004】
【発明が解決しようとする課題】マルチタスクプログラ
ムのデバッグで一般的なデバッガを使う方法では、ブレ
イクポイントを何回か通過して初めてデータの値が不正
になるということがあり、効率的に誤りを検出すること
ができないという問題点があった。
ムのデバッグで一般的なデバッガを使う方法では、ブレ
イクポイントを何回か通過して初めてデータの値が不正
になるということがあり、効率的に誤りを検出すること
ができないという問題点があった。
【0005】特開平3−246732号公報記載の技術
においては、トレース情報を採取する処理時間が本来の
プログラムの処理時間に比べて相対的に大きくなるた
め、本来のマルチタスクプログラムとは異なる実行結果
を生む可能性が高くなるという問題点があった。
においては、トレース情報を採取する処理時間が本来の
プログラムの処理時間に比べて相対的に大きくなるた
め、本来のマルチタスクプログラムとは異なる実行結果
を生む可能性が高くなるという問題点があった。
【0006】本発明の目的は、シリアルプログラムから
マルチタスクプログラムを正しく生成することにある。
マルチタスクプログラムを正しく生成することにある。
【0007】本発明の他の目的は、シリアルプログラム
をマルチタスクプログラムに書き換えた際の誤りを検出
することにある。
をマルチタスクプログラムに書き換えた際の誤りを検出
することにある。
【0008】さらに本発明の他の目的は、シリアルプロ
グラムを基にして作成したマルチタスクプログラムの実
行結果を変えることなく、該マルチタスクプログラムを
効率良くデバッグすることにある。
グラムを基にして作成したマルチタスクプログラムの実
行結果を変えることなく、該マルチタスクプログラムを
効率良くデバッグすることにある。
【0009】
【課題を解決するための手段】本発明の第1のマルチタ
スクプログラムのデバッグ方法は、分散メモリ型のマル
チプロセッサシステムの各プロセッサ上のメモリに、シ
リアルプログラムのループ中で処理されるデータ配列を
分散配置して各プロセッサで並列に処理するように書き
直したマルチタスクプログラムの正当性を検証するマル
チタスクプログラムのデバッグ方法であって、前記シリ
アルプログラムを実行して並列処理を行う箇所のデータ
配列の値とサイズを得て、さらに前記マルチタスクプロ
グラムを実行して並列処理を行う箇所のデータ配列の値
とサイズを得て、その後、双方の並列処理を行う箇所の
データ配列の値とサイズが不一致の場合には、前記シリ
アルプログラムが前記マルチタスクプログラムと等価で
はない旨を出力することを特徴とする。
スクプログラムのデバッグ方法は、分散メモリ型のマル
チプロセッサシステムの各プロセッサ上のメモリに、シ
リアルプログラムのループ中で処理されるデータ配列を
分散配置して各プロセッサで並列に処理するように書き
直したマルチタスクプログラムの正当性を検証するマル
チタスクプログラムのデバッグ方法であって、前記シリ
アルプログラムを実行して並列処理を行う箇所のデータ
配列の値とサイズを得て、さらに前記マルチタスクプロ
グラムを実行して並列処理を行う箇所のデータ配列の値
とサイズを得て、その後、双方の並列処理を行う箇所の
データ配列の値とサイズが不一致の場合には、前記シリ
アルプログラムが前記マルチタスクプログラムと等価で
はない旨を出力することを特徴とする。
【0010】本発明の第2のマルチタスクプログラムの
デバッグ方法は、分散メモリ型のマルチプロセッサシス
テムの各プロセッサ上のメモリに、シリアルプログラム
のループ中で処理されるデータ配列を分散配置して各プ
ロセッサで並列に処理するように書き直したマルチタス
クプログラムの正当性を検証するマルチタスクプログラ
ムのデバッグ方法であって、前記シリアルプログラムに
並列処理を行う箇所のデータ配列の値とサイズを得る指
示を追加したシリアル変換プログラムと、前記マルチタ
スクプログラムに並列処理を行う箇所のデータ配列の値
とサイズを得る指示を追加したマルチタスク変換プログ
ラムとをそれぞれ実行し、その後、双方の並列処理を行
う箇所のデータ配列の値とサイズが不一致の場合には、
前記シリアルプログラムが前記マルチタスクプログラム
と等価ではない旨を出力することを特徴とする。
デバッグ方法は、分散メモリ型のマルチプロセッサシス
テムの各プロセッサ上のメモリに、シリアルプログラム
のループ中で処理されるデータ配列を分散配置して各プ
ロセッサで並列に処理するように書き直したマルチタス
クプログラムの正当性を検証するマルチタスクプログラ
ムのデバッグ方法であって、前記シリアルプログラムに
並列処理を行う箇所のデータ配列の値とサイズを得る指
示を追加したシリアル変換プログラムと、前記マルチタ
スクプログラムに並列処理を行う箇所のデータ配列の値
とサイズを得る指示を追加したマルチタスク変換プログ
ラムとをそれぞれ実行し、その後、双方の並列処理を行
う箇所のデータ配列の値とサイズが不一致の場合には、
前記シリアルプログラムが前記マルチタスクプログラム
と等価ではない旨を出力することを特徴とする。
【0011】本発明の第1のマルチタスクプログラムの
デバッグシステムは、分散メモリ型のマルチプロセッサ
システムの各プロセッサ上のメモリに、シリアルプログ
ラムのループ中で処理されるデータ配列を分散配置して
各プロセッサで並列に処理するように書き直したマルチ
タスクプログラムの正当性を検証するマルチタスクプロ
グラムのデバッグシステムであって、前記シリアルプロ
グラムを実行して並列処理を行う箇所のデータ配列の値
とサイズを得るとともに、前記マルチタスクプログラム
を実行して並列処理を行う箇所のデータ配列の値とサイ
ズをも得て、双方の並列処理を行う箇所のデータ配列の
値とサイズが不一致の場合には、前記シリアルプログラ
ムが前記マルチタスクプログラムと等価ではない旨を出
力装置へ出力するデータ照合手段を備えている。
デバッグシステムは、分散メモリ型のマルチプロセッサ
システムの各プロセッサ上のメモリに、シリアルプログ
ラムのループ中で処理されるデータ配列を分散配置して
各プロセッサで並列に処理するように書き直したマルチ
タスクプログラムの正当性を検証するマルチタスクプロ
グラムのデバッグシステムであって、前記シリアルプロ
グラムを実行して並列処理を行う箇所のデータ配列の値
とサイズを得るとともに、前記マルチタスクプログラム
を実行して並列処理を行う箇所のデータ配列の値とサイ
ズをも得て、双方の並列処理を行う箇所のデータ配列の
値とサイズが不一致の場合には、前記シリアルプログラ
ムが前記マルチタスクプログラムと等価ではない旨を出
力装置へ出力するデータ照合手段を備えている。
【0012】本発明の第2のマルチタスクプログラムの
デバッグシステムは、分散メモリ型のマルチプロセッサ
システムの各プロセッサ上のメモリに、シリアルプログ
ラムのループ中で処理されるデータ配列を分散配置して
各プロセッサで並列に処理するように書き直したマルチ
タスクプログラムの正当性を検証するマルチタスクプロ
グラムのデバッグシステムであって、前記シリアルプロ
グラムに並列処理を行う箇所のデータ配列の値とサイズ
を得る指示を追加したシリアル変換プログラムと、前記
マルチタスクプログラムに並列処理を行う箇所のデータ
配列の値とサイズを得る指示を追加したマルチタスク変
換プログラムとをそれぞれ実行し、双方の並列処理を行
う箇所のデータ配列の値とサイズが不一致の場合には、
前記シリアルプログラムが前記マルチタスクプログラム
と等価ではない旨を出力装置へ出力するデータ照合手段
を備えている。
デバッグシステムは、分散メモリ型のマルチプロセッサ
システムの各プロセッサ上のメモリに、シリアルプログ
ラムのループ中で処理されるデータ配列を分散配置して
各プロセッサで並列に処理するように書き直したマルチ
タスクプログラムの正当性を検証するマルチタスクプロ
グラムのデバッグシステムであって、前記シリアルプロ
グラムに並列処理を行う箇所のデータ配列の値とサイズ
を得る指示を追加したシリアル変換プログラムと、前記
マルチタスクプログラムに並列処理を行う箇所のデータ
配列の値とサイズを得る指示を追加したマルチタスク変
換プログラムとをそれぞれ実行し、双方の並列処理を行
う箇所のデータ配列の値とサイズが不一致の場合には、
前記シリアルプログラムが前記マルチタスクプログラム
と等価ではない旨を出力装置へ出力するデータ照合手段
を備えている。
【0013】本発明の第3のマルチタスクプログラムの
デバッグシステムは、分散メモリ型のマルチプロセッサ
システムの各プロセッサ上のメモリに、シリアルプログ
ラムのループ中で処理されるデータ配列を分散配置して
各プロセッサで並列に処理するように書き直したマルチ
タスクプログラムの正当性を検証するマルチタスクプロ
グラムのデバッグシステムであって、前記シリアルプロ
グラムを入力して、並列処理を行う箇所のデータ配列の
値とサイズを照合データファイルに退避する指示を追加
したシリアル変換プログラムを生成するとともに、前記
マルチタスクプログラムを入力して、並列処理を行う箇
所のデータ配列の値とサイズを前記照合データファイル
に退避した並列処理を行う箇所のデータ配列の値とサイ
ズと照合する指示を追加したマルチタスク変換プログラ
ムを生成するプログラム変換手段と、前記シリアル変換
プログラムを実行して、並列処理を行う箇所のデータ配
列の値とサイズを前記照合データファイルに退避する照
合データ退避手段と、前記マルチタスク変換プログラム
を実行して、並列処理を行う箇所のデータ配列の値とサ
イズを前記照合データファイルに退避されているデータ
配列の値とサイズと一致するか否かを判定し、不一致の
場合には、前記シリアルプログラムが前記マルチタスク
プログラムと等価ではない旨を出力装置へ出力するデー
タ照合手段とから構成されている。
デバッグシステムは、分散メモリ型のマルチプロセッサ
システムの各プロセッサ上のメモリに、シリアルプログ
ラムのループ中で処理されるデータ配列を分散配置して
各プロセッサで並列に処理するように書き直したマルチ
タスクプログラムの正当性を検証するマルチタスクプロ
グラムのデバッグシステムであって、前記シリアルプロ
グラムを入力して、並列処理を行う箇所のデータ配列の
値とサイズを照合データファイルに退避する指示を追加
したシリアル変換プログラムを生成するとともに、前記
マルチタスクプログラムを入力して、並列処理を行う箇
所のデータ配列の値とサイズを前記照合データファイル
に退避した並列処理を行う箇所のデータ配列の値とサイ
ズと照合する指示を追加したマルチタスク変換プログラ
ムを生成するプログラム変換手段と、前記シリアル変換
プログラムを実行して、並列処理を行う箇所のデータ配
列の値とサイズを前記照合データファイルに退避する照
合データ退避手段と、前記マルチタスク変換プログラム
を実行して、並列処理を行う箇所のデータ配列の値とサ
イズを前記照合データファイルに退避されているデータ
配列の値とサイズと一致するか否かを判定し、不一致の
場合には、前記シリアルプログラムが前記マルチタスク
プログラムと等価ではない旨を出力装置へ出力するデー
タ照合手段とから構成されている。
【0014】本発明の第4のマルチタスクプログラムの
デバッグシステムは、分散メモリ型のマルチプロセッサ
システムの各プロセッサ上のメモリに、シリアルプログ
ラムのループ中で処理されるデータ配列を分散配置して
各プロセッサで並列に処理するように書き直したマルチ
タスクプログラムの正当性を検証するマルチタスクプロ
グラムのデバッグシステムであって、前記シリアルプロ
グラムを入力して、参照しているデータ配列の値とサイ
ズを並列ループの前で照合データファイルに退避し、定
義しているデータ配列の値とサイズを並列ループの後で
照合データファイルに退避する指示を追加したシリアル
変換プログラムを生成するとともに、前記マルチタスク
プログラムを入力して、参照しているデータ配列の値と
サイズを並列ループの前で前記照合データファイルに退
避したシリアルプログラムを実行した結果と照合し、定
義しているデータ配列の値とサイズを並列ループの後で
前記照合データファイルに退避した前記シリアルプログ
ラムを実行した結果と照合する指示を追加したマルチタ
スク変換プログラムを生成するプログラム変換手段と、
前記シリアル変換プログラム実行時に、参照しているデ
ータ配列の値とサイズを並列ループの前で前記照合デー
タファイルに退避し、定義しているデータ配列の値とサ
イズを並列ループの後で前記照合データファイルに退避
する照合データ退避手段と、前記マルチタスク変換プロ
グラム実行時に、参照しているデータ配列の値とサイズ
を並列ループの前で、前記照合データ退避手段が前記照
合データファイルに退避した前記シリアル変換プログラ
ムが参照しているデータ配列の値とサイズと一致するか
否かを判定するとともに、定義しているデータ配列の値
とサイズを並列ループの後で、前記照合データ退避手段
が前記照合データファイルに退避した前記シリアル変換
プログラムが定義しているデータ配列の値とサイズと一
致するか否かを判定し、いずれかの判定において不一致
の場合には、前記シリアルプログラムが前記マルチタス
クプログラムと等価ではない旨を出力装置へ出力するデ
ータ照合手段とから構成されている。
デバッグシステムは、分散メモリ型のマルチプロセッサ
システムの各プロセッサ上のメモリに、シリアルプログ
ラムのループ中で処理されるデータ配列を分散配置して
各プロセッサで並列に処理するように書き直したマルチ
タスクプログラムの正当性を検証するマルチタスクプロ
グラムのデバッグシステムであって、前記シリアルプロ
グラムを入力して、参照しているデータ配列の値とサイ
ズを並列ループの前で照合データファイルに退避し、定
義しているデータ配列の値とサイズを並列ループの後で
照合データファイルに退避する指示を追加したシリアル
変換プログラムを生成するとともに、前記マルチタスク
プログラムを入力して、参照しているデータ配列の値と
サイズを並列ループの前で前記照合データファイルに退
避したシリアルプログラムを実行した結果と照合し、定
義しているデータ配列の値とサイズを並列ループの後で
前記照合データファイルに退避した前記シリアルプログ
ラムを実行した結果と照合する指示を追加したマルチタ
スク変換プログラムを生成するプログラム変換手段と、
前記シリアル変換プログラム実行時に、参照しているデ
ータ配列の値とサイズを並列ループの前で前記照合デー
タファイルに退避し、定義しているデータ配列の値とサ
イズを並列ループの後で前記照合データファイルに退避
する照合データ退避手段と、前記マルチタスク変換プロ
グラム実行時に、参照しているデータ配列の値とサイズ
を並列ループの前で、前記照合データ退避手段が前記照
合データファイルに退避した前記シリアル変換プログラ
ムが参照しているデータ配列の値とサイズと一致するか
否かを判定するとともに、定義しているデータ配列の値
とサイズを並列ループの後で、前記照合データ退避手段
が前記照合データファイルに退避した前記シリアル変換
プログラムが定義しているデータ配列の値とサイズと一
致するか否かを判定し、いずれかの判定において不一致
の場合には、前記シリアルプログラムが前記マルチタス
クプログラムと等価ではない旨を出力装置へ出力するデ
ータ照合手段とから構成されている。
【0015】
【発明の実施の形態】以下、本発明の一実施例につい
て、図を参照しながら詳細に説明する。
て、図を参照しながら詳細に説明する。
【0016】図1を参照すると、本発明の一実施例であ
るマルチタスクプログラムのデバッグシステムは、分散
メモリ型のマルチプロセッサシステムにおいて、利用者
がシリアルプログラム11を各プロセッサ上のメモリに
データ配列を分散配置し、そのデータ配列を各プロセッ
サで並列に処理するように書き直す場合、マルチタスク
プログラム12に対して、並列に処理されるデータ配列
の値とサイズを照合する指示を追加したマルチタスク変
換プログラム15を生成し、さらにシリアルプログラム
11に対して、前記並列処理部に対応する箇所のデータ
配列の値とサイズを退避する指示を追加したシリアル変
換プログラム14を生成するプログラムであるプログラ
ム変換プログラム(以下、プログラム変換手段とする)
13と、シリアル変換プログラム14実行時、データの
適合箇所を通過する毎にデータの値とサイズを照合デー
タファイル17に退避するプログラムである照合データ
退避プログラム(以下、照合データ退避手段とする)1
6と、マルチタスク変換プログラム15実行時、データ
の照合箇所毎にデータのサイズと値を照合データファイ
ル17と照合し、マルチタスクプログラム12がシリア
ルプログラム11と等価か否かを判定し、マルチタスク
プログラム12がシリアルプログラム11と等価でない
場合には、その旨出力装置に出力するプログラムである
データ照合プログラム(以下、データ照合手段とする)
18とから構成されている。
るマルチタスクプログラムのデバッグシステムは、分散
メモリ型のマルチプロセッサシステムにおいて、利用者
がシリアルプログラム11を各プロセッサ上のメモリに
データ配列を分散配置し、そのデータ配列を各プロセッ
サで並列に処理するように書き直す場合、マルチタスク
プログラム12に対して、並列に処理されるデータ配列
の値とサイズを照合する指示を追加したマルチタスク変
換プログラム15を生成し、さらにシリアルプログラム
11に対して、前記並列処理部に対応する箇所のデータ
配列の値とサイズを退避する指示を追加したシリアル変
換プログラム14を生成するプログラムであるプログラ
ム変換プログラム(以下、プログラム変換手段とする)
13と、シリアル変換プログラム14実行時、データの
適合箇所を通過する毎にデータの値とサイズを照合デー
タファイル17に退避するプログラムである照合データ
退避プログラム(以下、照合データ退避手段とする)1
6と、マルチタスク変換プログラム15実行時、データ
の照合箇所毎にデータのサイズと値を照合データファイ
ル17と照合し、マルチタスクプログラム12がシリア
ルプログラム11と等価か否かを判定し、マルチタスク
プログラム12がシリアルプログラム11と等価でない
場合には、その旨出力装置に出力するプログラムである
データ照合プログラム(以下、データ照合手段とする)
18とから構成されている。
【0017】次に本発明の一実施例であるマルチタスク
プログラムのデバッグシステムについて、図1〜図6を
参照して説明する。
プログラムのデバッグシステムについて、図1〜図6を
参照して説明する。
【0018】利用者はマルチプロセッサシステムのプロ
セッサを有効に利用し、プログラムの処理時間を短縮す
るために、図2に示すシリアルプログラム11を図3に
示すマルチタスクプログラム12に書き直す。本実施例
では図3に示すように、ループ21の処理時間を短縮す
るために、ループ33中で処理される配列(ARRAY
1、ARRAY2)を各プロセッサのメモリに分散する
指示31と、並列実行する指示32を利用者が追加して
いる。
セッサを有効に利用し、プログラムの処理時間を短縮す
るために、図2に示すシリアルプログラム11を図3に
示すマルチタスクプログラム12に書き直す。本実施例
では図3に示すように、ループ21の処理時間を短縮す
るために、ループ33中で処理される配列(ARRAY
1、ARRAY2)を各プロセッサのメモリに分散する
指示31と、並列実行する指示32を利用者が追加して
いる。
【0019】プログラム変換手段13は、シリアルプロ
グラム11を入力し(ステップ131)、マルチタスク
プログラム12上で並列処理するために分散配置された
データ配列(ARRAY1、ARRAY2)に対し、参
照しているデータ配列(ARRAY1)の値とサイズを
並列ループ33の前で照合データファイルに退避する指
示41と、定義しているデータ配列(ARRAY2)の
値とサイズを並列ループ33の後で照合データファイル
に退避する指示42を追加した図4に示すシリアル変換
プログラム14を生成する(ステップ132)。
グラム11を入力し(ステップ131)、マルチタスク
プログラム12上で並列処理するために分散配置された
データ配列(ARRAY1、ARRAY2)に対し、参
照しているデータ配列(ARRAY1)の値とサイズを
並列ループ33の前で照合データファイルに退避する指
示41と、定義しているデータ配列(ARRAY2)の
値とサイズを並列ループ33の後で照合データファイル
に退避する指示42を追加した図4に示すシリアル変換
プログラム14を生成する(ステップ132)。
【0020】また、プログラム変換手段13は、マルチ
タスクプログラム12を入力し(ステップ133)、各
プロセッサに分散配置されたデータ配列(ARRAY
1、ARRAY2)の定義と参照を行っている並列ルー
プ33に対して、並列ループ33の前で参照しているデ
ータ配列(ARRAY1)の値とサイズをシリアルプロ
グラム11を実行した結果と照合する指示51と、並列
ループ33の後で定義しているデータ配列(ARRAY
2)の値とサイズをシリアルプログラム11を実行した
結果と照合する指示52を追加した図5に示すマルチタ
スク変換プログラム15を生成する(ステップ13
4)。
タスクプログラム12を入力し(ステップ133)、各
プロセッサに分散配置されたデータ配列(ARRAY
1、ARRAY2)の定義と参照を行っている並列ルー
プ33に対して、並列ループ33の前で参照しているデ
ータ配列(ARRAY1)の値とサイズをシリアルプロ
グラム11を実行した結果と照合する指示51と、並列
ループ33の後で定義しているデータ配列(ARRAY
2)の値とサイズをシリアルプログラム11を実行した
結果と照合する指示52を追加した図5に示すマルチタ
スク変換プログラム15を生成する(ステップ13
4)。
【0021】照合データ退避手段16は、シリアル変換
プログラム14実行時、プログラム変換手段13によっ
て追加された指示に従って、マルチタスクプログラム1
2上で並列処理するために分散配置されたデータ配列
(ARRAY1、ARRAY2)に対し、参照している
データ配列(ARRAY1)の値とサイズを並列ループ
33の前で図6に示すような形式の照合データファイル
17に退避し(ステップ161)、さらに定義している
データ配列(ARRAY2)の値とサイズを並列ループ
33の後で照合データファイル17に退避する(ステッ
プ162)。
プログラム14実行時、プログラム変換手段13によっ
て追加された指示に従って、マルチタスクプログラム1
2上で並列処理するために分散配置されたデータ配列
(ARRAY1、ARRAY2)に対し、参照している
データ配列(ARRAY1)の値とサイズを並列ループ
33の前で図6に示すような形式の照合データファイル
17に退避し(ステップ161)、さらに定義している
データ配列(ARRAY2)の値とサイズを並列ループ
33の後で照合データファイル17に退避する(ステッ
プ162)。
【0022】データ照合手段18は、マルチタスク変換
プログラム15実行時、プログラム変換手段13によっ
て追加された指示に従って、マルチタスクプログラム1
2上で各プロセッサに分散配置されたデータ配列(AR
RAY1、ARRAY2)の定義と参照を行っている並
列ループ33に対して、並列ループ33の前で参照して
いるデータ配列(ARRAY1)の値とサイズを、照合
データ退避手段16によって照合データファイル17に
出力されたシリアル変換プログラム14を実行した結果
であるデータ配列(ARRAY1)の値とサイズと照合
し(ステップ181)、さらに並列ループ33の後で定
義しているデータ配列(ARRAY2)の値とサイズ
を、照合データ退避手段16によって照合データファイ
ル17に出力されたシリアル変換プログラム14を実行
した結果であるデータ配列(ARRAY2)の値とサイ
ズと照合する(ステップ182)。
プログラム15実行時、プログラム変換手段13によっ
て追加された指示に従って、マルチタスクプログラム1
2上で各プロセッサに分散配置されたデータ配列(AR
RAY1、ARRAY2)の定義と参照を行っている並
列ループ33に対して、並列ループ33の前で参照して
いるデータ配列(ARRAY1)の値とサイズを、照合
データ退避手段16によって照合データファイル17に
出力されたシリアル変換プログラム14を実行した結果
であるデータ配列(ARRAY1)の値とサイズと照合
し(ステップ181)、さらに並列ループ33の後で定
義しているデータ配列(ARRAY2)の値とサイズ
を、照合データ退避手段16によって照合データファイ
ル17に出力されたシリアル変換プログラム14を実行
した結果であるデータ配列(ARRAY2)の値とサイ
ズと照合する(ステップ182)。
【0023】データ照合手段18は、このステップ18
1またはステップ182における照合において、結果が
一致していなければ、図2に示すシリアルプログラム1
1と図3に示すマルチタスクプログラム12は等価では
ない、すなわち利用者によるシリアルプログラム11の
マルチタスクプログラム12への書き直しが誤っている
ということを出力装置に出力する(ステップ183)。
1またはステップ182における照合において、結果が
一致していなければ、図2に示すシリアルプログラム1
1と図3に示すマルチタスクプログラム12は等価では
ない、すなわち利用者によるシリアルプログラム11の
マルチタスクプログラム12への書き直しが誤っている
ということを出力装置に出力する(ステップ183)。
【0024】以上により、本発明の一実施例であるマル
チタスクプログラムのデバッグシステムの処理が完了す
る。
チタスクプログラムのデバッグシステムの処理が完了す
る。
【0025】本発明の一実施例であるマルチタスクプロ
グラムのデバッグシステムは、シリアルプログラムをマ
ルチタスクプログラムへ書き換えた際の誤りを検出する
ことができるという効果を有している。
グラムのデバッグシステムは、シリアルプログラムをマ
ルチタスクプログラムへ書き換えた際の誤りを検出する
ことができるという効果を有している。
【0026】
【発明の効果】以上説明したように、本発明のマルチタ
スクプログラムのデバッグシステムは、シリアルプログ
ラムを基にして作成したマルチタスクプログラムの実行
結果を変えることなく、マルチタスクプログラムをデバ
ッグすることができる効果を有している。
スクプログラムのデバッグシステムは、シリアルプログ
ラムを基にして作成したマルチタスクプログラムの実行
結果を変えることなく、マルチタスクプログラムをデバ
ッグすることができる効果を有している。
【0027】さらに本発明は、シリアルプログラムから
マルチタスクプログラムを正しく生成することができる
効果を有している。
マルチタスクプログラムを正しく生成することができる
効果を有している。
【図1】本発明の一実施例を示すブロック図である。
【図2】本発明の一実施例におけるシリアルプログラム
11の例を示す図である。
11の例を示す図である。
【図3】本発明の一実施例におけるマルチタスクプログ
ラム12の例を示す図である。
ラム12の例を示す図である。
【図4】本発明の一実施例におけるシリアル変換プログ
ラム14の例を示す図である。
ラム14の例を示す図である。
【図5】本発明の一実施例におけるマルチタスク変換プ
ログラム15の例を示す図である。
ログラム15の例を示す図である。
【図6】本発明の一実施例における照合データファイル
17の例を示す図である。
17の例を示す図である。
【図7】本発明の一実施例におけるプログラム変換手段
13、照合データ退避手段16、およびデータ照合手段
18の処理を示す流れ図である。
13、照合データ退避手段16、およびデータ照合手段
18の処理を示す流れ図である。
11 シリアルプログラム 12 マルチタスクプログラム 13 プログラム変換手段 14 シリアル変換プログラム 15 マルチタスク変換プログラム 16 照合データ退避手段 17 照合データファイル 18 データ照合手段
Claims (2)
- 【請求項1】 分散メモリ型のマルチプロセッサシステ
ムの各プロセッサ上のメモリに、シリアルプログラムの
ループ中で処理されるデータ配列を分散配置して各プロ
セッサで並列に処理するように書き直したマルチタスク
プログラムの正当性を検証するマルチタスクプログラム
のデバッグ方法であって、 シリアルプログラムを入力して、該シリアルプログラム
が参照する第1のデータ配列の値およびサイズを並列ル
ープの前で照合データファイルに退避し、該シリアルプ
ログラムが定義する第2のデータ配列の値およびサイズ
を前記並列ループの後で前記照合データファイルに退避
する指示を該シリアルプログラムに追加したシリアル変
換プログラムを生成するとともに、 前記マルチタスクプログラムを入力して、該マルチタス
クプログラムが参照する第3のデータ配列の値およびサ
イズを、前記シリアル変換プログラムが前記照合データ
ファイルに退避した前記第1のデータ配列の値およびサ
イズと前記並列ループの前で照合し、該マルチタスクプ
ログラムが定義する第4のデータ配列の値およびサイズ
を、前記シリアル変換プログラムが前記照合データファ
イルに退避した前記第2のデータ配列の値およびサイズ
と前記並列ループの後で照合する指示を該マルチタスク
プログラムに追加したマルチタスク変換プログラムを生
成するプログラム変換ステップと、 前記プログラム変換ステップにおいて生成された前記シ
リアル変換プログラムの実行時に、前記第1のデータ配
列の値およびサイズを前記並列ループの前で前記照合デ
ータファイルに退避し、前記第2のデータ配列の値およ
びサイズを前記並列ループの後で前記照合データファイ
ルに退避する照合データ退避ステップと、 前記プログラム変換ステップにおいて生成された前記マ
ルチタスク変換プログラムの実行時に、前記並列ループ
の前で、前記第3のデータ配列の値およびサイズを、前
記照合データ退避ステップにおいて前記シリアル変換プ
ログラムが前記照合データファイルに退避した前記第1
のデータ配列の値およびサイズと一致するか否かを判定
するとともに、前記並列ループの後で、前記第4のデー
タ配列の値およびサイズを、前記照合データ退避ステッ
プにおいて前記シリアル変換プロ グラムが前記照合デー
タファイルに退避した前記第2のデータ配列の値および
サイズと一致するか否かを判定し、いずれかの判定にお
いて不一致の場合には、前記シリアルプログラムが前記
マルチタスクプログラムと等価ではない旨を出力装置へ
出力するデータ照合ステップとを含むことを特徴とする
マルチタスクプログラムのデバッグ方法。 - 【請求項2】 分散メモリ型のマルチプロセッサシステ
ムの各プロセッサ上のメモリに、シリアルプログラムの
ループ中で処理されるデータ配列を分散配置して各プロ
セッサで並列に処理するように書き直したマルチタスク
プログラムの正当性を検証するマルチタスクプログラム
のデバッグシステムであって、 シリアルプログラムを入力して、該シリアルプログラム
が参照する第1のデータ配列の値およびサイズを並列ル
ープの前で照合データファイルに退避し、該シリアルプ
ログラムが定義する第2のデータ配列の値およびサイズ
を前記並列ループの後で前記照合データファイルに退避
する指示を該シリアルプログラムに追加したシリアル変
換プログラムを生成するとともに、 前記マルチタスクプログラムを入力して、該マルチタス
クプログラムが参照する第3のデータ配列の値およびサ
イズを、前記シリアル変換プログラムが前記照合データ
ファイルに退避した前記第1のデータ配列の値およびサ
イズと前記並列ループの前で照合し、該マルチタスクプ
ログラムが定義する第4のデータ配列の値およびサイズ
を、前記シリアル変換プログラムが前記照合データファ
イルに退避した前記第2のデータ配列の値およびサイズ
と前記並列ループの後で照合する指示を該マルチタスク
プログラムに追加したマルチタスク変換プログラムを生
成するプログラム変換手段と、 前記シリアル変換プログラム実行時に、前記第1のデー
タ配列の値およびサイズを前記並列ループの前で前記照
合データファイルに退避し、前記第2のデータ配列の値
およびサイズを前記並列ループの後で前記照合データフ
ァイルに退避する照合データ退避手段と、 前記マルチタスク変換プログラム実行時に、前記並列ル
ープの前で、前記第3のデータ配列の値およびサイズを
前記シリアル変換プログラムが前記照合データファイル
に退避した前記第1のデータ配列の値およびサイズと一
致するか否かを 判定するとともに、前記並列ループの後
で、前記第4のデータ配列の値およびサイズを前記シリ
アル変換プログラムが前記照合データファイルに退避し
た前記第2のデータ配列の値およびサイズと一致するか
否かを判定し、いずれかの判定において不一致の場合に
は、前記シリアルプログラムが前記マルチタスクプログ
ラムと等価ではない旨を出力装置へ出力するデータ照合
手段とを備えたことを特徴とするマルチタスクプログラ
ムのデバッグシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7232131A JP2738360B2 (ja) | 1994-09-12 | 1995-09-11 | マルチタスクプログラムのデバッグ方法およびデバッグシステム |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP21697494 | 1994-09-12 | ||
JP6-216974 | 1994-09-12 | ||
JP7232131A JP2738360B2 (ja) | 1994-09-12 | 1995-09-11 | マルチタスクプログラムのデバッグ方法およびデバッグシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08137714A JPH08137714A (ja) | 1996-05-31 |
JP2738360B2 true JP2738360B2 (ja) | 1998-04-08 |
Family
ID=26521741
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP7232131A Expired - Fee Related JP2738360B2 (ja) | 1994-09-12 | 1995-09-11 | マルチタスクプログラムのデバッグ方法およびデバッグシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2738360B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013008326A1 (ja) * | 2011-07-13 | 2013-01-17 | 富士通株式会社 | ソフトウェア検証方法、およびソフトウェア検証システム |
JPWO2013008326A1 (ja) * | 2011-07-13 | 2015-02-23 | 富士通株式会社 | ソフトウェア検証方法、およびソフトウェア検証システム |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5048018A (en) | 1989-06-29 | 1991-09-10 | International Business Machines Corporation | Debugging parallel programs by serialization |
-
1995
- 1995-09-11 JP JP7232131A patent/JP2738360B2/ja not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5048018A (en) | 1989-06-29 | 1991-09-10 | International Business Machines Corporation | Debugging parallel programs by serialization |
Non-Patent Citations (1)
Title |
---|
村岡洋一著,「超並列処理コンパイラ」,コロナ社,1990年8月初版発行 山田 剛著,"並列処理システムにおけるプログラムデバッギング",情報処理,(1993年9月),VOL.34,NO.9,P.1170−1178 |
Also Published As
Publication number | Publication date |
---|---|
JPH08137714A (ja) | 1996-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5799142A (en) | Debugging method and debugging system for multi-task programs | |
JP2738360B2 (ja) | マルチタスクプログラムのデバッグ方法およびデバッグシステム | |
JP2001273340A (ja) | マイクロプロセッサの設計検証方法及びマイクロプロセッサの設計検証装置及びパイプラインシミュレータ生成装置 | |
US5903719A (en) | Emulator apparatus and emulation method for efficiently analyzing program faults | |
US7024347B2 (en) | Transaction conflict testing method and apparatus | |
JPH05334119A (ja) | プログラムデバッグ方法 | |
JPH05165680A (ja) | メモリ操作トレ−ス装置 | |
JP3301203B2 (ja) | ページ記述言語プログラム変換装置 | |
JP2570108B2 (ja) | ソフトウェアデバッグ方法 | |
JP3039450B2 (ja) | スタック領域の切替方法、方式およびスタック領域切替プログラムを記録した記憶媒体 | |
JPS60179847A (ja) | 実配列および仮配列間の整合性チエツク方式 | |
JPH06242982A (ja) | 仮想計算機システムの試験方式 | |
JP2743889B2 (ja) | プログラム評価の方法および装置 | |
JP3278860B2 (ja) | プログラム生成方法 | |
JP3293652B2 (ja) | シミュレーションプログラム生成方式 | |
JPH0468446A (ja) | デバッグ支援装置 | |
JPH08286950A (ja) | 情報処理装置及びトレース情報格納方法 | |
JP2786689B2 (ja) | コンパイラ処理方法 | |
JPH01304548A (ja) | プログラム検証方式 | |
JPH05127945A (ja) | プログラム実行状況解析方式 | |
JPS63163636A (ja) | 並列処理実行方式 | |
JPS63289654A (ja) | プログラム分岐命令モニタ方式 | |
JPH07200351A (ja) | プログラムデバッグ方法およびプログラムデバッグ支援装置 | |
JPH03225435A (ja) | マイクロプロセッサ | |
JPH03288239A (ja) | デバッグ方法およびその装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 19971216 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080116 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090116 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100116 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110116 Year of fee payment: 13 |
|
LAPS | Cancellation because of no payment of annual fees |