JPH05265802A - ソフトウェアデバッグ装置 - Google Patents

ソフトウェアデバッグ装置

Info

Publication number
JPH05265802A
JPH05265802A JP4091577A JP9157792A JPH05265802A JP H05265802 A JPH05265802 A JP H05265802A JP 4091577 A JP4091577 A JP 4091577A JP 9157792 A JP9157792 A JP 9157792A JP H05265802 A JPH05265802 A JP H05265802A
Authority
JP
Japan
Prior art keywords
data
execution
program
input
function
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
JP4091577A
Other languages
English (en)
Inventor
Yasuo Miwa
泰生 三輪
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.)
Shimadzu Corp
Original Assignee
Shimadzu 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 Shimadzu Corp filed Critical Shimadzu Corp
Priority to JP4091577A priority Critical patent/JPH05265802A/ja
Publication of JPH05265802A publication Critical patent/JPH05265802A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Digital Computer Display Output (AREA)

Abstract

(57)【要約】 【目的】 プログラム仕様上でのデバッグを可能とし
た、ソフトウエアデバッグ装置を提供すること。 【構成】 環境設定部1では、プログラム仕様に基づ
き、テストデータを対話形式により作成し、データ管理
部2で保管する。テスト対象のプログラム仕様は、部品
データベース7中の部品を用いながら、実行イメージ8
に変換される。ユーザの実行指示により、実行制御部3
は、実行すべき関数の指示と、データ管理部2からのテ
ストデータを、実行イメージ8に引き渡し、実行結果を
受け取る。実行結果は、データ管理部2に保管され、要
求に応じて表示される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ソフトウェアデバック
の支援装置に関するものである。
【0002】
【従来の技術】従来のソフトウェア開発においては、プ
ログラムの仕様書を作成し、仕様書に基づいてプログラ
マがソースコードを作成し、コンパイラなどで実行イメ
ージのプログラムを作成している。このようなソフトウ
ェアの開発過程において、仕様書や、ソースコードの作
成時に誤りが発生するため、従来より誤りの修正、すな
わちデバッグが必要であり、そのためのツールも開発さ
れている。
【0003】従来のデバッグ作業は、プログラマの作成
したソースコードに基づいて行なわれていた。そのた
め、デバッグの作業は、そのソースコードを理解できる
人が行なわなければならなかった。また、ソースコード
を1行1行追っていかねばならず効率が悪く、しかも、
不注意による見逃しが発生しやすいという問題がある。
【0004】近年、ソフトウェアの生産性向上およびプ
ログラムエラーの低減などの観点から、プログラムの仕
様からソースコードおよび実行形式のイメージまでを自
動的に生成する研究が進み、実用化されつつある。ユー
ザは、プログラム仕様を一定の形式によってコンピュー
タ上で作成する。作成されたプログラム仕様は、変換手
段によってソースコードが自動生成され、コンパイラな
どによって実行イメージが作成され、実行される。これ
により、プログラミングの工程を省略でき、生産性が向
上するとともに、プログラミング時の誤りを防止でき
る。しかし、プログラム仕様などのエラーは依然として
残るため、プログラム仕様上でのデバッグが必要であ
る。従来は、プログラム仕様からソースコードが自動生
成されるシステムであっても、デバッグは依然としてソ
ースコード上で行なわれており、プログラム仕様上での
デバッグのためのツールもなかった。
【0005】
【発明が解決しようとする課題】本発明は、プログラム
仕様上でのデバッグを可能とするデバッグ装置を提供す
ることを目的とするものである。
【0006】
【課題を解決するための手段】本発明は、プログラム仕
様に対してテスト、デバッグを行なうソフトウェアデバ
ッグ装置において、プログラム仕様の入力、管理を行な
うプログラム仕様管理部と、テストデータの入力作成を
対話的に行なう環境設定部と、対話的な指示に基づき、
入力データの割当と、実行可能な状態に変換されたプロ
グラム仕様の実行を制御する実行制御部と、環境設定部
において作成されたテストデータ、および実行結果を記
憶し、管理するデータ管理部と、対話的なデータの表示
および指示を行なうユーザインタフェース部を有するこ
とを特徴とするものである。
【0007】
【作用】本発明によれば、プログラムの仕様と、実際に
動作する実行イメージが対応付けられており、予め入力
されたテストデータを用いてプログラムを実行し、その
結果を得ることができるから、プログラムの仕様上での
デバッグを行なうことができる。また、テストデータの
入力作成、プログラム仕様の表示、修正、プログラムの
実行、実行結果の表示を対話的に行なえるから、効率の
良いデバッグを行なうことができる。
【0008】
【実施例】図1は、本発明のソフトウェアデバッグ装置
の一実施例を示す概略図である。図中、1は環境設定
部、2はデータ管理部、3は実行制御部、4はユーザイ
ンタフェース部、5はプログラム仕様管理部、6はプロ
グラム仕様作成手段、7は部品データベース、8は実行
イメージである。
【0009】環境設定部1は、テストの対象となるプロ
グラム仕様に必要なテストデータを、ユーザとの対話に
より作成する。データ管理部2は、環境設定部1におい
て作成されたテストデータおよび実行制御部3において
実行されたプログラムの実行結果を記憶し、管理する。
実行制御部3は、ユーザとの対話により、テストするプ
ログラムの選択実行、および、テストするプログラムに
与えるテストデータなどの入力データの割り当てを行な
う。ユーザインタフェース部4は、ユーザからの入力、
例えば、キーボードからの入力や、マウスによる位置情
報などを受け取り、環境設定部1や実行制御部3に入力
を伝え、また、環境設定部1や実行制御部3からの表示
情報や、データ管理部2内の実行結果を、ユーザからの
入力にしたがって表示装置、例えばCRTなどに表示す
る。プログラム仕様管理部5は、入力されるテスト対象
のプログラム仕様を受け取り、管理する。これらによっ
て、この実施例におけるデバッグ装置を構成している。
【0010】データ管理部2や、プログラム仕様管理部
5において管理されているデータ等は、例えば、磁気デ
ィスクやRAM上に記憶され、ユーザや、各部から呼び
出され、使用される。
【0011】プログラム仕様作成手段6は、開発するソ
フトウェアのプログラム仕様を作成するための手段であ
る。部品データベース7には、以前に開発したプログラ
ムの部分(部品)を格納してある。実行イメージ8は、
プログラム仕様と部品とから生成された、実際に動作す
るプログラムである。
【0012】図1で説明した実施例の動作を説明する。
開発されるソフトウェアのプログラム仕様は、プログラ
ム仕様作成手段6で作成される。作成されたプログラム
仕様のうち、テストの対象となるプログラム仕様は、プ
ログラム仕様管理部5に入力される。また、環境設定部
1では、入力されたプログラム仕様に基づき、テストを
行なう際のテストデータを、ユーザインタフェース4を
介したユーザとの対話により作成する。作成されたテス
トデータは、データ管理部2で保管される。
【0013】一方、プログラム作成手段6で作成された
プログラム仕様は、部品データベース7中の部品を用い
て、図示しない変換手段により、プログラム仕様に対応
した実行イメージ8が作成される。この実行イメージ8
は独立したタスクとして動作する。
【0014】ユーザインタフェース4を介してユーザか
らの実行指示が実行制御部3になされると、実行制御部
3はプロセス間通信などの手法によって、実行イメージ
8に対し、実行すべきプログラムモジュールを指示し、
またプログラムモジュールの実行に必要なテストデータ
をデータ管理部2から呼び出して、実行イメージ8に引
き渡す。実行イメージ8では、渡されたテストデータを
入力として、指示されたプログラムモジュールが実行さ
れ、実行結果を、やはりプロセス間通信などの手法によ
って、実行制御部3に送る。実行制御部3が受け取った
実行結果はデータ管理部2に保管され、ユーザインタフ
ェース4を介したユーザからの要求にしたがって、表示
される。
【0015】実行イメージ8は独立したタスクとして動
作すると説明したが、本発明のデバッグ装置と一体とし
て構成されても良い。その場合は、実行イメージ8内の
プログラムモジュールの実行の指示およびデータの受け
渡しは、単なる関数呼び出しと、呼び出す際のパラメー
タの受け渡しで行なうことができる。しかし、実際の動
作環境における実行イメージのデバッグを行なうために
は、実行イメージ8は上述のように独立したタスクとし
て動作するようにした方がよい。
【0016】上述の一実施例について、より具体的に説
明する。図2は、本実施例において用いるプログラム仕
様の説明図である。本実施例において用いているプログ
ラム仕様は、データフロー型のソフトウェア開発用であ
り、図2に図示されているように、図式によって視覚的
にプログラム仕様を記述でき、また制御構造を階層的に
表現できるものである。プログラム仕様は、処理内容を
表すプロセスとその間のデータの流れを表すデータフロ
ーダイアグラム、制御構造を表すプロセスフローダイア
グラム、および使用するデータの構造を定義するデータ
構造定義の3つの部分からなる。図2(A)の上半分が
データフローダイアグラム、図2(A)の下半分がプロ
セスフローダイアグラム、図2(B)がデータ構造定義
の具体例である。図中、IP1〜IP3は入力処理プロ
セス、MP1、MP2は変換処理プロセス、OP1は出
力処理プロセス、D1〜D5はデータのそれぞれが表示
されていることを示している。
【0017】データフローダイアグラムには、各データ
の流れを図式により記述する。矢線がデータの流れを示
し、矢線の付近にデータ名が記述される。また、四角形
または角の丸い四角形が処理を行なうプロセスをしめ
し、矩形中にプロセス名が記述される。図2(A)の例
では、入力処理プロセスIP1とIP2によって入力さ
れたデータD1およびD2が、変換処理プロセスMP1
に入力され、処理が行なわれて、データD4が出力され
る。この出力されたデータD4と、入力処理プロセスI
P3により入力されたデータD3は、変換処理プロセス
MP2に入力されて処理が行なわれ、データD5が出力
される。出力されたデータD5は、出力処理プロセスO
P1が出力されることを示している。
【0018】このデータフローダイアグラムでは、デー
タの流れが記述されるが、処理プロセスの順序、例えば
各入力処理プロセスの順序などは規定できない。そのた
め、プロセスフローダイアグラムによって、実際の処理
の順序などの制御構造を規定する。図2(A)の例で
は、入力処理プロセスIP1、入力データ処理プロセス
IP2、入力処理プロセスIP3、変換処理プロセスM
P1、変換処理プロセスMP2、出力処理プロセスOP
1の順で処理が行なわれることが記述されている。
【0019】データ構造定義には、データフローダイア
グラムにおいて流れが記述された、各データの構造や
型、配列の大きさ、とり得る値などを規定する。図2
(B)では、例えば「測定波形」というデータは、整数
型のデータであって、128個の配列であることが記述
されている。この「測定波形」というデータ名は、デー
タフローダイアグラムのデータの流れを示す矢線上に記
述されているデータ名と対応するものであり、例えば、
図2(A)中の「D1」という表示部分などにに記載さ
れる。本実施例では、データ構造定義は、プログラム仕
様に一つだけ存在する。しかし、各データフローダイア
グラムやプロセスフローダイアグラムと同様に、各図面
毎に存在するように構成しても良い。
【0020】上述のプログラム仕様の記述方法は、一つ
の記法を示したに過ぎず、HIPOやPADなど、従来
の記法を用いたシステムとしても良い。
【0021】また、図2(A)は、図1のプログラム仕
様管理部5において管理している、テストすべきプログ
ラム仕様を、図1のユーザインタフェース4を介して表
示装置に表示したときの、表示装置上の一つのウインド
ウを示している。図2(B)に示されるウインドウも、
表示装置に表示される。表示装置上のウインドウは、そ
れぞれ並んで、または上下関係を持って重ねて表示され
る。重なったウインドウの上下関係の変更や、ウインド
ウの生成、消滅、大きさの変更、視野の変更などは通常
のウインドウシステムと同様である。また、図2(A)
の左脇の欄と、上から2段目の欄は、ユーザが選択する
機能を表示しており、マウスなどのポインティングデバ
イスで選択される。点線で示されている各項目は、現在
の画面では、選択できない項目であることを示してい
る。以下の説明でユーザが機能を選択する場合は、点線
でない項目をマウスなどのポインティングデバイスなど
で指示するか、または対応するキーボード上のキーを押
下することによって行なわれる。
【0022】図3は、プロセスの階層構造を示す概略図
である。図中、HP1、MP1、MP2、LP1〜LP
5はプロセスである。図示された各プロセスに対して、
それぞれデータフローダイアグラムおよびプロセスフロ
ーダイアグラムが記述される。これを図面と呼ぶことに
する。各図面の集合体、およびデータ構造定義により、
プログラム仕様が構成される。図3では、図面の存在す
るプロセスのみがツリー構造として示されている。
【0023】上述したように、プログラム仕様は階層的
に表現される。プロセスHP1の下位展開としてプロセ
スMP1およびMP2が存在する。すなわち、プロセス
HP1は、プロセスMP1およびMP2を用いて構成さ
れる。同様に、プロセスMP1の下位には、プロセスL
P1およびプロセスLP2が、プロセスMP2の下位に
はプロセスLP3ないしLP5がそれぞれ展開されてい
る。例として、図2(A)をプロセスHP1の図面とす
る。同図に図示されているように、プロセスMP1およ
びMP2を用いて、データフローダイアグラムおよびプ
ロセスフローダイアグラムが記述されている。
【0024】図4は、下位展開されたプロセスの図面の
概略図である。例えば、図4に示された図面を、図2
(A)中のプロセスMP1の図面と考えれば、プロセス
MP1はプロセスLP1およびLP2を用いていること
がわかる。このように、各プロセスが階層的に記述され
る。図4は、具体的には、データD2の値によって処理
を行なうプロセスを切り換えることを示し、プロセスL
P1またはプロセスLP2のどちらかが実行され、実行
の際には、入力データとしてデータD1が入力され、出
力データとしてデータD4が出力されることを示してい
る。上述したプログラム仕様のうち、テストおよびデバ
ッグを行なうべき図面は、プログラム仕様管理部5に入
力される。
【0025】テストを実行する前に、テストデータの作
成を、環境設定部1によって行なう。図5は、テストデ
ータ入力の初期画面を示す概略図、図6は、テストデー
タの入力ウインドウを示す概略図である。図5におい
て、表示されている図面は、図4で示したプロセスMP
1の例で示したものである。
【0026】テストを行なう図面を呼び出し、図面の表
示されているウインドウの上から2段目にあるメニュー
の「テストケース」を選択すると、環境設定部1によっ
てテストデータなどの入力ができるモードとなる。図示
されているウインドウの左端のコマンド欄が点線から実
線に変化する。また、図5に示されているように、テス
トデータ入力の初期画面が、一つのウインドウとして表
示される。
【0027】図5に図示されている図面では、データD
2の値によって、プロセスLP1とLP2を切り換える
ことが記述されており、処理の流れとしては、プロセス
LP1を通過するパスと、プロセスLP2を通過するパ
スの2通りがある。そのため、それぞれのパスにしたが
ったテストデータの入力が行なえる必要がある。そのた
め、テストデータを入力するウインドウには、パスの欄
に「1」、「2」の表示があり、ユーザはポインティン
グデバイスなどで指示することにより、パスを選択し
て、テストデータの入力を行なうことができる。選択さ
れたパスは、図面上で太線によって表示され、また、通
過するプロセス、例えば、LP1が反転表示されるの
で、選択したパスを確認することができる。入力する必
要のあるデータ項目は、データフローダイアグラムと、
データ構造定義の記述に基づいて自動的に設定される。
【0028】テストデータ入力のウインドウにおいて、
入力したいデータの欄をポインティングデバイスなどで
指示すると、図6に示されているようなテストデータの
入力のためのウインドウが開き、テストデータを入力す
ることができる。入力すべきデータ数や、データ型など
は、データ構造定義の記述に基づいて自動的に設定され
る。実際のデータの入力は、基本的にはユーザがキーボ
ードなどから入力することになる。しかし、図6に図示
されているデータD1のように、多数の入力を必要とす
る場合、入力作業に手間がかかる。入力の手間を軽減す
るため、ウインドウ中の「生成式」を選択することによ
って、ある生成式に基づいた値を、それぞれのテストデ
ータの値とすることができる。また、「ランダム」を選
択することによって、ランダムなデータをテストデータ
として用いることも可能である。テストデータの順序も
「順序がえ」を選択することによって、行なうことがで
きる。さらに、入力したデータの傾向を確認したいとき
のために、「グラフ」を選択することにより、入力され
たテストデータをグラフ表示でき、視覚的にテストデー
タの確認を行なうことができる。
【0029】上述の例では、図面MP1についてのテス
トデータの入力について説明した。この説明では、テス
トを行なう図面を図面MP1と仮定して、テストデータ
の設定を行なっている。テストを行なう図面は、どの階
層の、どの図面でも良く、ユーザが指定することとな
る。また、複数の図面についてテストデータを設定する
ことも、もちろん可能である。設定されたテストデータ
は、データ管理部2で保管、管理される。
【0030】テストデータの設定の他に、デバッグのた
めの各種の機能を選択的に設定することができる。例え
ば、この実施例では、ブレークポイントの設定や、トレ
ースポイント、ウォッチポイントの設定ができる。これ
らは、従来のソースコードレベルのテスト、デバッガに
もあるような機能である。しかし、本発明では階層的
に、しかもビジュアルに表現されたプログラム仕様をデ
バッグの対象としているため、それぞれの設定は、各ポ
イントの設定したい図面上で、図形を選択することで行
なうこととなる。すなわち、これらのポイントの設定
は、テストする図面のみに限らず、下位に存在する図面
に対しても設定できる。
【0031】ブレークポイントは、指示されたプロセス
が実行される場合、実行を中断することを指示するもの
であり、「BREAK」を選択し、中断したいプロセス
を選択することにより、ブレークポイントが設定され
る。
【0032】トレースポイントは、指定されたプロセス
が実行されたことを示すメッセージを表示することを指
示する点であり、実行時のプロセスの実行順序などを知
ることができる。ユーザは、「TRACE」を選択し、
指示したいプロセスを選択することにより、トレースポ
イントを設定することができる。
【0033】ウォッチポイントは、指定されたデータ
に、どのような値が設定されるかを実行時に監視する点
であり、実行時におけるデータの値の変化などを知るこ
とができる。「WATCH」を選択し、データの流れを
示す線を選択することで、ウォッチポイントを設定する
ことができる。
【0034】これらの機能の設定は、図面に1つとは限
らず、いくつも設定することができる。各選択枝の表示
は単なる例示にすぎず、分かりやすいように表示すれば
良い。また、トレースポイントやウォッチポイント通過
の表示方法も種々の方法が考えられ、例えば図面上のプ
ロセスを示す矩形や、データの流れを示す矢線の表示を
強調表示したり、別のウインドウを開いて、そのウイン
ドウに表示するようにしても良い。さらに、上述の機能
以外のデバッグ機能を組み込むことももちろん可能であ
る。上述の機能を適宜用いながら、対話的にテスト、デ
バッグを進めることができる。
【0035】さらに、テスト実行時に下位の実行すべき
プロセスが、まだ開発されていないなどで、存在しない
場合、実行すべきプロセスの代わりに、実行すべきプロ
セスが出力すべき擬似データをセットし、あたかもプロ
セスが存在していたように実行させることができる。こ
の機能は一般にスタブ化と呼ばれる機能であり、図面の
表示されているウインドウの上から2段目のメニュー中
の「スタブ化」を選択することにより、スタブ化するプ
ロセスの出力データを設定することができる。以上のよ
うなデバッグの環境設定を行なったのち、テストの実行
を行なうこととなる。
【0036】実際のテストは、図1の実行制御部3によ
って行なわれる。ウインドウ左欄上の「実行」をユーザ
が選択すると、実行のモードとなる。図7はプロセスの
実行過程を示す概略図である。プロセスの実行は、概念
的には、図7に図示されているように、実行すべきプロ
セスAに対して、テストデータを入力することによって
行なわれ、プロセスAの出力する実行結果を保存し、ユ
ーザの要求によって表示する。しかし、プロセスAに対
応する実行形式のプログラムは、図1で説明したよう
に、実行イメージ8内に存在するため、実行制御部3
が、プロセスAに対応する実行イメージ内の関数Aを実
行するように、実行の指示と、入力とすべきテストデー
タを実行イメージへ渡す。実行イメージでは、関数Aを
実行し、実行結果を実行制御部3に渡す。これらの動作
によって、ユーザはプログラム仕様上のプロセスの実行
を、実行イメージを意識せずに行なうことができ、また
プロセスの実行結果を得ることによって、プログラム仕
様上でのデバッグを行なうことができる。
【0037】実行制御部3は、このように実行イメージ
とのデータの受け渡しを行なっており、指定されたプロ
セスに対して、実行の指示と、該当するテストデータの
プロセスへの入力、および実行結果の受け取りを、プロ
セス間通信により行っている。
【0038】図8は、テストの実行過程を示す模式図で
ある。テスト対象図面としては、図2(A)に示した図
面を、図面Bとしては、図4に示した図面を仮定してい
る。なお、図2(A)において、入力処理プロセスIP
1〜IP3は、まとめてプロセスIPとして示してい
る。図8において、ユーザから「GO」の指示がある
と、プロセスIP、MP1、MP2、OPの順でそれぞ
れのプロセスが実行され、最後のプロセスを終了すると
停止する。ユーザから「STOP」が指示されると、実
行中のプロセスの実行後に実行を中止することができ
る。また、「STEP」を指示することにより、各プロ
セスを一つずつ実行することができる。
【0039】プロセスMP1、MP2には、下位のプロ
セスが存在するが、ユーザからは、一つのプロセスとし
て実行を行なうことができる。しかし、デバッグのため
に下位のプロセスの挙動を知りたいこともある。このよ
うなときは、「STEP」実行中に、「IN」を指示す
ると、下位の図面がウインドウ表示され、下位の図面中
の各プロセスごとの実行を指示できる。また、「OV」
を指示することにより、上位の図面に戻り、もとの図面
上のプロセスの実行を継続することができる。例えば、
図8に示されている例では、「STEP」を指示してプ
ロセスIPを実行し、その後、「IN」を指示すると、
図面Bがウインドウ表示される。そして、「STEP」
の指示で図面B上のプロセスLP1またはプロセスLP
2のどちらかが実行される。さらに、「OV」指示によ
って上位図面に戻り、実行を続けることができる。
【0040】各プロセスの実行により出力される出力デ
ータは、図1で説明したように、各プロセスの実行毎に
実行イメージ8から実行制御部3に送られ、テスト結果
として、データ管理部2において保管、管理される。得
られたテスト結果は、必要に応じてユーザが参照するこ
とができる。例えば、図5において、虫めがねのアイコ
ンで示された「DT」を選択し、データの流れを示して
いる矢印のついた線の上を選択すると、選択した線に対
応するデータの表示が行なえる。この機能により、2つ
のプロセスの間で受け渡されたデータの値や状態、下位
のプロセスにおけるデータの値や状態などを検証するこ
とができ、デバッグの際に有益である。
【0041】また、各プロセスの実行時には、環境設定
時にデバッグ用のコマンド、すなわち、ブレークポイン
ト、トレースポイント、ウォッチポイントなどが指定さ
れていると、各コマンドに応じた動作が行なわれる。例
えば、図8において、プロセスLP1にトレースポイン
トが指定されていて、実行時にプロセスLP1が実行さ
れれば、ユーザに対してプロセスLP1が実行された旨
のメッセージを表示することとなる。
【0042】最後に、図1の実行イメージ8について説
明する。実行イメージ8は、実行制御部3からの実行指
示およびテストデータをプロセス間通信により受け取
り、指示にしたがってプロセスの実行を行なう。図9
は、実行イメージの作成過程を示すブロック図である。
図1のプログラム仕様作成手段6によって作成されたプ
ログラム仕様は、プログラム仕様からソースコードへの
変換手段により、ソースコードに変換される。変換の際
に、プログラム仕様上でプログラム部品の使用を指定さ
れている場合、部品データベース7内にあるプログラム
部品を、プログラム仕様から変換されたソースコードに
合成し、一つのソースコードにまとめる。できあがった
ソースコードは、コンパイラによりコンパイルし、リン
カによりライブラリなどとリンクされ、実行形式の実行
イメージ8を得ている。
【0043】図10は、実行イメージの構成図である。
図中、3は実行制御部、8は実行イメージ、11は関
数、12は関数ドライバ、13は通信部である。図9の
ような過程を経て出来上がった実行イメージは、実際に
実行される関数11のほか、実行制御部3とのプロセス
間通信を行なう通信部13や、指定された関数を起動す
るための関数ドライバ12も存在し、本発明のデバッガ
とは別の、一つのタスクとして実行される。関数11
は、プログラム仕様の各プロセスに対応して生成されて
おり、プログラム仕様が階層的であるのと同様に、関数
11も階層的な構造となっている。図10においては、
関数F(A)の下位には関数F(B)とF(C)が存在
し、さらに関数F(B)の下位には関数F(D)とF
(E)が、関数F(C)の下位には関数F(F)とF
(G)が存在する。
【0044】関数ドライバ12は、各関数に対応して設
けられ、実行制御部3からの指示にしたがって、どの関
数でも実行させることができるようになっている。図1
0においては、関数F(A)に対応して関数ドライバD
(A)、関数F(B)に対応して関数ドライバD
(B)、...というように、それぞれの関数に対応し
た関数ドライバが設けられている。関数ドライバ12
は、指示された関数に対応する関数ドライバを選択し、
各関数の実行と、各関数へのデータの入力、および各関
数から出力される実行結果を通信部13に渡す機能を有
している。
【0045】通信部13は、実行制御部3からの関数の
実行指示と、入力すべきデータを関数ドライバ12に渡
し、関数11の実行後、実行結果を関数ドライバ12か
ら受け取って、実行制御部3に送る機能を有する。
【0046】テスト実行時の動作を説明する。実行制御
部3からのプロセスの指示や、テストデータは、プロセ
ス間通信によって通信部13に伝達され、通信部3は、
これらのデータを受け取って、関数ドライバ12へ渡
す。関数ドライバ12では、指示されたプロセスに対応
したドライバを選択し、該当するドライバに関数の実行
を指示するとともに、入力すべきデータを渡す。指示さ
れた関数11は実行され、実行結果を関数ドライバ12
に渡し、通信部3を介して実行制御部3に伝達する。
【0047】このように、実行イメージ内に各関数に対
応した関数ドライバ12を有しているから、プログラム
仕様上で指示されたプロセス毎の実行を可能にしてお
り、また各プロセス毎に実行結果を得ることができるよ
うになっている。
【0048】
【発明の効果】以上の説明から明らかなように、本発明
によれば、プログラム仕様と実際に動く実行イメージ中
の関数とを対応づけ、入力されたテストデータを用いて
プログラム仕様上のプロセスを実行し、その結果を見る
ことができるから、プログラム仕様上でのデバッグを行
なうことができる。また、デバッグの対象が、視覚的な
ダイアグラムで記述されたプログラム仕様なので、視覚
的なデバッグを実現でき、効率よくデバッグを行なうこ
とができる。さらに、テストデータの入力作成、プログ
ラム仕様の表示、プロセスの実行、実行結果の表示など
を対話的に、しかも簡単に行なえるから、効率の良いデ
バッグを行なうことができる、という効果がある。
【図面の簡単な説明】
【図1】本発明のソフトウェアデバッグ装置の一実施例
を示す概略図である。
【図2】本実施例において用いるプログラム仕様の説明
図である。
【図3】プロセスの階層構造を示す概略図である。
【図4】下位展開されたプロセスの図面の概略図であ
る。
【図5】テストデータ入力の初期画面を示す概略図、
【図6】テストデータの入力ウインドウを示す概略図で
ある。
【図7】プロセスの実行過程を示す概略図である。
【図8】テストの実行過程を示す模式図である。
【図9】実行イメージの作成過程を示すブロック図であ
る。
【図10】実行イメージの構成図である。
【符号の説明】
1 環境設定部 2 データ管理部 3 実行制御部 4 ユーザインタフェース部 5 プログラム仕様管理部 6 プログラム仕様作成手段 7 部品データベース 8 実行イメージ

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 プログラム仕様に対してテスト、デバッ
    グを行なうソフトウェアデバッグ装置において、プログ
    ラム仕様の入力、管理を行なうプログラム仕様管理部
    と、テストデータの入力作成を対話的に行なう環境設定
    部と、対話的な指示に基づき、入力データの割当と、実
    行可能な状態に変換されたプログラム仕様の実行を制御
    する実行制御部と、環境設定部において作成されたテス
    トデータ、および実行結果を記憶し、管理するデータ管
    理部と、対話的なデータの表示および指示を行なうユー
    ザインタフェース部、を有することを特徴とするソフト
    ウェアデバック装置。
