JPH0425947A - 試験プログラム動的相互矛盾検出プログラムの全走行路決定方式 - Google Patents

試験プログラム動的相互矛盾検出プログラムの全走行路決定方式

Info

Publication number
JPH0425947A
JPH0425947A JP2130970A JP13097090A JPH0425947A JP H0425947 A JPH0425947 A JP H0425947A JP 2130970 A JP2130970 A JP 2130970A JP 13097090 A JP13097090 A JP 13097090A JP H0425947 A JPH0425947 A JP H0425947A
Authority
JP
Japan
Prior art keywords
location
test program
control table
program
mutual contradiction
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
JP2130970A
Other languages
English (en)
Inventor
Takeaki Ito
伊藤 武明
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 Solution Innovators Ltd
Original Assignee
NEC Solution Innovators 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 NEC Solution Innovators Ltd filed Critical NEC Solution Innovators Ltd
Priority to JP2130970A priority Critical patent/JPH0425947A/ja
Publication of JPH0425947A publication Critical patent/JPH0425947A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はプログラムのデバグ方式に関し、特にデバグす
るプログラム(試験プログラム)に係るハードウェアが
まだ存在しない場合、試験プログラムに係るオペレーテ
ィングシステムがまだ存在しない場合または試験プログ
ラムを動作させる環境を作成するのに多大な準備が必要
である場合等にコンパイラのシンタックスチエツクの一
部として試験プログラムの走行路を追いながらレジスタ
間5作業域間およびカウンタ間等の相互間の矛盾を検出
していく試験プログラム動的相互矛盾検出プログラムに
関する。
〔従来の技術〕
従来、この種の試験プログラム動的相互矛盾検出プログ
ラムは、自動的に走行路を決定する手段を持っていなか
った。
〔発明が解決しようとする課題〕
上述したように、従来の試験プログラム動的相互矛盾検
出プログラムは自動的に走行路を決定する手段を持って
いないので、あらかじめ試験プログラムの走行路を試験
プログラム動的相互矛盾検出プログラムに人間が教えて
やる必要や、試験プログラム動的相互矛盾検出プログラ
ムの動作中に条件ブランチ命令毎にブランチずべきか否
かを試験プログラム動的相互矛盾検出プログラムに人間
が指示する必要があり、試験プログラムの全ロケーショ
ンを走破するように全走行路を決定するためには多大な
準備が必要となり、試験プログラム動的相互矛盾検出プ
ログラムの実行に多くの時間が費やされ、試験プログラ
ムの走行路の設定ミスが発生しやすいという欠点がある
本発明の目的は、上述の点に鑑み、試験プログラムの全
ロケーションを走破する全走行路を人間の労力を必要と
せずに効率的に決定することができ、自動的かつ効率的
に試験プログラム動的相互矛盾検出プログラムを動作さ
せることができる試験プログラム動的相互矛盾検出プロ
グラムの全走行路決定方式を提供することにある。
〔課題を解決するだめの手段] 本発明の試験プログラム動的相互矛盾検出プログラムの
全走行路決定方式は、試験プログラムを参照して制御テ
ーブルを作成する制御テーブル作成部と、この制御テー
ブル作成部により作成された制御テーブルを参照してま
だ走行していないロケーションを含むように試験プログ
ラムの走行路を決定する走行路決定処理部と、試験プロ
グラムにおけるレジスタ間1作業域間およびカウンタ間
等の相互間の矛盾を前記走行路決定処理部により決定さ
れた走行路を追いながら検出する相互矛盾検出処理部と
、この相互矛盾検出処理部の処理の過程で制御を渡され
て前記制御テーブル作成部により作成された制御テーブ
ルを参照して次ロケーションを決定する次ロケーション
決定処理部とを有する。
〔作用〕
本発明の試験プログラム動的相互矛盾検出プログラムの
全走行路決定方式では、制御テーブル作成部が試験プロ
グラムを参照して制御テーブルを作成し、走行路決定処
理部が制御テーブル作成部により作成された制御テーブ
ルを参照してまだ走行していないロケーションを含むよ
うに試験プログラムの走行路を決定し、相互矛盾検出処
理部が試験プログラムにおけるレジスタ間1作業域間お
よびカウンタ間等の相互間の矛盾を走行路決定処理部に
より決定された走行路を追いながら検出し、次ロケーシ
ョン決定処理部が相互矛盾検出処理部の処理の過程で制
御を渡されて制御テーブル作成部により作成された制御
テーブルを参照して次ロケーションを決定する。
〔実施例〕
次に、本発明について図面を参照して詳細に説明する。
第1図は、本発明の一実施例の構成を示すブロック図で
ある0本実施例の試験プログラム動的相互矛盾検出プロ
グラムの全走行路決定方式は、試験プログラム動的相互
矛盾検出プログラム1−1と、試験プログラム格納外部
ファイル1−2とを含んで構成されている。
試験プログラム動的相互矛盾検出プログラム11は、制
御テーブル作成部1−11と、制御テーブル1−1−2
と、走行路決定処理部1−13と、相互矛盾検出処理部
1−1−4と、次ロケーション決定処理部1−i5と、
終了処理部11−6とを含んで構成されている。
第2図は、走行路決定処理部1−13の処理を示す流れ
図である。この処理は、未走行ロケーションサーチステ
ップ2−1と、未走行最初rJゲーション現リロケーシ
ョン設定ステップ−2と、開始ロケーション判定ステッ
プ2−3と、現ロケーション遡及設定ステップ2−4と
、条件ブランチ命令判定ステップ2−5と、現ロケーシ
ョン走行回数カウンタ奇数設定ステップ2−6と、遡及
可否判定ステップ2−7と、現ロケーションサーチステ
ップ2−8と、現ロケーション走行回数カウンタ奇数設
定ステップ2−9とからなる。
第3図は、次ロケーション決定処理部1−15の処理を
示す流れ図である。この処理は、走行回数カウンタ加算
ステップ3−1と、現走行中口ケーシッン命令判定ステ
ップ3−2と、走行回数カウンタ奇偶判定ステップ3−
3と、ロケーション進行ステップ3−4と、ブランチ失
火ロケーション設定ステップ3−5と、終了ロケーショ
ン検出判定ステップ3−6とからなる。
第4図は、制御テーブル1−1.−2の構成を示す図で
ある。制御テーブル1−1−2は、ロケーション部1−
1−2−1と、ブランチ先ロケーション部1−1−2−
2と、走行回数カウンタ部11−2−3と、プログラム
格納部1−1.−2−4とからなる。なお、第3図中の
走行回数カウンタ奇偶判定ステップ3−3において、条
件ブランチ命令のロケーションに対応する走行回数カウ
ンタ部1−1−2−3中の値(走行回数カウンタ)が偶
数である場合にはその条件ブランチ命令はブランチし、
奇数である場合にはその条件ブランチ命令はブランチし
ない。
次に、このように構成された本実施例の試験プログラム
動的相互矛盾検出プログラムの全走行路決定方式の動作
について説明する。
試験プログラム動的相互矛盾検出プログラム1−1内の
制御テーブル作成部1−1−1は、試験プログラム格納
外部ファイル1−2内の試験プログラムを参照して、制
御テーブル11−2を作成する。
この作成に際して、制御テーブル1−1−2中の各部(
第4図参照)には以下に示すような情報が格納される。
すなわち、ロケーション部1−1−2−1には試験プロ
グラムの各行を表すロケーションが格納され、ブランチ
先ロケーション部1−1−2−2には対応するロケーシ
ョンの命令を表す無条件ブランチ、条件ブランチ、開始
ロケーションまたは終了ロケーションの表示とブランチ
時の飛び先ロケーションとが格納され、走行回数カウン
タ部1−1−2−3には走行路決定処理部1−1−3に
よって行われる未走行のロケーションのサーチに備えて
初期値としてOが格納され、プログラム格納部1−1−
2−4には相互矛盾検出処理部11−4でレジスタ間1
作業域間およびカウンタ間等の相互間の矛盾が検出され
るオブジェクトプログラムもしくはソースプログラムま
たはそれらの両方(後述する第6図の例ではソースプロ
グラムのみである)が格納される。
走行路決定処理部1−i−3は、次に相互矛盾検出処理
部1−1−4が起動される際の試験プログラムの走行路
を決定するために、以下に示すような処理を行う(第2
図参照)。
制御テーブルl−12を参照して、対応する走行回数カ
ウンタ部1t−1−3の植(走行回数カウンタ)がOで
あるロケーション部1−12−1のロケーション(まだ
走行していないロケーション)をサーチする(ステップ
2−1)。
このサーチで該当するロケーションが存在しない場合(
試験プログラムにおいて全てのロケーションが走行済み
である場合、すなわち全走行路処理済みの場合)には、
終了処理部1−1−6に制御を移行する。なお、制御を
移行された終了処理部11−6は、試験プログラム動的
相互矛盾検出プログラム1−1を終了させ、相互矛盾検
出処理によって獲得した情報の出力等を行う。
ステップ2−1のサーチで該当するロケーションが存在
する場合には、まだ走行していない最初(最も若い番号
)のロケーションを現ロケーションとし、その現ロケー
ションから走行路の決定処理を開始する(ステップ2−
2)。
制御テーブル1−12中のブランチ先ロケーション部1
−12−2を参照して、現ロケーションが開始ロケーシ
ョンであるか否かを判定する(ステップ2−3)。
この判定で現ロケーションが開始ロケーションである場
合には、走行路が決定したとして相互矛盾検出処理部1
−1−4に制御を移行する。
ステップ2−3の判定で現ロケーションが開始ロケーシ
ョンでない場合には、現ロケーションからロケーション
を1つさかのぼってそのロケーションを現ロケーション
とする(ステップ2−4)。
制御テーブルl−1−2中のブランチ先ロケーション部
1−1−2−2を参照して、現ロケーションの命令が条
件ブランチ命令であるが否かを判定する(ステップ2−
5)。
この判、定で現ロケーションの命令が条件ブランチ命令
である場合には、次にその現ロケーションを走行する時
に条件ブランチ命令がブランチしないようにするために
、現ロケーションの走行回数カウンタ(現ロケーション
に対応する制御テーブル1−1−2中の走行回数カウン
タ部1−123の値)を偶数にしくステップ2−6) 
、その後にステップ2−3に制御を移行する。
ステップ2−5の判定で現ロケーションの命令が条件ブ
ランチ命令でない場合には、その命令が無条件ブランチ
命令である等の理由でロケーションをもうさかのぼれな
いかどうかを判定する(ステップ2−7)。
この判定でもうさかのぼれない場合には、ロケーション
を1つ進めて、さかのぼれなかった現ロケーションの直
後のロケーションをブランチ先としているロケーション
の中で最も若い番号のものを制御テーブル1−1−2中
のブランチ先ロケーシッン部1−1−2−2を参照して
サーチし、サーチしたブランチ元のロケーションを現ロ
ケーションとする(ステップ2−8)。
さらに、次にその現ロケーションを走行する時に条件ブ
ランチ命令がブランチするようにするために、現ロケー
ションの走行回数カウンタを奇数にしくステップ2−9
>、その後にステップ2−3に制御を移行する。
ステップ2−7の判定でまださかのぼれる場合には、ス
テップ2−3に制御を移行する。
このようにして、走行路決定処理部1に3は、次に相互
矛盾検出処理部1−1−4が起動される際に、ステップ
2−1および2−2で検出された未走行のロケーション
を必ず走行するように試験プログラムの走行路を決定す
る。
相互矛盾検出処理部]、 −1−4は、上述のようにし
て走行路決定処理部1−1−3により決定された走行路
に基づいて、試験プログラムにおけるレジスタ間2作業
域間およびカウンタ間等の相互間の矛盾を当該走行路を
追いながら検出する。
相互矛盾検出処理部1−1−4は、その処理の過程で、
当該走行路における各ロケーションに関する相互矛盾検
出処理を終了する毎に、次ロケーション決定処理部11
−5に制t’Bを移行する。
次ロケーション決定処理部1−]−5は、相互矛盾検出
処理を終了したロケーション(以下、現走行中ロケーシ
ョンという)の次に走行すべきロケーション(以下、次
ロケーションという)を決定するために、以下に示すよ
うな処理を行う(第3図参照)。
現走行中ロケーションの走行回数カウンタに1を加算す
る(ステップ3−1)。
ステップ3〜1で1が加算された現走行中ロケーション
の命令が何であるかを判定する(ステップ3−2)。
この判定で現走行中ロケーションの命令が無条件ブラン
チ命令である場合には、ブランチ先のロケーションにブ
ランチさせるために、ブランチ先のロケーション(現走
行中ロケーションに対応する制御テーブル1−1−2中
のブランチ先ロケーション部kl−2−2のロケーショ
ン)を次ロケーションとする(ステップ3−5)。
ステップ3−2の判定で現走行中ロケーションの命令が
条件ブランチ命令である場合には、現走行中ロケーショ
ンの走行回数カウンタが偶数であるか奇数であるかを判
定する(ステップ3−3)。
この判定で走行回数カウンタが偶数である場合には、ブ
ランチ先のロケーションにブランチさせるために、ブラ
ンチ先のロケーションを次ロケーションとする(ステッ
プ3−5)。
ステップ3−3の判定で走行回数カウンタが奇数である
場合には、ブランチ先のロケーションにブランチさせず
に現走行中ロケーションの直後のロケーションを次に走
行させるために、現走行中ロケ−シランから1つ進めた
ロケーションを次ロケーションとする(ステップ3−4
)。
ステップ3−2の判定で現走行中ロケーションの命令が
無条件ブランチ命令および条件ブランチ命令以外の命令
である場合には、現走行中ロケーションの直後のロケー
ションを次に走行させるために、現走行中ロケーション
から1つ進めた口ヶ−ジョンを次ロケーションとする(
ステップ34)。
ステップ3−4または3−5の処理を実行した後に、制
御テーブル11−2中のブランチ先ロケーション部11
2−2を参照して、次ロケーションが終了ロケーション
であるか否かを判定する(ステップ3−6)。
この判定で次ロケーションが終了ロケーションである場
合(終了ロケーション検出の場合)には、試験プログラ
ムの1つの走行路が走行済みであるので、走行路決定処
理部1−1−3に制御を移行し、次に相互矛盾検出処理
部1−1−4が起動される際の試験プログラムの走行路
を決定する。
ステップ3−6の判定で次ロケーションが終了ロケーシ
ョンでない場合には、相互矛盾検出処理部1−1−4に
制御を移行し、次ロケーションに関する相互矛盾検出処
理を相互矛盾検出処理部1−1−4に実行させる。
このようにして、第2図中のステップ2−6で偶数に設
定された条件ブランチ命令のロケーションの走行回数カ
ウンタが第3図中のステップ3−1で奇数になるので、
ステップ3−3および34でその条件ブランチ命令はブ
ランチしないように次ロケーションが決定されることに
なる。また、第2図中のステップ2−9で奇数に設定さ
れた条件ブランチ命令のロケーションの走行回数カウン
タが第3図中のステップ3−1で偶数になるので、ステ
ップ3−3および3−5でその条件ブランチ命令はブラ
ンチするように次ロケーションが決定されることになる
次に、第5図〜第8図を参照して、本実施例の試験プロ
グラム動的相互矛盾検出プログラムの全走行路決定方式
の具体的な動作について説明する。
第5図は、試験プログラム格納外部ファイル12に格納
されている試験プログラムの一例を示す図である。
試験プログラム動的相互矛盾検出プログラム11内の制
御テーブル作成部1−1−1は、第5図の試験プログラ
ムを参照して、第6図の形式で制御テーブル!−12を
作成する。
このような制御テーブル]−1−2に基づく走行路決定
処理部1−13および次ロケーション決定処理部115
の処理によって決定される走行路を追いながら、相互矛
盾検出処理部1−14は相互矛盾検出処理を行っていく
第7図は、仮に走行路決定処理部1−1−3の処理がな
いとした場合に、次ロケーション決定処理部1−1.−
5によって設定されていく第6図の制御テーブル1−1
−2中の走行回数カウンタ部1−1.−2−3の値(走
行回数カウンタ)の遷移を示す図である。この例では、
相互矛盾検出処理部1−1−4が5回起動されることに
よって試験プログラムの全ロケーションが走破されるが
、2回目と4回目とはまったく同一の走行路が走行され
ている。この例は単純な例であるので同一の走行路が走
行される回数が2回であるが、実際の複雑な試験プログ
ラムの処理の場合には、走行路決定処理部1−1−3の
処理がないと何度も同一の走行路が走行されることにな
り非効率的である。
これに対して、第8図は、走行路決定処理部11−3の
処理が行われた場合に、次ロケーション決定処理部11
−5によって設定されていく第6図の制御テーブル1−
12中の走行回数カウンタの遷移を示す図である。この
例では、第7図中の2回目と4回目との走行路の走行が
なくなり、相互矛盾検出処理部1−14が3回起動され
るだけで試験プログラムの全ロケーションが走破されて
いる。
このようにして、走行路決定処理部1−1−3の働きに
より効率的に全ロケーションを走破する走行路を検出で
き、次ロケーション決定処理部11−5の働きにより自
動的に相互矛盾検出処理部i14の処理における次ロケ
ーションの決定が可能になる。
〔発明の効果〕
以上説明したように本発明は、試験プログラム動的相互
矛盾検出プログラム内に走行路決定処理部および次ロケ
ーション決定処理部を組み込むこと等により、試験プロ
グラムの全ロケーションを走破する全走行路を人間の労
力を必要とせずに効率的に決定することができ、自動的
かつ効率的に試験プロ・ダラム動的相互矛盾検出プログ
ラムを動作させることができるという効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例の構成を示すプロ。 り図、 第2図は第1図中の走行路決定処理部の処理を示す流れ
図、 第3図は第1図中の次ロケーション決定処理部の処理を
示す流れ図、 第4図は第1図中の制御テーブルの構成を示す図、 第5図は第1図中の試験プログラム格納外部ファイル内
の試験プログラムの一例を示す図、第6図は第5図に示
す試験プログラムに基づいて設定される第1図中の制御
テーブルを示す図、第7図は第1図中の走行路決定処理
部が用いられないと仮定した場合に第1図中の次ロケー
シコン決定処理部によって設定されていく第6図に示す
制御テーブル中の走行回数カウンタの遷移を示1−2 
・ ・ ・ ・ ・ 1、−1−1  ・ 1−1−2  ・ 1−1−3  ・ 1−1−4  ・ 1−1−5  ・ す図、 第8図は第1図中の走行路決定処理部が用いられて第1
図中の次ロケーション決定処理部によって設定されてい
く第6図に示す制御テーブル中の走行回数カウンタの遷
移を示す図である。 図において、 1−1・・・・・ 試験プログラム動的相互矛盾 検出プログラム、 試験プログラム格納外部ファ イル、 制御テーブル作成部、 制御テーブル、 走行路決定処理部、 相互矛盾検出処理部、 次ロケーション決定処理部、 終了処理部、 ロケーシミン部、 ブランチ先ロケーション部、 走行回数カウンタ部、 プログラム格納部である。 第7図 第8図

