JPS603762A - プログラムアナライザ - Google Patents

プログラムアナライザ

Info

Publication number
JPS603762A
JPS603762A JP58112277A JP11227783A JPS603762A JP S603762 A JPS603762 A JP S603762A JP 58112277 A JP58112277 A JP 58112277A JP 11227783 A JP11227783 A JP 11227783A JP S603762 A JPS603762 A JP S603762A
Authority
JP
Japan
Prior art keywords
address
program
memory
branch
output
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
JP58112277A
Other languages
English (en)
Inventor
Haruo Takagi
高木 治夫
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.)
Omron Corp
Original Assignee
Tateisi Electronics Co
Omron Tateisi Electronics Co
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 Tateisi Electronics Co, Omron Tateisi Electronics Co filed Critical Tateisi Electronics Co
Priority to JP58112277A priority Critical patent/JPS603762A/ja
Publication of JPS603762A publication Critical patent/JPS603762A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

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

Description

【発明の詳細な説明】 発明の分野 本発明はコンピュータシステムのプログラムエラーを検
出するためのプログラムアナライザに関するものである
発明の背景 プログラムのエラーを検出するために行われるテストと
して、カバレージ情報(網羅率)に基づいてプログラム
のカバレージ検査を行う手法が知られている。カバレー
ジ検査にはその精密さのランクによって種々のものがあ
るが、本件はC1カバレージに関するものである。ここ
でC1カバレージとは検査すべきプログラムの分岐命令
に着目し、そのプログラムの全てのバスを通過するがど
うかをチェックする手法であるとする。
発明の目的 本発明は被検査システムを動作させて得られるアクセス
されたアドレスデータに基づいて、所定アドレス範囲の
処理が行われる時に自動的にその分岐を判定すると共に
、C1カバレージ情報を得ることのできるプログラムア
ナライザを提供することを目的とする。
発明の構成と効果 本発明は、中央演算装置と、該中央演算装置にパスライ
ンを介して接続されプログラムを記憶するメモリとを有
するコンピュータシステムのプログラムを解析するプロ
グラムアナライザであって、被検査システムのデータバ
スに接続されその分岐命令を検出する命令デコーダと、
被検査システムにおいてオペレーションコードを記憶す
る番地のアクセス時のタイミング信号を検出するタイミ
ングコントロール回路と、タイミングコントロール回路
の出力に基づいて命令デコーダの出方を遅延させる手段
を有し、被検査システムの分岐命令と引き続く命令のア
クセス時に出方を出ず読込信号発生手段と、被検査シス
テムのアドレスバスに接続され被検査システムが所定の
範囲のアドレスをアクセスする時に読込信号発生手段を
動作させるアドレス検知手段と、被検査システムのアド
レスバスに接続され、読込信号発生手段の出力に基づい
てアクセスされるアドレスを記憶するヒストリメモリと
、ヒストリメモリに記憶されたアドレスデータに基づい
て分岐命令による分岐の有無を判定する分岐判定手段と
、を具備することを特徴とするものである。
このような特徴を有する本発明によれば、被検査システ
ムを実行させた時にあらかじめ設定した範囲のアドレス
がアクセスされれば分岐部分のアドレスのデータがヒス
トリメモリに得られる。そしてこのヒストリメモリのデ
ータによって、C1カバレージ情報を直接収集すること
が可能となり、被検査システムのプログラムの品質を把
握することができる。叉テスト漏れによるバグをなくす
ることも可能であり、叉効率的なデバッグ作業を行うこ
とが可能となる。叉ヒストリメモリには被検査システム
がアクセスした全てのアドレスではなく条件分岐部分だ
けのデータが蓄積されているため、デバッグの作業にお
いて処理されたプログラムのトレースを効率的に行うこ
とが可能となる。
更にヒストリメモリのデータに基づいて更に高度なC2
,C3の情報を得ることも可能となる。
実施例の説明 第1図は本発明の第1の実施例によるプログラムアナラ
イザを検査の対象となるコンピュータシステムに接続し
た状態を示すブロック図である。
本図において検査対象となるコンピュータシステム1は
中央演算装置(以下CPUという)2とその処理プログ
ラム等を記憶するメモリ3とを有している。CPU2と
メモリ3とはコントロールハス4.データバス5及びア
ドレスバス6によって接続されている。さて本実施例の
プログラムアナライザ10は同じ(CPU11とメモリ
12を有し、更に入力手段としてキーボード等のキー入
力装置13、出力手段として表示器14がコントロール
バス15.データバス16.アドレスバス17を介して
CPU11、メモリ12に接続されている。メモリ12
はCPU11の演算処理手順を記憶するプログラム領域
と、後述するチェックポイントアドレステーブルとを有
するものである。
さて検査対象となるコンピュータシステム1のデータバ
ス5にプログラムアナライザ10のデコーダ18が接続
されている。デコーダ18はデータバス5に得られる条
件付分岐命令のオペレーションコード(以下OPコード
という)をデコードするものであって、データバス5に
分岐命令が現れた場合に出力をアンド回路19に与える
。叉コンピュータシステム1のアドレスバス6にはマル
チプレクサ20を介してビットマツプメモリ21が接続
されている。マルチプレクサ20はCPU11のアドレ
スバス17にも接続され、それらを切換えてビットマッ
プメモリ21をアクセスするものである。ビットマップ
メモリ21は少なくとも検査対象となるコンピュータシ
ステム1のメモリ3のプログラム領域に等しいアドレス
空間に各1ビットの容量を持つメモリであって、後述す
るようにあらかじめ検査の対象とするプログラムが記述
されているアドレスに全て1のビットを立てておくもの
とする。ビットマップメモリ21は被検査システムのC
PU2の処理速度に対応させて適宜高速型のものを用い
れば、その処理速度に追従させることができる。ビット
マツプメモリ21の出力はアンド回路19に与えられる
。アンド回路19はその論理積出力をD型フリップフロ
ップ22とオア回路23に与える。叉コンピュータシス
テム1のコントロールバス4には、プログラムアナライ
ザのタイミングコントロール回路24が接続されζいる
。タイミングコントロール回路24はOPコードのアク
セスに基づいて出力を出すもので、その出力をD型フリ
ップフロップ22のT入力端子とアンド回路25に与え
る。D型フリップフロップ22はデコーダ18の出力を
1パルス分遅延させるものであって、そのQ出力はオア
回路23に与えられる。オア回路23はこれらの論理和
出力をアンド回路25に与える。アンド回路19、D型
フリップフロップ22.オア回路23、及びアンド回路
25はヒストリメモリ26に対するアドレスデータ読込
信号の発生回路を構成しており、アンド回路25は論理
積出力を読込信号としてヒストリメモリ26に与える。
ヒストリメモリ26はデータ入力端がコンピュータシス
テム1のアドレスバス6に接続されており、読込信号が
与えられた時にCPU2によってアクセスされているメ
モリ3のアドレスを順次保持するものである。さてヒス
トリメモリ26の出力はコントロール回路27によって
読み出される。
第2図(a)、(b)はコンピュータシステム1のメモ
リ3に記憶されている被検査プログラムのオブジェクト
コードが記述されたメモリマップとそのフローチャート
を示すものである。本図に示すようにステップA〜Iを
含むプログラムがメモリ3に記憶されており、夫々のス
テップの先頭アドレスを図示のようにアドレスadr1
〜adr9とする。そしてこのプログラムアナライザで
はステップA〜■までの部分、即らアドレスadr1〜
adr9までの部分についてプログラムの分析を行うも
のとすればビットマップメモリ21にはアドレスadr
1〜adr9に対応する部分についてのビットを立てて
おくものとする。
次にこのプログラムアナライザの動作について波形図を
参照しつつ説明する。第3図はブロック図に符号で示し
た各部の波形を示す波形図であるプログラムの分析を行
う前にまずキー入力装置13よりCPU11を介して、
ビットマップメモリ21の所定部分に即ちアドレスad
r1〜adr9に1を記憶させておくものとする。そし
て検査の対象となるコンピュータシステム1を動作させ
る。そうすればCPU2は第2図(b)に示すフローチ
ャートに従って動作し、分岐命令が記述されているステ
ップB、F、Hにおいてその時の条件に従って適宜分岐
して処理を進める。そしてコンピュータシステム1のア
ドレスバス6上に現れるアドレスがadr1となれば、
第3図(a)に示すようにビットマップメモリ21は出
力を出す。しかしアドレスadr1の場合はデコーダ1
8は出力を出さないのでフリップフロップ22がセット
されることはない。ここでプログラムアナライザ10ば
タイミングコントロール回路24によってOPコードの
アドレスがアクセスされた時に出力を出しており、叉デ
コーダ18は分岐命令をデコートして出力を出している
(第3図(a)、第3図(c))。そしてデータバス5
のデータが分岐命令であれば第3図(a)に示すように
デコーダ18は、出力をアンド回路19を介してD型フ
リップフロップ22に与えこのフリップフロップ22を
セットする。そして同時にオア回路23.アンド回路2
5を介してヒストリメモリ26に読込信号を与え、その
時にアクセスされているアドレスバス6上のアドレスを
ヒストリメモリ26に取り込む。第3図(b)、(d)
は、読込信号出力によってアドレスバスのアドレスad
r2をヒストリメモリ26に取り込んだ状態を示すもの
である。続いてタイミングコントロール回路24よりD
型フリップフロップ22に出力が与えられるとD型フリ
ップフロップ22がQ出力を出し、オア回路23.アン
ド回路25を介してヒストリメモリ26に第3図(b)
、(d)に示すように次にアクセスされるアドレスad
r3を取り込む。このようにして分岐命令が記憶されて
いるアドレス、この場合はadr2とその次にアクセス
されるアドレスadr3が第4図に示すようにヒストリ
メモリ26に記憶される。続いてプログラムの処理が進
んで次に分岐命令が記述されたステップFに達すると、
同様にしてタイミングコントロール回路24とデコーダ
18の出力によりその時のアドレスadr6がヒストリ
メモリ2Gに取り込まれ、更にそのステップ以後にアク
セスされたアドレスがヒストリメモリ26に取り込まれ
る。この場合例えば分岐命令によってステップにを介す
ることなくステップ11に処理が移行したとすると、ア
ドレスadr6の次にアドレスadr8がアクセスされ
、ヒストリメモリ26にもアドレスadr6の次にアド
レスadr8が記憶される。
同様にして分岐命令のステップ11のアドレスadr8
と、その次にアクセスされるアドレスadr2がヒスト
リメモリ26に記憶され、以後同様の処理を繰り返す。
そして第2図(b)の処理ステップ1に達するとビット
マップメモリ21からは出力が得られなくなるので、以
後ヒストリメモリ26へのデータの取込みが禁止される
。このようにしてヒストリメモリ26へのデータ収納が
終了するが、種々の条件を変更することによって設定し
たアドレスadr1〜adr9までのプログラムの範囲
内で全ての分岐するパスを通らせるように条件を種々に
設定し、必要な回数だけこのプログラムを走らせる。こ
うしてヒストリメモリ26に分岐命令のアドレスと、そ
の次にアクセスされたアドレスのデータを記憶していく
。このようにしてコンピュータシステム1の動作を終え
、次にこのヒストリメモリ26のデータに従ってプログ
ラムを分析する過程に入る。
第5図はCPU11の処理を示すフローチャートであり
、第6図はメモリ12のチェックポイントアドレスのテ
ーブルである。チェックポイントアドレステーブルは分
岐命令のアドレスに基づいて構成され、そのアドレスと
引き続くアドレス(以下ネキストアドレスという)、及
び処理がいずれに進んだかを示ずネキストフラグ、分岐
フラグから成るものである。さて動作を開始するとまず
ステップ30においてヒストリメモリ26の先頭レコー
ド、例えば第4図のヒストリメモリ26のデータの場合
にはアドレスadr2にセットする。そしてステップ3
1においてヒストリメモリ26の全レコードの走査が終
了したかどうかをチェックし、終了していなりればステ
ップ32においてごの検査中アドレスは分岐命令のアド
レスか否かを調べる。
これが分岐命令アドレスであればヒストリメモリ26内
の次のレコードのアドレスと、分岐命令の次の命令アド
レスとが一致するかどうかをチェックする。これが一致
すれば分岐命令によって分岐せずに処理が進行したとい
うことが判るのてネキストフラグをセットし、一致しな
りれば分岐命令によって分岐したということが判るので
分岐フラグをセットする(ステップ36.37)。例え
ば第4図のヒストリメモリ26のデータ例ではアドレス
adr2の次にアドレスadr3が記憶されており、こ
れはここでは分岐が起こらずプログラムがそのまま進行
したということを示しているのでネキストフラグが立て
られる。そしてステップ38に進んでヒストリメモリ2
6の次のレコード即ちアドレスadr3にセットしてス
テップ31に戻る。この場合には未だ全ての走査が完了
していないので、ステップ32に進んでこれが分岐命令
アドレスであるかどうかをチェックする。アドレスad
r3は分岐命令のアドレスではないのでステップ33か
ら38に飛び、ヒストリメモリ26の次のレコードにセ
ットを移してステップ31に戻る。さて次のアドレスa
dr6は分岐命令アドレスであるのでステップ34に進
む。この場合はヒストリメモリ26内の次のレコードの
アドレス、即ちadr8と分岐命令アドレスの次の命令
アドレス即ちアドレスadr7とは一致しない。従って
ごの場合分岐が行われたということがわかるのでステッ
プ37に進んで分岐フラグをセットする。
このようにして分岐命令アドレスがある毎にその分岐が
行われたかどうかをチェックして、ネキストフラグもし
くは分岐フラグをセットする。
ここでプログラムの処理がいずれの分岐命令でも分岐す
ることなく終了した場合には、第6図において各分岐命
令アドレスに対してネキストフラグ、又は分岐フラグが
立つためこのフラグ領域の半分が0のままとなる。しか
しヒストリメモリ26に第5図に示すらうな処理結果が
得られた場合には、第6図に示したネキストフラグ、及
び分岐フラグの全てが1となる。このように双方のフラ
グが全てが1なった場合には第2図(b)に示したフロ
ーチャートの全てのパスを通過していることが判る。
次に第7図を参照しつつ本発明の第2の実施例について
説明する。第7図はこの実施例のプログラム分析ライザ
ザを検査対象となるコンピュータシステムに接続した状
態を示すブロック図である。
本図において前述した第1の実施例と同一部分には同一
符号を用いている。本実施例は第1実施例のビットマッ
プメモリ21の代わりにアドレス比較回路28を用いた
ものである。アドレス比較回路28も前述したビットマ
ップメモリ21と同じく、CPU2によってアクセスさ
れるアドレスが所定範囲内にあるときに出力を出すもの
であって、その出力をアンド回路19に与える。
第8図はこのアドレス比較回路28の詳細を示すブロッ
ク図である。このアドレス比較回路28は図示のように
複数の比較部から成り立っている。
即ちレジスタ40.41はプログラム分析の対象となる
アドレスの上限値及び下限値を人々記憶するレジスタで
あって、その記憶データはCPU11からデータバス1
6を介して与えられる。レジスタ40.41の出力は夫
々比較回路42.43に与えられている。比較回路42
.43の他方の入力は被検査システムであるコンピュー
タシステム1のアドレスバス6に接続され、レジスタ4
0、41に保持されているアドレスデータとCPU2が
アクセスするアドレスとを比較するものである。
CPU2がアクセスするアドレスがレジスタ40、に保
持されている上限値のアドレスよりも大きく、レジスタ
41に保持されている下限値のアドレスデータよりも小
さければ、比較回路42.43は共に出力を出しその論
理積出力がアンド回路44を介してオア回路45に与え
られる。このようにレジスタ40,41、比較回路42
.43とアンド回路44とは1つの比較部を形成してい
る。このような比較部は1つであってもよく叉、同一の
構成から成る比較部を夫々アドレスの上下限値を異にし
て必要に応じて複数個同時に設けておいてもよい。第1
回路45はこれらの各比較部からの出力の論理和信号を
第7図のアンド回路19に与えるものである。このよう
にすれば前述した第1の実施例と同様にCPU2が所定
のアドレス範囲をアクセスする場合にのみオア回路45
を介してアンド回路19に信号が与えられるため、デコ
ーダ18のデコード出力を有効とすることができる。
その他の動作については第1実施例と同様であり、設定
したアドレスバスについて分岐部分のデータをヒストリ
メモリに記憶させて分析を行う。このようにすれば必要
なプログラムが記述されでいる領域だけについて直接C
1カバレージの情報を収集することが可能となる。更に
ヒストリメモリのアドレスデータに基づいて、よりレヘ
ルの高いC2,C3等のカバレージ情報も得ることがで
きる。
【図面の簡単な説明】
第1図は本発明によるプログラムアナライザを検査の対
象となるコンピュータシステムに接続した状態を示すブ
ロック図、第2図(a)はオブジェクトプログラムが記
述されたメモリ3のメモリマップ、第2図(b)はその
フローチャート、第3図はプログラムアナライザの各部
の波形を示す波形図、第4図はヒストリメモリ26の記
憶内容を示す図、第5図はヒストリメモリ26のアドレ
スデータに基づいて処理を行う場合のCPU11の動作
を示すフローチャート、第6図はメモリ12のチェック
ポイントアドレステーブルを示す図、第7図は本発明の
他の実施例のプログラムアナライザを検査対象となるコ
ンピュータシステムに接続した状態を示すブロック図、
第8図はそのアドレス比較回路の詳細を示ずブロック図
である。 1・・・・コンピュータシステム 2.11・・・・C
PU 3、12・・・・・・メモリ 18・・・・・・
デコーダ 21・・・・・ビットマップメモリ 22・
・・・・・D型フリップフロップ 23・・・・・・・
オア回路 24・・・・・・タイミングコントロール回
路 26・・・ヒストリメモリ 28・・・・・アドレ
ス比較回路40、41・・・・・レジスタ 42、43
・・・・比較回路 44・・・アンド回路 45・・・
オア回路 特許出願人 立石電機株式会社 代理人 弁理士 岡本官喜(化1名) 第2図(a) 第2図(b)

Claims (3)

    【特許請求の範囲】
  1. (1)中央演算装置と、該中央演算装置にパスラインを
    介して接続され、プログラムを記憶するメモリとを有す
    るコンピュータシステムのプログラムを解析するプログ
    ラムアナライザであって、前記被検査システムのデータ
    バスに接続され、その分岐命令を検出する命令デコーダ
    と、前記被検査システムにおいてオペレーションコード
    を記憶する番地のアクセス時のタイミング信号を検出す
    るタイミングコントロール回路と、前記タイミングコン
    トロール回路の出力に基づいて前記命令デコーダの出力
    を遅延させる手段を有し、前記被検査システムの分岐命
    令と引き続く命令のアクセス時に出力を出す読込信号発
    生手段と、 前記被検査システムのアドレスバスに接続され、前記被
    検査システムが所定の範囲のアドレスをアクセスする時
    に、前記読込信号発生手段を動作させるアドレス検知手
    段と、 前記被検査システムのアドレスバスに接続され、前記読
    込信号発生手段の出力に基づいてアクセスされるアドレ
    スを記憶するヒストリメモリと、前記ヒストリメモリに
    記憶されたアドレスデータに基づいて分岐命令による分
    岐の有無を判定する分岐判定手段と、を具備することを
    特徴とするプログラムアナライザ。
  2. (2)前記アドレス検知手段は、少なくとも検査対象と
    なるプログラムの前記メモリ内での保持領域に等しいア
    ドレス空間を持ち、検査すべきプログラムの全領域に対
    応する番地のピットが立てられたビットマップメモリを
    有することを特徴とする特許請求の範囲第1項記載のプ
    ログラムアナライザ。
  3. (3)前記アドレス検知手段は検査すべきアドレスの上
    限値及び下限値が夫々設定される設定器と、その設定値
    アドレス及び被検査システムによってアクセスされるア
    ドレスを比較する2つの比較器とを含む少なくとも1つ
    の比較部を有することを特徴とする特許請求の範囲第1
    項記載のプログラムアナライザ。
JP58112277A 1983-06-22 1983-06-22 プログラムアナライザ Pending JPS603762A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP58112277A JPS603762A (ja) 1983-06-22 1983-06-22 プログラムアナライザ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58112277A JPS603762A (ja) 1983-06-22 1983-06-22 プログラムアナライザ

Publications (1)

Publication Number Publication Date
JPS603762A true JPS603762A (ja) 1985-01-10

Family

ID=14582665

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58112277A Pending JPS603762A (ja) 1983-06-22 1983-06-22 プログラムアナライザ

Country Status (1)

Country Link
JP (1) JPS603762A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112905274A (zh) * 2021-05-06 2021-06-04 鹏城实验室 数据分析方法、装置、终端设备以及计算机可读存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112905274A (zh) * 2021-05-06 2021-06-04 鹏城实验室 数据分析方法、装置、终端设备以及计算机可读存储介质

Similar Documents

Publication Publication Date Title
KR100256281B1 (ko) 반도체메모리시험방법및장치
CN115562930A (zh) 用于测试多核芯片的方法及装置、电子设备、存储介质
JP2000156095A (ja) 半導体メモリ試験方法及びその装置
JPH10144095A (ja) 半導体メモリ試験装置用不良解析メモリ
US20030065500A1 (en) Reloadable word recognizer for logic analyzer
JPS603762A (ja) プログラムアナライザ
US6499119B1 (en) Data inspection method and apparatus
JPS603761A (ja) プログラムアナライザ
JP4678994B2 (ja) メモリの不良救済解析方法・メモリ試験装置
JPS6141080B2 (ja)
JPS603759A (ja) プログラムアナライザ
CN114490423A (zh) 一种自动化测试方法、装置、电子设备及存储介质
JPS603760A (ja) プログラムアナライザ
JP2002132743A (ja) メモリアクセス監視装置、メモリアクセス監視方法およびメモリアクセス監視用プログラムを記録した記録媒体
JPH07151817A (ja) 集積回路の電源電流自動検査装置
JPH0588946A (ja) ヒストリメモリ書き込み方式
JPS623351A (ja) マイクロプロセツサ
JP2005078603A (ja) データ処理装置の試験方法
JPS59160247A (ja) プログラムテスト装置
JPS59177799A (ja) 読出専用メモリのチエツク方式
JPH0495884A (ja) 半導体試験装置
JP2009047619A (ja) デバイス検査装置およびデバイス検査方法
JPS5935243A (ja) 情報処理装置
JP2003228995A (ja) 被測定デバイスの不良解析方法及び装置
JPS60124099A (ja) 半導体メモリ試験装置