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

プログラムアナライザ

Info

Publication number
JPS603759A
JPS603759A JP58112274A JP11227483A JPS603759A JP S603759 A JPS603759 A JP S603759A JP 58112274 A JP58112274 A JP 58112274A JP 11227483 A JP11227483 A JP 11227483A JP S603759 A JPS603759 A JP S603759A
Authority
JP
Japan
Prior art keywords
address
program
memory
branch
branch instruction
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
JP58112274A
Other languages
English (en)
Inventor
Haruo Takagi
高木 治夫
Yoshinori Takahashi
義則 高橋
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 JP58112274A priority Critical patent/JPS603759A/ja
Publication of JPS603759A publication Critical patent/JPS603759A/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

【発明の詳細な説明】 発明の分野 本発明はコンピュータシステムのプログラムエラーを検
出するためのプログラムアナライザに関するもめである
発明のff景 プロゲラJ・のエラーを検出するために行われるテスト
として、カバレージ情報(網羅率)に基づいてプログラ
ムのカバレージ検査を行う手法が知られている。カバレ
ージ検査にはその精密さのランクによって種々のものが
あるが、本件はclカバレージに関するものである。こ
こでCIカバレージとは検査すべきプログラムの分岐命
令に着目し、そのプログラムの全てのバスを通過するか
どうかをチェックする手法であるとする。
発明の目的 本発明は被検査システムを動作させて得られるアクセス
されたアドレスデータに基づいて、自動的にその分岐を
判定すると共に、Clカバレージ情報を1ηることので
きるプログラムアナライザを提供することを目的とする
発明の構成と効果 本発明は、中央演算装置と、該中央演算装置にパスライ
ンを介して接続されプログラムを記1.aするメモリと
、を有するコンピュータシステJ・のプログラムを解析
するプログラムアナライザであって、被検査システムの
アドレスバスに接続され少なくとも検査対象となるプロ
グラムのメモリ内での保持領域に等しいアドレス空間を
持ち、該プログラムの分岐命令に対応する番地のビット
が立てられたビットマツプメモリと、被検査システムに
おいてオペレーションコードを記憶する番地のアクセス
時のタイミング信号を検出するタイミングコントロール
回路と、被検査システムの分岐命令の番地のアクセス時
にflられるビットマツプメモリ出力をタイミングコン
トロール回路の出力に基づいて遅延させる手段を有し被
検査システムの分岐命令と引き続く命令のアクセス時に
出力を出す読込信号発生手段と、被検査システムのアド
レスバスに接続され、読込信号発生手段の出力に基づい
てアクセスされるアドレスを記憶するヒストリメモリと
、ヒストリメモリに記憶されたアドレスデータに基づい
て分岐命令による分岐の有無を判定する分岐゛[す定手
段と、を具備することを特徴とするものである。
このような特徴を有する本発明によれば、被検査システ
ムを実行させた時に得られるヒストリメモリのデータに
よって、Clカバレージ情報を直接収集することが可能
となり、被検査システムのプログラムの品質を把握する
ことができる。叉テスト漏れによるバグをなくすること
も可能であり、 )天動率的なデバッグ作業を行うこと
が可能となる。
叉ヒストリメモリには被検査システムがアクセスした全
てのアドレスではなく必要に応じて設定した条件分岐部
分だけのデータがN積されているため、デバッグの作業
において処理されたプログラムのトレースを効率的に行
うことができ、必要な部分だけの01カバレージ情報を
収集することが可能となる。叉ビットマツプメモリに高
速のメモリを用いれば、被検査システムの処理速度に十
分追従させることができる。更にヒストリメモリのデー
タに基づいて更に高度なC2,C3の情報を得ることも
可能となる。
実施例の説明 第1図は本発明によるプログラムアナライザを検査の対
象となるコンピユークシステムに接続した状態を示すブ
ロック図である。本図において検査対象となるコンピュ
ータシステム1は中央演算装置(以下CPUという)2
とその処理プログラム等を記憶するメモリ3とを有して
いる。CPU2とメモリ3とはコントロールバス4.デ
ータバス5及びアドレスバス6によって接続されている
さ°ζ本本実側のプログラムアナライザ10は同じ<C
PUI lとメモリ12を有し、更に入力手段としてキ
ーボード等のキー人力装置13.出力手段として表示器
14がコントロールバス15.データバス16.アドレ
スバス17を介してCPU11、メモリ12に接続され
ている。メモリ12はCPUI 1の演算処理手順を記
憶するプログラム領域と、後述するチェックポイントア
ドレステーブルとを有するものである。
さて検査対象となるコンピュータシステム1のアドレス
バス6にマルチプレクサ18を介してビットマツプメモ
リ19が接続されている。マルチプレクサ18はCPU
IIのアドレスバス17にも接続され、それらを切換え
てピッ]・マツプメモリ19をアクセスするものである
。ビットマツプメモリ19は少なくとも検査対象となる
コンピュータシステム1のメモリ3のプログラム領域に
等しいアドレス空間に各1ビツトの容量を持つメモリで
あって、後述するようにあらかしめ検査対象プログラム
の分岐命令が記憶されている番地のビットに1を立てて
おくものである。ビットマツプメモリ19の出力ばD型
フリップフロップ20とオア回路21に与えられる。叉
コンピュータシステム1のコントロールバス4にはプロ
グラムアナライザのタイミングコントロール回路22が
接続されている。タイミングコントロール回路22はO
Pコードのアクセスに基づいて出力を出すもので、その
出力をD型フリップフロップ20のT入力端子とヒスト
リメモリ23に与える。D型フリップフロップ20はビ
ットマツプメモリ19の出力を1パルス分遅延させるも
のであってそのQ出力はオア回路21に与えられる。オ
ア回路21はこれらの論理和出力をヒストリメモリ23
に与える。D型フリップフロップ20.オア回路21゜
及びアンド回路22はヒストリメモリ23に対するアド
レスデータ読込信号の発生回路を構成している。ヒスト
リメモリ23はデータ入力端がコンピュータシステム1
のアドレスバス6に接続されており、読込信号が与えら
れた時にCPU2によってアクセスされているメモリ3
のアドレスを順次保持するものである。さてヒストリメ
モリ23の出力はコントロール回路24によって読み出
される。
第2図ta+、 (b)はコンピュータシステム1の、
メモリ3に記憶されている被検査プログラムのオブジェ
クトコ−1が記述されたメモリマツプとそのフローチ中
−1・を示ずものである。本図に示すようにステップ八
〜Iから成るプログラムがメモリ3に記憶されており、
夫々のステップの先頭アドレスを図示のようにアドレス
adrl〜adr9とするっ第21WI (illはこ
のブし1グラ人をフローチャートとして示した図であり
、アドレスadr2. adr6. adr8に条件付
分岐命令が入っているものとする。
第3図はビットマツプメモリー9の一例を示す図である
。本図に示すように分岐命令が記述されたアドレス8d
r2. adr6及びadrliには、あらかじめキー
人力装置I3よりCPUI Iを介しζそのビットを立
てておくものとする。
次に第4図はメモリー2にチェックポイントアドレステ
ーブルを作る場合の動作を示すフローチャートである。
チェックポイントアドレステーブルは前述したように、
作成したビットマツプメモリ19の分岐命令部分に基づ
いて作成してもよく、叉手動で入力して作成してもよい
。即ぢまず注目しているプログラムの先頭−1トレスに
セットし、その命令が分岐命令であるかどうかをチェッ
クする(ステップ30.31)。これが分岐命令でなけ
れば次の命令のアドレスをめるが、分岐命令であれば第
5図に示すように分岐命令アドレスとその次の命令のア
ドレス、即ちネキストアドレスとをチェックポイントア
ドレステーブルに登録し、更にネキストフラグ及び分岐
フラグをリセソトシておく。そしてステップ33に進ん
で次の命令アルレスをめプログラムの走査が完了したか
どうかをチェ・7りし、完了していなければ進んで31
に戻って同様の処理を繰り返す。第5図はこのようにし
て第2図のプログラムに基づいて作成したチェックポイ
ントアドレステーブルを示すものである。
次にこのプログラムアナライザの動作についてフローチ
ャートを参照しつつ説明する。プログラムの分析を行う
前にまず検査の対象となるコニ/ピユータシステム1を
動作させる。そうすればCPU2は第2図(b)に示す
フローチャートに従って動作し、分岐命令が記述されて
いるステップB、F。
Hにおいてその時の条件に従っ”ζ適宜分岐して処理を
進める。ここでCPU2がメモリ3をアクセスする時に
はマルチプレクサ18を介して同時にピッl−マツプメ
モリ19がアクセスされているものとする。従ってアド
レスバス6のアドレスが分岐命令が記述されたアドレス
であればビットマツプメモリ19ば出力を出し、その出
力をD型フリップフロップ20に与えてこのフリップフ
ロップ20をセットする。そして同時にオア回路21を
介し゛ζヒストリメモリ23に読込信号を与え、その時
にアクセスされているアドレスバス6」−のアドレスを
ヒストリメモリ23に取り込む。続いて次の命令がアク
セスされた時にタイミングコンl−ロール回路22より
D型フリップフロップ20に出力が与えられD型フリッ
プフロップ20が出力を出し、オア回@21を介してヒ
ストリメモリ23に次に命令がアクセスされるアドレス
adr3を取り込む。このようにして分岐命令が記憶さ
れているアドレス、この場合はadr2とその次にアク
セスされるアドレスadr3が第6図に示すようにヒス
トリメモリ23に記憶される。続いてプログラムの処理
が進んで次に分岐命令が記述されたステップFに達する
と、同様にしてビットマツプメモリ19が出力に出しそ
の時のアドレスadr6がヒストリメモリ23に取り込
まれ、更にそのステップ以後にアクセスされたアドレス
がヒストリメモリ23に取り込まれる。この場合例えば
分岐命令によってステップGを介することなくステップ
■(に処理が移行したとすると、アドレスadr6の次
にアドレスadr8がアクセスされ、ヒストリメモリ2
3にもアドレスadr6の次にアドレスadr8が記↑
、aされる。
同様にして分岐命令のステップ11のアドレスadr8
と、その次にアクセスされるアドレスadr2がヒスト
リメモリ23に記憶され、以後同様の処理を繰り返す。
こうして第2図(b)に示すプログラムの処理が終了す
るが、種々の条件を変更することによって全ての分岐す
るパスを通るように条件を設定し、必要な回数だけこの
プログラムを走らせる。
こうしてヒストリメモリ23に分岐命令のアドレスと、
その次にアクセスされたアドレスデータを記憶していく
。このようにしてコンピュータシステム1の動作を終え
、次にこのヒストリメモリ23のデータに従ってプログ
ラムを分析する過程に入る。
第7図はCI”Ul 1の処理を示すフローチャートで
ある。さて動作を開始するとまずステップ40において
ヒストリメモリ23の先頭レコード、例えば第6図のヒ
ストリノそり23のデータの場合にはアドレスadr2
にセットする。そしてステップ41においてヒストリノ
そり23の全レコードの走査が終了したかどうかをヂエ
ソクし、終了していなければステップ42においてこの
検査中アドレスは分岐命令のアドレスか否かを調べる。
これが分岐命令アドレスであればヒストリメモリ23内
の次のレコードのアドレスと、分岐命令の次の命令 1
アドレスとが一致するかどうかをチェックする。
これが一致すれば分岐台−今によって分岐せずに処理が
進行したということが判るのでネキストフラグをセント
し、一致しなければ分岐命令によって分岐したというこ
とが判るので分岐フラグをセットする(ステップ46.
47)。例えば第6図のヒストリメモリ23のデータ例
ではアドレスadr2の次にアドレスadr3が記憶さ
れており、こればここでは分岐が起こらずプログラムが
そのまま進行したということを示しているのでネキスト
フラグが立てられる。そしてステップ48に進んでヒス
トリノそり23の次のレコード即らア]ルスadr3に
セントしてステップ41に戻る。この場合には未だ全て
の走査が完了していないので、ステップ42に進んでこ
れが分岐命令アドレスであるかどうかをチェックする。
アドレスadr3は分岐命令のアドレスではないのでス
テップ43から413に飛び、ヒストリメモリ23の次
のレコードにセントを移してステ、7プ41に戻る。さ
て次のアドレスadr6ば分岐命令アドレスであるので
ステップ44に進む。この場合はヒストリフモリ23内
の次のレコードのア下レス、即ちadr8と分岐命令ア
1−゛レスの次の命令アドレス即ちアlルスadr7と
は一致しない。従ってこの場合分岐が行われたというこ
とがわかるのでステップ47に進んで分岐フラグをセッ
トする。このようにして分岐命令アドレスがある毎にそ
の分岐が行われたかどうかをヂエソクして、ネキストフ
ラグもしくは分岐フラグをセットする。
ここでプログラムの処理がいずれの分岐命令でも分岐す
ることなく終了した場合には、第5図において各分岐命
令アドレスに対してネキストフラグ、又は分岐フラグが
立つためこのフラグ領域の半分が0のままとなる。しか
しヒストリメモリ23に第6し1に示すような処理結果
が得られた場合には、第7図に示したネキストフラグ、
及び分岐フラグの全てが1となる。このように双方のフ
ラグが全て1となった場合には第21ZI l+)に示
したフローチャー1−の全てのパスを通過していること
が判る。このような1′り断結果は、キー人力装置13
からの指示に従って表示器14に表示さ−Uるものとす
る。このようにすれば直接Clカバレージの情報を収集
することが可能となる。更にヒス1、リメモリ23のア
ドレスデータに基づいて、よりレベルの高いC2,C3
等のカバレージ情報も冑ることができる。
【図面の簡単な説明】
第1図は本発明によるプログラムアナライザを検査の対
象となるコンピュータシステムに接続した状態を示すブ
ロック図、第2図(alはオブジェクトプログラムが記
述されたメモリ3のメモリマツプ、第2図(b)はその
フローチャート、第3図はビットマツプメモリ19のメ
モリマツプ、第4図はチェックポイントアドレステーブ
ルを作成する場合のフローヂ十−ト、第5図はチェック
ポイントアドレステーブルを示す図、第6図はヒストリ
メモリ23の記憶内容示す図、第7図はヒストリメモリ
23のアドレスデータに基づいて処理を行う場合のCP
UIIの動作を示すフローチャー1・である。 l −コンピユークシステム 2. L L−−−CP
 tJ 3 、 12−−−−−メモリ 1 B−−−
−−−デごJ−ダ 19− −ビットマツプメモリ 2
0−−−−一−D型フリソプフL1ツブ 21−−−オ
ア回路22−−−−−−一タイミングコントロール回路
 23−一 ヒストリメモリ 特許出願人 立石電機株式会社 代理人 弁理士 岡本宜喜(他1名) /、i(2図 (a) 第 2 ′li: (b) 第3図 第4図 第5図 第6図

Claims (1)

    【特許請求の範囲】
  1. (1)中央演算装置と、該中央演算装置にパスラインを
    介して接続されプログラムを記憶するメモリと、を有す
    るコンピュータシステムのプログラムを解析するプログ
    ラムアナライザであって、前記被検査システムのアドレ
    スバスに接続され、少なくとも検査対象となるプログラ
    ムの前記メモリ内での保持領域に等しいアドレス空間を
    持ら、該プログラムの分岐命令に対応する番地のビット
    が立てられたビットマツプメモリと、 前記被検査システムにおいてオペレーションコードを記
    憶する番地のアクセス時のタイミング信号を検出するタ
    イミングコントロール回路と、前記被検査システムの分
    岐命令の番地のアクセス時に得られる前記ビットマツプ
    メモリ出力を前記タイミングコントロール回路の出力に
    基づいて遅延させる手段を有し、前記被検査システムの
    分岐命令と引き続く命令のアクセス時に出力を出す読込
    信号発生手段と、 前記被検査システムのアドレスバスに接続され、前記読
    込信号発生手段の出力に基づいてアクセスされるアドレ
    スを記憶するヒストリメモリと、前記ヒストリメモリに
    記憶されたアドレスデータに基づいて分岐命令による分
    岐の有無を判定する分岐判定手段と、を具備することを
    特徴とするプログラムアナライザ。
JP58112274A 1983-06-22 1983-06-22 プログラムアナライザ Pending JPS603759A (ja)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Publications (1)

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

Family

ID=14582594

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JPS603759A (ja)

Similar Documents

Publication Publication Date Title
JPH07281930A (ja) 情報処理装置動作測定解析システム
JPH0683666A (ja) マルチメディアコンピュータ診断システム
JP2000156095A (ja) 半導体メモリ試験方法及びその装置
JPS603759A (ja) プログラムアナライザ
EP1640735A1 (en) Pattern generator and test device
JPS603762A (ja) プログラムアナライザ
JPS603761A (ja) プログラムアナライザ
JPH01180647A (ja) デバッグ装置
JPS603760A (ja) プログラムアナライザ
JPS59202552A (ja) プログラムアナライザ
JP2002132743A (ja) メモリアクセス監視装置、メモリアクセス監視方法およびメモリアクセス監視用プログラムを記録した記録媒体
JPH0448257B2 (ja)
JPS61279951A (ja) プログラム網羅率計測システム
JPH06259245A (ja) プログラムの性能測定装置およびその方法
JPH03170079A (ja) Icテスト装置
JPH04276397A (ja) メモリカードシステムの機能検査方法
JPH028677B2 (ja)
JPH07151817A (ja) 集積回路の電源電流自動検査装置
CN114490423A (zh) 一种自动化测试方法、装置、电子设备及存储介质
JP2549690B2 (ja) チャネルプロセッサの擬似障害試験方式
JPS59202551A (ja) プログラムアナライザ
JP2004252684A (ja) プログラムデバッグ方法およびシステム
JPH0452835A (ja) プログラムテスト評価方式
JP2003228995A (ja) 被測定デバイスの不良解析方法及び装置
JPS61123942A (ja) マイクロプロセツサ用デバツク装置