Claims (1)

  1. 【特許請求の範囲】 試験プログラムを参照して制御テーブルを作成する制御
    テーブル作成部と、 この制御テーブル作成部により作成された制御テーブル
    を参照してまだ走行していないロケーションを含むよう
    に試験プログラムの走行路を決定する走行路決定処理部
    と、 試験プログラムにおけるレジスタ間、作業域間およびカ
    ウンタ間等の相互間の矛盾を前記走行路決定処理部によ
    り決定された走行路を追いながら検出する相互矛盾検出
    処理部と、 この相互矛盾検出処理部の処理の過程で制御を渡されて
    前記制御テーブル作成部により作成された制御テーブル
    を参照して次ロケーションを決定する次ロケーション決
    定処理部と を有することを特徴とする試験プログラム動的相互矛盾
    検出プログラムの全走行路決定方式。
JP2130970A 1990-05-21 1990-05-21 試験プログラム動的相互矛盾検出プログラムの全走行路決定方式 Pending JPH0425947A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2130970A JPH0425947A (ja) 1990-05-21 1990-05-21 試験プログラム動的相互矛盾検出プログラムの全走行路決定方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2130970A JPH0425947A (ja) 1990-05-21 1990-05-21 試験プログラム動的相互矛盾検出プログラムの全走行路決定方式

