JPH04323739A - 網羅率測定装置 - Google Patents
網羅率測定装置Info
- Publication number
- JPH04323739A JPH04323739A JP3092570A JP9257091A JPH04323739A JP H04323739 A JPH04323739 A JP H04323739A JP 3092570 A JP3092570 A JP 3092570A JP 9257091 A JP9257091 A JP 9257091A JP H04323739 A JPH04323739 A JP H04323739A
- Authority
- JP
- Japan
- Prior art keywords
- address
- bit
- instruction
- register
- word
- 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
- 238000005259 measurement Methods 0.000 claims abstract description 49
- 238000004364 calculation method Methods 0.000 claims description 4
- 238000000034 method Methods 0.000 description 33
- 230000010365 information processing Effects 0.000 description 27
- 238000012545 processing Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 18
- 238000012360 testing method Methods 0.000 description 7
- 238000010998 test method Methods 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 241000270281 Coluber constrictor Species 0.000 description 1
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- OQZCSNDVOWYALR-UHFFFAOYSA-N flurochloridone Chemical compound FC(F)(F)C1=CC=CC(N2C(C(Cl)C(CCl)C2)=O)=C1 OQZCSNDVOWYALR-UHFFFAOYSA-N 0.000 description 1
- 230000002401 inhibitory effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【0001】
【産業上の利用分野】本発明はプログラム評価における
網羅率測定装置に関し、特に命令実行に伴って測定デー
タを蓄積する網羅率測定装置に関する。
網羅率測定装置に関し、特に命令実行に伴って測定デー
タを蓄積する網羅率測定装置に関する。
【0002】
【従来の技術】従来、この種の網羅率測定装置には、情
報処理装置に内在する実行命令アドレス蓄積回路(命令
カウンタレーサ)のオーバフロー割り込みを契機にプロ
グラムで網羅率測定データを蓄積するものと、分岐命令
実行で分岐成功時に発生する分岐割り込みを契機にやは
りプログラムで網羅率測定データを蓄積するものとがあ
る。
報処理装置に内在する実行命令アドレス蓄積回路(命令
カウンタレーサ)のオーバフロー割り込みを契機にプロ
グラムで網羅率測定データを蓄積するものと、分岐命令
実行で分岐成功時に発生する分岐割り込みを契機にやは
りプログラムで網羅率測定データを蓄積するものとがあ
る。
【0003】
【発明が解決しようとする課題】上述した従来の網羅率
測定装置では、プログラム評価中に網羅率測定データを
蓄積するための割り込みが発生するため、リアルタイム
処理を要求されるプログラムなどには応用できないとい
う欠点がある。
測定装置では、プログラム評価中に網羅率測定データを
蓄積するための割り込みが発生するため、リアルタイム
処理を要求されるプログラムなどには応用できないとい
う欠点がある。
【0004】
【課題を解決するための手段】本発明の第1の網羅率測
定装置は、主記憶部に設けた網羅率測定用のビットマッ
プエリアと、該ビットマップエリアの先頭アドレスを指
示するC0ポインタと、前記主記憶部に格納された命令
のバイトアドレスを最小命令語長が1ビットに対応した
前記ビットマップエリア内のビットアドレスに変換する
ビットアドレス生成手段と、前記ビットマップエリア内
の任意のビットにデータを書き込む部分書き込み手段と
を有し、命令実行毎に命令アドレスに対応するビットア
ドレスを求め、前記ビットマップエリアの該ビットアド
レスに命令実行状態を設定し、網羅率測定対象プログラ
ム実行後に前記ビットマップエリアを解析することを特
徴とする。
定装置は、主記憶部に設けた網羅率測定用のビットマッ
プエリアと、該ビットマップエリアの先頭アドレスを指
示するC0ポインタと、前記主記憶部に格納された命令
のバイトアドレスを最小命令語長が1ビットに対応した
前記ビットマップエリア内のビットアドレスに変換する
ビットアドレス生成手段と、前記ビットマップエリア内
の任意のビットにデータを書き込む部分書き込み手段と
を有し、命令実行毎に命令アドレスに対応するビットア
ドレスを求め、前記ビットマップエリアの該ビットアド
レスに命令実行状態を設定し、網羅率測定対象プログラ
ム実行後に前記ビットマップエリアを解析することを特
徴とする。
【0005】本発明の第2の網羅率測定装置は、主記憶
部に設けた網羅率測定用の分岐成功用ビットマップエリ
アと、該分岐成功用ビットマップエリアの先頭アドレス
を指示するGOポインタと、前記主記憶部に設けた網羅
率測定用の分岐不成功用ビットマップエリアと、該分岐
不成功用ビットマップエリアの先頭アドレスを指示する
NGポインタと、前記主記憶部に格納された命令のバイ
トアドレスを最小命令語長が1ビットに対応した前記分
岐成功用ビットマップエリア及び前記分岐不成功用ビッ
トマップエリア内のビットアドレスに変換するビットア
ドレス生成手段と、前記分岐成功用ビットマップエリア
又は前記分岐不成功用ビットマップエリア内の任意のビ
ットにデータを書き込む部分書き込み手段とを有し、分
岐命令実行毎に命令アドレスに対応するビットアドレス
を求め、分岐成功時には分岐成功用ビットマップエリア
の該ビットアドレスに命令実行状態を設定し、分岐不成
功時は前記分岐不成功用ビットマップエリアの該ビット
アドレスに命令実行状態を設定し、網羅率測定対象プロ
グラム実行後に前記両ビットマップエリアを解析するこ
とを特徴とする。
部に設けた網羅率測定用の分岐成功用ビットマップエリ
アと、該分岐成功用ビットマップエリアの先頭アドレス
を指示するGOポインタと、前記主記憶部に設けた網羅
率測定用の分岐不成功用ビットマップエリアと、該分岐
不成功用ビットマップエリアの先頭アドレスを指示する
NGポインタと、前記主記憶部に格納された命令のバイ
トアドレスを最小命令語長が1ビットに対応した前記分
岐成功用ビットマップエリア及び前記分岐不成功用ビッ
トマップエリア内のビットアドレスに変換するビットア
ドレス生成手段と、前記分岐成功用ビットマップエリア
又は前記分岐不成功用ビットマップエリア内の任意のビ
ットにデータを書き込む部分書き込み手段とを有し、分
岐命令実行毎に命令アドレスに対応するビットアドレス
を求め、分岐成功時には分岐成功用ビットマップエリア
の該ビットアドレスに命令実行状態を設定し、分岐不成
功時は前記分岐不成功用ビットマップエリアの該ビット
アドレスに命令実行状態を設定し、網羅率測定対象プロ
グラム実行後に前記両ビットマップエリアを解析するこ
とを特徴とする。
【0006】
【実施例】次に本発明について図面を参照して詳細に説
明する。
明する。
【0007】図1は、本発明の第1の網羅率測定装置を
示す構成図であり、主記憶部10にビットマップエリア
12と、このビットマップエリア12の先頭を指示する
C0ポインタ11と、網羅率解析手段である制御プログ
ラム13とがあり、命令処理部20にビットアドレス生
成手段22と部分書き込み手段23が含まれていること
を示している。
示す構成図であり、主記憶部10にビットマップエリア
12と、このビットマップエリア12の先頭を指示する
C0ポインタ11と、網羅率解析手段である制御プログ
ラム13とがあり、命令処理部20にビットアドレス生
成手段22と部分書き込み手段23が含まれていること
を示している。
【0008】図2は、制御プログラム13の処理の流れ
を示した図、図3は、命令処理部20の命令実行回路2
4が命令実行毎にビットマップエリア12をアップデー
トする処理を示した図である。
を示した図、図3は、命令処理部20の命令実行回路2
4が命令実行毎にビットマップエリア12をアップデー
トする処理を示した図である。
【0009】次に網羅率測定処理について図2により説
明する。制御プログラム13は、操作員の要求で外部記
憶装置(図示していない)から入力制御部30を経由し
て被測定プログラム14を主記憶部10に図2の処理1
00でロードし、処理101で主記憶部10の固定番地
にあるC0ポインタ11にビットマップエリア12を示
すアドレスを設定し、処理102でビットマップエリア
12の全ビットを“0”にクリアし、処理103で被測
定プログラム14を起動する。
明する。制御プログラム13は、操作員の要求で外部記
憶装置(図示していない)から入力制御部30を経由し
て被測定プログラム14を主記憶部10に図2の処理1
00でロードし、処理101で主記憶部10の固定番地
にあるC0ポインタ11にビットマップエリア12を示
すアドレスを設定し、処理102でビットマップエリア
12の全ビットを“0”にクリアし、処理103で被測
定プログラム14を起動する。
【0010】起動された被測定プログラム14は、試験
手順に従って評価され、バグ(設計、製造誤り)がない
ことを検証する。このとき、試験手順に漏れがあると被
測定プログラム14で実行されない命令が残り、バグが
十分検出されないことになる。このため網羅率を測定す
るわけだが、制御プログラム13は、すべての試験手順
で評価後、処理104でビットマップエリア12を読み
出し、処理105で編集し、その結果を入出力制御部3
0を介して表示装置(図示していない)に出力する。
手順に従って評価され、バグ(設計、製造誤り)がない
ことを検証する。このとき、試験手順に漏れがあると被
測定プログラム14で実行されない命令が残り、バグが
十分検出されないことになる。このため網羅率を測定す
るわけだが、制御プログラム13は、すべての試験手順
で評価後、処理104でビットマップエリア12を読み
出し、処理105で編集し、その結果を入出力制御部3
0を介して表示装置(図示していない)に出力する。
【0011】なお、処理105での編集処理では、被測
定プログラム14の全命令に対応するビットマップエリ
ア12のビットの内、“1”のビット即ち実行された命
令の数の比率を表示する以外に、どの処理が実行されて
いないかも表示する。
定プログラム14の全命令に対応するビットマップエリ
ア12のビットの内、“1”のビット即ち実行された命
令の数の比率を表示する以外に、どの処理が実行されて
いないかも表示する。
【0012】続いて、図3を用いて命令処理部20がビ
ットマップエリア12に命令の実行情報を蓄積する処理
について説明する。本情報処理装置1は、2バイト/4
バイト/6バイト命令を有しており、先頭の1バイトに
命令コードが格納されている。なお、命令コード毎に命
令長が規定されている。さらに、情報処理装置1は命令
カウンタ21に実行中の命令の絶対アドレスを保持して
いる。
ットマップエリア12に命令の実行情報を蓄積する処理
について説明する。本情報処理装置1は、2バイト/4
バイト/6バイト命令を有しており、先頭の1バイトに
命令コードが格納されている。なお、命令コード毎に命
令長が規定されている。さらに、情報処理装置1は命令
カウンタ21に実行中の命令の絶対アドレスを保持して
いる。
【0013】まず、処理200で命令カウンタ21が指
示しているアドレスから命令語を取り出し、処理201
で命令コードに従ってオペランドデータを準備し、処理
202で命令コードに従った処理を行う。さらに、命令
実行回路24は、処理203で実行中の命令語長を命令
カウンタ21に加算する。但し、分岐成功及び割り込み
が発生しているときは、命令実行回路24が既に命令カ
ウンタ21を更新しているので、加算は抑止される。以
上の動作は、従来の情報処理装置と同じである。
示しているアドレスから命令語を取り出し、処理201
で命令コードに従ってオペランドデータを準備し、処理
202で命令コードに従った処理を行う。さらに、命令
実行回路24は、処理203で実行中の命令語長を命令
カウンタ21に加算する。但し、分岐成功及び割り込み
が発生しているときは、命令実行回路24が既に命令カ
ウンタ21を更新しているので、加算は抑止される。以
上の動作は、従来の情報処理装置と同じである。
【0014】次に本発明の網羅率測定処理を行う。即ち
、処理204で命令の2バイト単位アドレスをビットマ
ップエリア12の1ビットアドレスに変換し、処理20
5でビットマップエリア12の該当1ビットに“1”を
書き込む。
、処理204で命令の2バイト単位アドレスをビットマ
ップエリア12の1ビットアドレスに変換し、処理20
5でビットマップエリア12の該当1ビットに“1”を
書き込む。
【0015】この様にして順次実行した命令に対応して
ビットマップエリア12に情報を蓄積して行くことがで
きる。なお、2バイト命令は1ビットに対応しているが
、4バイト/6バイト命令は、2ビット/3ビットに対
応しており、先頭の1ビットで代表させている。
ビットマップエリア12に情報を蓄積して行くことがで
きる。なお、2バイト命令は1ビットに対応しているが
、4バイト/6バイト命令は、2ビット/3ビットに対
応しており、先頭の1ビットで代表させている。
【0016】次に、このような網羅率測定装置の第1の
実施例について図面を参照して詳細に説明する。
実施例について図面を参照して詳細に説明する。
【0017】図4は、本実施例を示す構成図であり、本
情報処理装置にはアドレスレジスタ40と、C0ポイン
タレジスタ41と、アドレス加算器42と、デコーダ4
3と、OR回路46とが設けられていることを示してい
る。
情報処理装置にはアドレスレジスタ40と、C0ポイン
タレジスタ41と、アドレス加算器42と、デコーダ4
3と、OR回路46とが設けられていることを示してい
る。
【0018】図5は、アドレスレジスタ40に格納され
る実行中の命令アドレスが、26ビットのワードアドレ
ス部と、5ビットのワード内ビットアドレス部と、1ビ
ットの未使用部に分割されていることを示している。な
お、本発明の情報処理装置は、2バイト/4バイト/6
バイト命令を有しており、主記憶部48に対するアクセ
スは1ワード(32ビット=4バイト)単位に行うこと
ができる。さらに、本情報処理装置は、網羅率測定開始
命令と網羅率測定終了命令とを有している。
る実行中の命令アドレスが、26ビットのワードアドレ
ス部と、5ビットのワード内ビットアドレス部と、1ビ
ットの未使用部に分割されていることを示している。な
お、本発明の情報処理装置は、2バイト/4バイト/6
バイト命令を有しており、主記憶部48に対するアクセ
スは1ワード(32ビット=4バイト)単位に行うこと
ができる。さらに、本情報処理装置は、網羅率測定開始
命令と網羅率測定終了命令とを有している。
【0019】網羅率測定開始命令を受け付けた情報処理
装置は、オペランドで指示された主記憶部48内にある
ビットマップエリア12の先頭アドレス(ワードアドレ
ス)をC0ポインタレジスタ41に設定するとともに、
以下に説明する網羅率測定動作を開始する。
装置は、オペランドで指示された主記憶部48内にある
ビットマップエリア12の先頭アドレス(ワードアドレ
ス)をC0ポインタレジスタ41に設定するとともに、
以下に説明する網羅率測定動作を開始する。
【0020】まず、実行中の命令の絶対アドレスをアド
レスレジスタ40に設定し、C0ポインタレジスタ41
とアドレスレジスタ40のワードアドレス部とをアドレ
ス加算器42で加算し、結果をワードアドレス44に設
定するとともに、主記憶部48内のワードアドレス44
で指示される1ワードデータを読み出しレジスタ49に
読み出す。
レスレジスタ40に設定し、C0ポインタレジスタ41
とアドレスレジスタ40のワードアドレス部とをアドレ
ス加算器42で加算し、結果をワードアドレス44に設
定するとともに、主記憶部48内のワードアドレス44
で指示される1ワードデータを読み出しレジスタ49に
読み出す。
【0021】一方、デコーダ43は、アドレスレジスタ
40のワード内ビットアドレス部(5ビット)をデコー
ドし、ワークレジスタ45(32ビット)に設定する。 次に、OR回路46は、読み出しレジスタ49とワーク
レジスタ45にデータが揃うと論理和演算を行い、結果
を書き込みレジスタ47に格納する。続いて情報処理装
置は、ワードアドレス44で指示された主記憶部48に
書き込みレジスタ47の内容を書き込むことで1命令の
実行情報をビットマップエリア12に蓄積することがで
きる。さらに次の命令が実行されたときも同様に命令の
絶対アドレスがアドレスレジスタ40に格納され、結果
としてビットマップエリア12に実行情報が蓄積される
。
40のワード内ビットアドレス部(5ビット)をデコー
ドし、ワークレジスタ45(32ビット)に設定する。 次に、OR回路46は、読み出しレジスタ49とワーク
レジスタ45にデータが揃うと論理和演算を行い、結果
を書き込みレジスタ47に格納する。続いて情報処理装
置は、ワードアドレス44で指示された主記憶部48に
書き込みレジスタ47の内容を書き込むことで1命令の
実行情報をビットマップエリア12に蓄積することがで
きる。さらに次の命令が実行されたときも同様に命令の
絶対アドレスがアドレスレジスタ40に格納され、結果
としてビットマップエリア12に実行情報が蓄積される
。
【0022】この様に網羅率を測定している状態で網羅
率測定終了命令を受け付けた情報処理装置は、ワードア
ドレス44で指される主記憶部48へのアクセスを抑止
することで網羅率の測定を終了する。
率測定終了命令を受け付けた情報処理装置は、ワードア
ドレス44で指される主記憶部48へのアクセスを抑止
することで網羅率の測定を終了する。
【0023】以上説明したように本情報処理装置は、命
令の実行と同時に実行中の命令アドレスを蓄積するので
、実行時間を延ばすことなくプログラムの網羅率が測定
できると言う効果がある。
令の実行と同時に実行中の命令アドレスを蓄積するので
、実行時間を延ばすことなくプログラムの網羅率が測定
できると言う効果がある。
【0024】次に、第1の網羅率測定装置の第2の実施
例について図面を参照して詳細に説明する。
例について図面を参照して詳細に説明する。
【0025】図6は、本実施例を示す構成図であり、本
情報処理装置には読み出しレジスタ49と、読み出しア
ドレスレジスタ50と、比較回路51とが設けられてい
ることを示している。
情報処理装置には読み出しレジスタ49と、読み出しア
ドレスレジスタ50と、比較回路51とが設けられてい
ることを示している。
【0026】さて本情報処理装置は、図4に示された情
報処理装置と同様に、網羅率測定開始命令で網羅率の測
定が開始されるが、このとき書き込みレジスタ47と読
み出しレジスタ49は、全ビットが“0”に初期化され
、読み出しアドレスレジスタ50にはC0ポインタレジ
スタ41と同一のデータが格納される。
報処理装置と同様に、網羅率測定開始命令で網羅率の測
定が開始されるが、このとき書き込みレジスタ47と読
み出しレジスタ49は、全ビットが“0”に初期化され
、読み出しアドレスレジスタ50にはC0ポインタレジ
スタ41と同一のデータが格納される。
【0027】網羅率の測定が開始されるとC0ポインタ
レジスタ41とアドレスレジスタ40のワードアドレス
部がアドレス加算器42で加算され、加算結果がワード
アドレス44に格納され、比較回路51で読み出しアド
レスレジスタ50の内容と比較される。
レジスタ41とアドレスレジスタ40のワードアドレス
部がアドレス加算器42で加算され、加算結果がワード
アドレス44に格納され、比較回路51で読み出しアド
レスレジスタ50の内容と比較される。
【0028】比較の結果が不一致であれば、書き込みレ
ジスタ47の内容を読み出しアドレスレジスタ50で指
示される主記憶部48に書き込むと同時に、ワードアド
レス44で指示される主記憶部48の1ワードデータを
読み出しレジスタ49に読み出すとともに、ワードアド
レス44の内容を読み出しアドレスレジスタ50に格納
する。
ジスタ47の内容を読み出しアドレスレジスタ50で指
示される主記憶部48に書き込むと同時に、ワードアド
レス44で指示される主記憶部48の1ワードデータを
読み出しレジスタ49に読み出すとともに、ワードアド
レス44の内容を読み出しアドレスレジスタ50に格納
する。
【0029】さらに、OR回路46は、アドレスレジス
タ40のワード内ビットアドレスをデコーダ43でデコ
ードした結果が格納されているワークレジスタ45の内
容と、読み出しレジスタ49の論理和演算を行い、結果
を書き込みレジスタ47と読み出しレジスタ49とに格
納する。
タ40のワード内ビットアドレスをデコーダ43でデコ
ードした結果が格納されているワークレジスタ45の内
容と、読み出しレジスタ49の論理和演算を行い、結果
を書き込みレジスタ47と読み出しレジスタ49とに格
納する。
【0030】一方、比較回路51の比較結果が一致して
いるときは、命令実行情報を格納するビットマップエリ
アが読み出しレジスタ49に読み出されているので、こ
の内容とワークレジスタ45との論理和を演算し、書き
込みレジスタ47と読み出しレジスタ49とに演算結果
を格納する。
いるときは、命令実行情報を格納するビットマップエリ
アが読み出しレジスタ49に読み出されているので、こ
の内容とワークレジスタ45との論理和を演算し、書き
込みレジスタ47と読み出しレジスタ49とに演算結果
を格納する。
【0031】この様に網羅率を測定している状態で網羅
率測定終了命令を受け付けた情報処理装置は、書き込み
レジスタ47の内容を読み出しアドレスレジスタ50で
指示される主記憶部48に書き込むとともに、ワードア
ドレス44と読み出しアドレスレジスタ50で指される
主記憶部48へのアクセスを抑止することで網羅率の測
定を終了する。
率測定終了命令を受け付けた情報処理装置は、書き込み
レジスタ47の内容を読み出しアドレスレジスタ50で
指示される主記憶部48に書き込むとともに、ワードア
ドレス44と読み出しアドレスレジスタ50で指される
主記憶部48へのアクセスを抑止することで網羅率の測
定を終了する。
【0032】以上説明したように本情報処理装置は、一
般的に命令が連続して実行されることを利用して、読み
出しレジスタにデータが存在する間は主記憶部へのアク
セスを行わずレジスタ上で命令実行情報を蓄積するので
、高速に網羅率が測定できると言う効果がある。
般的に命令が連続して実行されることを利用して、読み
出しレジスタにデータが存在する間は主記憶部へのアク
セスを行わずレジスタ上で命令実行情報を蓄積するので
、高速に網羅率が測定できると言う効果がある。
【0033】次に本発明の第2の網羅率測定装置につい
て図面を参照して詳細に説明する。
て図面を参照して詳細に説明する。
【0034】図7は、本発明を示す構成図であり、主記
憶部60に分岐成功用ビットマップエリア62と、この
ビットマップエリア62の先頭アドレスを指示するGO
ポインタ61と、分岐不成功用ビットマップエリア64
と、このビットマップエリア64の先頭アドレスを指示
するNGポインタ63と網羅率解析手段である制御プロ
グラム65とがあり、命令処理部70にビットアドレス
生成手段72と部分書き込み手段73が含まれているこ
とを示している。
憶部60に分岐成功用ビットマップエリア62と、この
ビットマップエリア62の先頭アドレスを指示するGO
ポインタ61と、分岐不成功用ビットマップエリア64
と、このビットマップエリア64の先頭アドレスを指示
するNGポインタ63と網羅率解析手段である制御プロ
グラム65とがあり、命令処理部70にビットアドレス
生成手段72と部分書き込み手段73が含まれているこ
とを示している。
【0035】図8は、制御プログラム65の処理の流れ
を示した図、図9は、命令処理部70の命令実行回路7
4が分岐命令実行毎にビットマップエリアをアッフケデ
ートする処理を示した図である。
を示した図、図9は、命令処理部70の命令実行回路7
4が分岐命令実行毎にビットマップエリアをアッフケデ
ートする処理を示した図である。
【0036】次に網羅率測定処理について図8により説
明する。制御プログラム65は、操作員の要求で外部記
憶装置(図示していない)から入力制御部75を経由し
て被測定プログラム66を主記憶部60に図8の処理3
00でロードし、処理301で主記憶部60の固定番地
にあるGOポインタ61に分岐成功用ビットマップエリ
ア62を示すアドレスを設定し、同様にNGポインタ6
3に分岐不成功用ビットマップエリア64を示すアドレ
スを設定し、処理302で分岐成功用ビットマップエリ
ア62と分岐不成功用ビットマップエリア64を全ビッ
ト“0”にクリアし、処理303で被測定プログラム6
6を起動する。
明する。制御プログラム65は、操作員の要求で外部記
憶装置(図示していない)から入力制御部75を経由し
て被測定プログラム66を主記憶部60に図8の処理3
00でロードし、処理301で主記憶部60の固定番地
にあるGOポインタ61に分岐成功用ビットマップエリ
ア62を示すアドレスを設定し、同様にNGポインタ6
3に分岐不成功用ビットマップエリア64を示すアドレ
スを設定し、処理302で分岐成功用ビットマップエリ
ア62と分岐不成功用ビットマップエリア64を全ビッ
ト“0”にクリアし、処理303で被測定プログラム6
6を起動する。
【0037】起動された被測定プログラム66は、試験
手順に従って評価され、バグ(設計、製造誤り)がない
ことを検証する。このとき、試験手順に漏れがあると被
測定プログラム66で判断処理の真/偽のケース即ち分
岐命令の分岐成功/不成功で実行されないケースが残り
、バグが十分検出されないことになる。このため網羅率
を測定するわけだが、制御プログラム65は、全ての試
験手順で評価後、処理304で分岐成功用ビットマップ
エリア62と分岐不成功用ビットマップエリア64を読
み出し、処理305で編集し、その結果を入出力制御部
を介して表示装置(図示していない)に出力する。
手順に従って評価され、バグ(設計、製造誤り)がない
ことを検証する。このとき、試験手順に漏れがあると被
測定プログラム66で判断処理の真/偽のケース即ち分
岐命令の分岐成功/不成功で実行されないケースが残り
、バグが十分検出されないことになる。このため網羅率
を測定するわけだが、制御プログラム65は、全ての試
験手順で評価後、処理304で分岐成功用ビットマップ
エリア62と分岐不成功用ビットマップエリア64を読
み出し、処理305で編集し、その結果を入出力制御部
を介して表示装置(図示していない)に出力する。
【0038】なお、処理305での編集処理では、被測
定プログラム66の全分岐命令に対応する分岐命令に対
応する分岐成功用ビットマップエリア62及び分岐不成
功用ビットマップエリア64のビットの内、“1”のビ
ット即ち分岐が成功した命令の数の比率及び不成功だっ
た命令の数の比率を表示する以外に、どの分岐命令が評
価されていないかをも表示する。
定プログラム66の全分岐命令に対応する分岐命令に対
応する分岐成功用ビットマップエリア62及び分岐不成
功用ビットマップエリア64のビットの内、“1”のビ
ット即ち分岐が成功した命令の数の比率及び不成功だっ
た命令の数の比率を表示する以外に、どの分岐命令が評
価されていないかをも表示する。
【0039】続いて、図9を用いて命令処理部が分岐成
功用ビットマップエリア62と分岐不成功用ビットマッ
プエリア64に分岐命令の実行情報を蓄積する処理につ
いて説明する。本情報処理装置6は、2バイト/4バイ
ト/6バイト命令を有しており、先頭の1バイトに命令
コードが格納されている。なお、命令コード毎に命令長
が規定されている。さらに、情報処理装置6は命令カウ
ンタ71に実行中の命令の絶対アドレスを保持している
。
功用ビットマップエリア62と分岐不成功用ビットマッ
プエリア64に分岐命令の実行情報を蓄積する処理につ
いて説明する。本情報処理装置6は、2バイト/4バイ
ト/6バイト命令を有しており、先頭の1バイトに命令
コードが格納されている。なお、命令コード毎に命令長
が規定されている。さらに、情報処理装置6は命令カウ
ンタ71に実行中の命令の絶対アドレスを保持している
。
【0040】まず、処理400で命令カウンタ71が指
示しているアドレスから命令語を取り出し、処理401
で命令コードに従ってオペランドデータを準備し、処理
402で命令コードに従った処理を行う。次に、命令実
行回路74は、処理403で実行中の命令が分岐命令か
判断し、分岐命令でなければ処理406に進み実行中の
命令語長を命令カウンタ71に加算する。
示しているアドレスから命令語を取り出し、処理401
で命令コードに従ってオペランドデータを準備し、処理
402で命令コードに従った処理を行う。次に、命令実
行回路74は、処理403で実行中の命令が分岐命令か
判断し、分岐命令でなければ処理406に進み実行中の
命令語長を命令カウンタ71に加算する。
【0041】一方、処理403で分岐命令と判断したと
きは、本発明の網羅率測定処理を行う。即ち、処理40
4で分岐命令の2バイト単位アドレスをビットマップエ
リアの1ビットアドレスに変換し、処理405で分岐成
功であれば分岐成功用ビットマップエリア62の該当1
ビットに、分岐不成功であれば分岐不成功用ビットマッ
プエリア64の該当1ビットに“1”を書き込む。さら
に、処理406実行中の命令語長を命令カウンタ71に
加算する。但し、分岐成功及び割り込みが発生している
ときは、命令実行回路74が既に命令カウンタ71を更
新しているので加算は阻止される。
きは、本発明の網羅率測定処理を行う。即ち、処理40
4で分岐命令の2バイト単位アドレスをビットマップエ
リアの1ビットアドレスに変換し、処理405で分岐成
功であれば分岐成功用ビットマップエリア62の該当1
ビットに、分岐不成功であれば分岐不成功用ビットマッ
プエリア64の該当1ビットに“1”を書き込む。さら
に、処理406実行中の命令語長を命令カウンタ71に
加算する。但し、分岐成功及び割り込みが発生している
ときは、命令実行回路74が既に命令カウンタ71を更
新しているので加算は阻止される。
【0042】この様にして実行した分岐命令に対応して
ビットマップエリアに情報を蓄積して行くことができる
。なお、2バイト命令は1ビットに対応しているが、4
バイト/6バイト命令は、2ビット/3ビットに対応し
ており、先頭の1ビットで代表させている。
ビットマップエリアに情報を蓄積して行くことができる
。なお、2バイト命令は1ビットに対応しているが、4
バイト/6バイト命令は、2ビット/3ビットに対応し
ており、先頭の1ビットで代表させている。
【0043】以上説明したように本発明の第二の網羅率
測定装置は、分岐命令実行毎に命令の実行情報を蓄積す
るので、リアルタイム処理を要求されるプログラムの網
羅率が測定できると言う効果が有る。
測定装置は、分岐命令実行毎に命令の実行情報を蓄積す
るので、リアルタイム処理を要求されるプログラムの網
羅率が測定できると言う効果が有る。
【0044】次に、第2の網羅率測定の一実施例につい
て図面を参照して詳細に説明する。
て図面を参照して詳細に説明する。
【0045】図10は、本実施例を示す構成図であり、
本情報処理装置にはアドレスレジスタ90と、GOポイ
ンタレジスタ80と、NGポインタレジスタ81と、ア
ドレス加算器82と、デコーダ83と、OR回路86と
、セレクタ91とが設けられていることを示している。 なお、アドレスレジスタ90に格納される実行中の命令
アドレスは、図5に示す通り26ビットのワードアドレ
ス部と、5ビットのワード内ビットアドレス部と、1ビ
ットの未使用部に分割されている。また、本発明の情報
処理装置は、2バイト/4バイト/6バイト命令を有し
ており、主記憶部88に対するアクセスは1ワード(3
2ビット=4バイト)単位に行うことができる。さらに
、情報処理装置は、網羅率測定開始命令と網羅率測定終
了命令とを有している。
本情報処理装置にはアドレスレジスタ90と、GOポイ
ンタレジスタ80と、NGポインタレジスタ81と、ア
ドレス加算器82と、デコーダ83と、OR回路86と
、セレクタ91とが設けられていることを示している。 なお、アドレスレジスタ90に格納される実行中の命令
アドレスは、図5に示す通り26ビットのワードアドレ
ス部と、5ビットのワード内ビットアドレス部と、1ビ
ットの未使用部に分割されている。また、本発明の情報
処理装置は、2バイト/4バイト/6バイト命令を有し
ており、主記憶部88に対するアクセスは1ワード(3
2ビット=4バイト)単位に行うことができる。さらに
、情報処理装置は、網羅率測定開始命令と網羅率測定終
了命令とを有している。
【0046】さて、網羅率測定開始命令を受け付けた情
報処理装置は、オペランドで指示された主記憶部88内
にある分岐成功用ビットマップエリア62の先頭アドレ
ス(ワードアドレス)をGOポインタレジスタ80に、
分岐不成功用ビットマップエリア64の先頭アドレス(
ワードアドレス)をNGポインタレジスタ81に設定す
るとともに、以下に説明する網羅率測定動作を開始する
。
報処理装置は、オペランドで指示された主記憶部88内
にある分岐成功用ビットマップエリア62の先頭アドレ
ス(ワードアドレス)をGOポインタレジスタ80に、
分岐不成功用ビットマップエリア64の先頭アドレス(
ワードアドレス)をNGポインタレジスタ81に設定す
るとともに、以下に説明する網羅率測定動作を開始する
。
【0047】まず、分岐命令が実行されるとその命令の
絶対アドレスをアドレスレジスタ90に設定し、分岐成
功/不成功の信号でセレクタ91を切り替え、分岐成功
のときはGOポインタレジスタ80とアドレスレジスタ
90のワードアドレス部とをアドレス加算器82で加算
し、分岐不成功はNGポインタレジスタ81とアドレス
レジスタ90のワードアドレスをアドレス加算器82で
加算し、加算結果をワードアドレス84に設定するとと
もに、主記憶部88内のワードアドレス84で指示され
る1ワードデータを読み出しレジスタ89に読み出す。
絶対アドレスをアドレスレジスタ90に設定し、分岐成
功/不成功の信号でセレクタ91を切り替え、分岐成功
のときはGOポインタレジスタ80とアドレスレジスタ
90のワードアドレス部とをアドレス加算器82で加算
し、分岐不成功はNGポインタレジスタ81とアドレス
レジスタ90のワードアドレスをアドレス加算器82で
加算し、加算結果をワードアドレス84に設定するとと
もに、主記憶部88内のワードアドレス84で指示され
る1ワードデータを読み出しレジスタ89に読み出す。
【0048】一方、デコーダ83は、アドレスレジスタ
90のワード内ビットアドレス部(5ビット)をデコー
ドし、ワークレジスタ85(32ビット)に設定する。 次に、OR回路86は、読み出しレジスタ89とワーク
レジスタ85にデータが揃うと論理和演算を行い、結果
を書き込みレジスタ87に格納する。
90のワード内ビットアドレス部(5ビット)をデコー
ドし、ワークレジスタ85(32ビット)に設定する。 次に、OR回路86は、読み出しレジスタ89とワーク
レジスタ85にデータが揃うと論理和演算を行い、結果
を書き込みレジスタ87に格納する。
【0049】続いて情報処理装置は、ワードアドレス8
4で指示された主記憶部88に書き込みレジスタ87の
内容を書き込むことで分岐命令の実行情報をビットマッ
プエリアに蓄積することができる。さらに、次の分岐命
令が実行されたときも同様に命令の絶対アドレスがアド
レスレジスタ40に格納され、結果としてビットマップ
エリアに実行情報が蓄積される。
4で指示された主記憶部88に書き込みレジスタ87の
内容を書き込むことで分岐命令の実行情報をビットマッ
プエリアに蓄積することができる。さらに、次の分岐命
令が実行されたときも同様に命令の絶対アドレスがアド
レスレジスタ40に格納され、結果としてビットマップ
エリアに実行情報が蓄積される。
【0050】この様に網羅率を測定している状態で網羅
率測定終了命令を受け付けた情報処理装置は、ワードア
ドレス84で指される主記憶部88へのアクセスを抑止
することで網羅率の測定を終了する。
率測定終了命令を受け付けた情報処理装置は、ワードア
ドレス84で指される主記憶部88へのアクセスを抑止
することで網羅率の測定を終了する。
【0051】
【発明の効果】以上説明したように本発明の第1の網羅
率測定装置は、命令実行毎に命令の実行情報を蓄積する
ので、リアルタイム処理を要求するプログラムの網羅率
が測定できるという効果がある。
率測定装置は、命令実行毎に命令の実行情報を蓄積する
ので、リアルタイム処理を要求するプログラムの網羅率
が測定できるという効果がある。
【0052】また、以上説明したように本発明の第2の
網羅率測定装置は、分岐命令の実行と同時に分岐成功/
不成功情報を蓄積するので、実行時間を延ばすことなく
プログラムの網羅率が測定できると言う効果がある。
網羅率測定装置は、分岐命令の実行と同時に分岐成功/
不成功情報を蓄積するので、実行時間を延ばすことなく
プログラムの網羅率が測定できると言う効果がある。
【図1】本発明の第1の網羅率測定装置の構成図である
。
。
【図2】図1の制御プログラムの処理の流れを示す図で
ある。
ある。
【図3】図1の命令実行回路が命令の実行情報を蓄積す
る処理の流れを示す図である。
る処理の流れを示す図である。
【図4】第1の網羅率測定装置の第1の実施例の構成図
である。
である。
【図5】アドレスレジスタに格納されるアドレスの形式
を示す図である。
を示す図である。
【図6】第1の網羅率測定装置の第2の実施例の構成図
である。
である。
【図7】本発明の第2の網羅率測定装置の構成図である
。
。
【図8】図7の制御プログラムの処理の流れを示す図で
ある。
ある。
【図9】図7の命令実行回路が分岐命令の実行情報を蓄
積する処理の流れを示す図である。
積する処理の流れを示す図である。
【図10】第2の網羅率測定装置の一実施例の構成図で
ある
ある
1,6 情報処理装置
10,48,60,88 主記憶部11
C0ポインタ 12 ビットマップエリア 13,65 制御プログラム 14,66 被測定プログラム 20,70 命令処理部 21,71 命令カウンタ 22,72 ビットアドレス生成手段23,73
部分書き込み手段 24,74 命令実行回路 30,75 入出力制御部 40,90 アドレスレジスタ 41 C0ポインタレジスタ 42,82 アドレス加算器 43,83 デコーダ 44,84 ワードアドレス 45,85 ワークレジスタ 46,86 OR回路 47,87 書き込みレジスタ 49,89 読み出しレジスタ 50 読み出しアドレスレジスタ61 G
Oポインタ 62 分岐成功用ビットマップエリア63
NGポインタ 64 分岐不成功ビットマップエリア80
GOポインタレジスタ 81 NGポインタレジスタ 91 セレクタ
C0ポインタ 12 ビットマップエリア 13,65 制御プログラム 14,66 被測定プログラム 20,70 命令処理部 21,71 命令カウンタ 22,72 ビットアドレス生成手段23,73
部分書き込み手段 24,74 命令実行回路 30,75 入出力制御部 40,90 アドレスレジスタ 41 C0ポインタレジスタ 42,82 アドレス加算器 43,83 デコーダ 44,84 ワードアドレス 45,85 ワークレジスタ 46,86 OR回路 47,87 書き込みレジスタ 49,89 読み出しレジスタ 50 読み出しアドレスレジスタ61 G
Oポインタ 62 分岐成功用ビットマップエリア63
NGポインタ 64 分岐不成功ビットマップエリア80
GOポインタレジスタ 81 NGポインタレジスタ 91 セレクタ
Claims (5)
- 【請求項1】 主記憶部に設けた網羅率測定用のビッ
トマップエリアと、該ビットマップエリアの先頭アドレ
スを指示するC0ポインタと、前記主記憶部に格納され
た命令のバイトアドレスを最小命令語長が1ビットに対
応した前記ビットマップエリア内のビットアドレスに変
換するビットアドレス生成手段と、前記ビットマップエ
リア内の任意のビットにデータを書き込む部分書き込み
手段とを有し、命令実行毎に命令アドレスに対応するビ
ットアドレスを求め、前記ビットマップエリアの該ビッ
トアドレスに命令実行状態を設定し、網羅率測定対象プ
ログラム実行後に前記ビットマップエリアを解析するこ
とを特徴とする網羅率測定装置。 - 【請求項2】 実行中の命令の絶対アドレスを保持す
るアドレスレジスタと、主記憶部内の網羅率測定用エリ
アの先頭アドレスを保持するC0ポインタレジスタと、
前記アドレスレジスタの内容をワードアドレス部とワー
ド内ビットアドレス部と未使用部に分割し該ワードアド
レス部と前記C0ポインタレジスタの内容とを加算する
アドレス加算器と、前記アドレスレジスタのワード内ビ
ットアドレス部を入力して該ワード内ビットアドレスに
対応する1ビットのみが“ON”状態の1ワード幅のデ
ータを生成するデコーダと、前記アドレス加算器の出力
データをアドレスとする前記主記憶部の1ワードデータ
と前記デコーダの出力データとの論理和を演算するOR
回路とを有することを特徴とする請求項1記載の網羅率
測定装置。 - 【請求項3】 主記憶部から読み出したデータを保持
する読み出しレジスタと、読み出しレジスタに読み出し
た時のアドレスを保持する読み出しアドレスレジスタと
、前記主記憶部からのデータ読み出し要求があるとき要
求アドレスと前記読み出しアドレスレジスタの内容を比
較する比較回路とを有し、該比較回路の比較結果が一致
していれば前記主記憶部からデータを読み出すことなく
前記読み出しレジスタの内容を使用して前記論理和演算
を行い、比較結果が不一致であれば前記主記憶部からデ
ータを読み出して演算に使用し、演算結果を前記読み出
しレジスタにも格納することを特徴とする請求項2記載
の網羅率測定装置。 - 【請求項4】 主記憶部に設けた網羅率測定用の分岐
成功用ビットマップエリアと、該分岐成功用ビットマッ
プエリアの先頭アドレスを指示するGOポインタと、前
記主記憶部に設けた網羅率測定用の分岐不成功用ビット
マップエリアと、該分岐不成功用ビットマップエリアの
先頭アドレスを指示するNGポインタと、前記主記憶部
に格納された命令のバイトアドレスを最小命令語長が1
ビットに対応した前記分岐成功用ビットマップエリア及
び前記分岐不成功用ビットマップエリア内のビットアド
レスに変換するビットアドレス生成手段と、前記分岐成
功用ビットマップエリア又は前記分岐不成功用ビットマ
ップエリア内の任意のビットにデータを書き込む部分書
き込み手段とを有し、分岐命令実行毎に命令アドレスに
対応するビットアドレスを求め、分岐成功時には分岐成
功用ビットマップエリアの該ビットアドレスに命令実行
状態を設定し、分岐不成功時は前記分岐不成功用ビット
マップエリアの該ビットアドレスに命令実行状態を設定
し、網羅率測定対象プログラム実行後に前記両ビットマ
ップエリアを解析することを特徴とする網羅率測定装置
。 - 【請求項5】 実行中の分岐命令の絶対アドレスを保
持するアドレスレジスタと、主記憶部内の第一の網羅率
測定用エリアの先頭アドレスを保持するGOポインタレ
ジスタと、主記憶部内の第二の網羅率測定用エリアの先
頭アドレスを保持するNGポインタレジスタと、前記ア
ドレスレジスタの内容をワードアドレス部とワード内ビ
ットアドレス部と未使用部に分割し該ワードアドレス部
と前記GOポインタレジスタ又はNGポインタレジスタ
の内容とを加算するアドレス加算器と、該アドレス加算
器の入力となるポインタレジスタを実行中分岐命令の分
岐成功又は不成功を表示する信号で選択するセレクタと
、前記アドレスレジスタのワード内ビットアドレス部を
入力して該ワード内ビットアドレスに対応する1ビット
のみが“ON”状態1ワード幅のデータを生成するデコ
ーダと、前記アドレス加算器の出力データをアドレスと
する前記主記憶部の1ワードデータと前記デコーダの出
力データとの論理和を演算するOR回路とを有すること
を特徴とする請求項4記載の網羅率測定装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3092570A JPH04323739A (ja) | 1991-04-24 | 1991-04-24 | 網羅率測定装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3092570A JPH04323739A (ja) | 1991-04-24 | 1991-04-24 | 網羅率測定装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH04323739A true JPH04323739A (ja) | 1992-11-12 |
Family
ID=14058088
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3092570A Pending JPH04323739A (ja) | 1991-04-24 | 1991-04-24 | 網羅率測定装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH04323739A (ja) |
-
1991
- 1991-04-24 JP JP3092570A patent/JPH04323739A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4742466A (en) | System for measuring path coverage represented by the degree of passage of execution paths in a program | |
JP2006012066A (ja) | トレース解析装置およびトレース解析方法 | |
JPH04323739A (ja) | 網羅率測定装置 | |
JP3011115B2 (ja) | デバッグシステム | |
JPH04145544A (ja) | デバッグ装置 | |
JPS60262251A (ja) | マイクロプロセツサ開発支援装置 | |
JP2910548B2 (ja) | データチェック装置 | |
JPH0844587A (ja) | トレース装置 | |
JP3100458B2 (ja) | カバレージ・テスタ | |
JPS62109139A (ja) | マイクロプロセツサの動作解析方法と装置 | |
JPS5829056A (ja) | 制御記憶装置 | |
JPH11161516A (ja) | 網羅率測定装置 | |
JPS603762A (ja) | プログラムアナライザ | |
JPH05324402A (ja) | プログラムのテスト状態計測方式 | |
JPH06202907A (ja) | デバッグ支援装置 | |
JP2003015907A (ja) | デバッグ装置、デバッグプログラム、およびプログラム記録媒体 | |
JPH03204044A (ja) | カバレージ測定方法及びマイクロコンピュータ | |
JPS61123942A (ja) | マイクロプロセツサ用デバツク装置 | |
JPS62111336A (ja) | デバツグ方式 | |
JPS63228237A (ja) | プログラムデバツグ方式 | |
JPH0444973B2 (ja) | ||
JPH0588946A (ja) | ヒストリメモリ書き込み方式 | |
JPS6063637A (ja) | 履歴情報記録方式 | |
JPS6170644A (ja) | プログラムデバク方式 | |
JPH05158735A (ja) | マイクロプログラムのデバッグ方式 |