JP4091577A 1992-03-18 1992-03-18 ソフトウェアデバッグ装置 Pending JPH05265802A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4091577A JPH05265802A (ja) 1992-03-18 1992-03-18 ソフトウェアデバッグ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4091577A JPH05265802A (ja) 1992-03-18 1992-03-18 ソフトウェアデバッグ装置

Publications (1)

Publication Number Publication Date
JPH05265802A true JPH05265802A (ja) 1993-10-15

Family

ID=14030396

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4091577A Pending JPH05265802A (ja) 1992-03-18 1992-03-18 ソフトウェアデバッグ装置

Country Status (1)

Country Link
JP (1) JPH05265802A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0844589A (ja) * 1994-07-29 1996-02-16 Nec Corp テスト項目設計支援システム
JP2009193182A (ja) * 2008-02-13 2009-08-27 Meidensha Corp ソフトウェアの開発支援システム、支援方法およびプログラム
JP2016001502A (ja) * 2009-12-14 2016-01-07 アビニシオ テクノロジー エルエルシー クライアント‐サーバ・ブリッジを使用したオブジェクト管理
US9811233B2 (en) 2013-02-12 2017-11-07 Ab Initio Technology Llc Building applications for configuring processes
US10055333B2 (en) 2014-11-05 2018-08-21 Ab Initio Technology Llc Debugging a graph
JP2019153264A (ja) * 2018-03-05 2019-09-12 キヤノンマーケティングジャパン株式会社 情報処理装置、その処理方法及びプログラム
JP2019153265A (ja) * 2018-03-05 2019-09-12 キヤノンマーケティングジャパン株式会社 情報処理装置、その処理方法及びプログラム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0439746A (ja) * 1990-06-05 1992-02-10 Mitsubishi Electric Corp プログラム開発支援装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0439746A (ja) * 1990-06-05 1992-02-10 Mitsubishi Electric Corp プログラム開発支援装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0844589A (ja) * 1994-07-29 1996-02-16 Nec Corp テスト項目設計支援システム
JP2009193182A (ja) * 2008-02-13 2009-08-27 Meidensha Corp ソフトウェアの開発支援システム、支援方法およびプログラム
JP2016001502A (ja) * 2009-12-14 2016-01-07 アビニシオ テクノロジー エルエルシー クライアント‐サーバ・ブリッジを使用したオブジェクト管理
US10129116B2 (en) 2009-12-14 2018-11-13 Ab Initio Technology Llc Techniques for capturing execution time data in dataflow graphs
US9811233B2 (en) 2013-02-12 2017-11-07 Ab Initio Technology Llc Building applications for configuring processes
US10055333B2 (en) 2014-11-05 2018-08-21 Ab Initio Technology Llc Debugging a graph
JP2019153264A (ja) * 2018-03-05 2019-09-12 キヤノンマーケティングジャパン株式会社 情報処理装置、その処理方法及びプログラム
JP2019153265A (ja) * 2018-03-05 2019-09-12 キヤノンマーケティングジャパン株式会社 情報処理装置、その処理方法及びプログラム