Publications (1)

Publication Number Publication Date
JPH0425947A true JPH0425947A (ja) 1992-01-29

Family

ID=15046866

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2130970A Pending JPH0425947A (ja) 1990-05-21 1990-05-21 試験プログラム動的相互矛盾検出プログラムの全走行路決定方式

Country Status (1)

Country Link
JP (1) JPH0425947A (ja)

Similar Documents

Publication Publication Date Title
CN107665167B (zh) 程序调试方法、装置及程序开发设备
JPH06324881A (ja) メモリデータの重なり判定機能を備えたコンパイラ装置
JPS6073746A (ja) 情報処理システムおよびプロセス実行制御方式
JPH0425947A (ja) 試験プログラム動的相互矛盾検出プログラムの全走行路決定方式
JP2003085001A (ja) ソース・コード・デバッガ、デバッグ方法及びデバッグプログラム
JPS63237165A (ja) 工程計画支援装置
WO1995032476A1 (en) A system and method for creating design configurations and for controlling the execution of multiple design tools
JPH10247142A (ja) プロセス制御プログラムのプログラミングシステムおよびプログラミング方法
JP2751423B2 (ja) プログラムデバッグ処理方式
JPH0784797A (ja) ロードモジュールへのソースコード行番号登録方法および装置
US20050015677A1 (en) Method of executing a computer program
JPH0443405A (ja) 数値制御装置における移動経路回帰チェック方法およびその装置
JPH07295832A (ja) 計算機シミュレータ
JPH03191438A (ja) 異常終了時情報取得方式
JPS61183705A (ja) プログラマブルコントロ−ラの演算トレ−ス処理方法
JPH05324402A (ja) プログラムのテスト状態計測方式
JPH06139104A (ja) プログラムの実行履歴表示方式
JPH01177137A (ja) 計算機実行診断装置
JPH04340628A (ja) ファジィ推論処理コンパイルシステム
JPH0481940A (ja) テルト網羅状況表示方式
JPH0343840A (ja) プログラムテスト方式
JPH03111944A (ja) プログラム制御装置
JPH0683668A (ja) ソフトウエアデバッグ装置
JPH04174033A (ja) 情報処理装置試験診断プログラムデバグ方式
JPH08320810A (ja) プログラムの走行経路測定方法およびソフト・シミュレータ