Similar Documents

Publication Publication Date Title
US6243857B1 (en) Windows-based flowcharting and code generation system
USRE36422E (en) Debugging system wherein multiple code views are simultaneously managed
US6003143A (en) Tool and method for diagnosing and correcting errors in a computer program
KR100339697B1 (ko) 반도체 시험장치의 프로그램 작성 시스템
JP2753500B2 (ja) 多重アーキテクチャ環境内で特にコードのデバッグを行う改良したソフトウェア・デバッグ・システムと方法
US6016474A (en) Tool and method for diagnosing and correcting errors in a computer program
JP2000132424A (ja) ソフトウェアインスツルメンテ―ション方法
JPH02272645A (ja) プログラム・デバツグ支援方法
US5940617A (en) Debugger for controlling execution of software installed in object to be controlled on the basis of state transition model, debugging method thereof, record medium thereof, and method for correlating function specifications and code addresses
Grechanik et al. Creating GUI testing tools using accessibility technologies
US20060085783A1 (en) Multi-process display method in debugger system
JPH05265802A (ja) ソフトウェアデバッグ装置
CN111984537B (zh) 一种基于WebIDE的软件测试方法、存储介质、装置
JPH1115680A (ja) マルチプロセス管理装置及びプログラム記憶媒体
Kent Test automation: From record/playback to frameworks
JP2809048B2 (ja) 対画面デバッグ方式
JPH10247142A (ja) プロセス制御プログラムのプログラミングシステムおよびプログラミング方法
JP3058953B2 (ja) プログラムソースリスト表示方式
JPH04123144A (ja) デバッグ装置
JPH0546377A (ja) 制御プログラム作成方法及びその作成装置
Badihi et al. Slicer4D: A Slicing-based Debugger for Java
GB2485204A (en) Automating testing of an application using a hook mechanism
JP2007184002A (ja) マルチプロセス管理装置及びコンピュータ読み取り可能な記録媒体
US20050015677A1 (en) Method of executing a computer program
CN116339726A (zh) 一种基于数据库调用的前端代码生成方法及装置