Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP3206559B2 - ソフトウェア評価システム - Google Patents
[go: Go Back, main page]

JP3206559B2 - ソフトウェア評価システム - Google Patents

ソフトウェア評価システム

Info

Publication number
JP3206559B2
JP3206559B2 JP24548798A JP24548798A JP3206559B2 JP 3206559 B2 JP3206559 B2 JP 3206559B2 JP 24548798 A JP24548798 A JP 24548798A JP 24548798 A JP24548798 A JP 24548798A JP 3206559 B2 JP3206559 B2 JP 3206559B2
Authority
JP
Japan
Prior art keywords
address
branch
unit
software
evaluation system
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.)
Expired - Fee Related
Application number
JP24548798A
Other languages
English (en)
Other versions
JP2000076096A (ja
Inventor
治 本田
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 Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP24548798A priority Critical patent/JP3206559B2/ja
Publication of JP2000076096A publication Critical patent/JP2000076096A/ja
Application granted granted Critical
Publication of JP3206559B2 publication Critical patent/JP3206559B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はソフトウェア評価シ
ステムに関し、特に、評価対象プログラム中のサブルー
チンプログラムの呼び出し動作に際し、仕様通りのサブ
ルーチンプログラムが呼び出されているか、仕様通りの
回数呼び出されているかを確認し、対象プログラムの仕
様と相違があった場合に、対象プログラムの不正箇所を
判定するための時間を短縮することを可能としたソフト
ウェア評価システムに関する。
【0002】
【従来の技術】従来のこの種のソフトウェア評価システ
ムとして、評価対象となるプログラムが複数のモジュー
ルから構成されており、そのうち1つのモジュールが他
の複数のモジュールからアクセスがある構成になってい
る場合に、当該対象プログラム中のサブルーチンプログ
ラムの呼び出し動作に際して、仕様通りのサブルーチン
プログラムが呼び出されているか、仕様通りの回数呼び
出されているかを確認し、対象プログラムの仕様と相違
があった場合に、対象プログラムの不正箇所を判定する
ことを可能にした評価システムが要求されている。この
ような評価システムとして、図4のブロック図に示すも
のがある。同図において、比較部404は図外のホスト
から指定された特定アドレスを保持し、評価対象プログ
ラムを実行する図外のCPUからのアドレスとの比較を
行ないCOMPを制御部401に出力する。また、制御
部401にはCPUからのアドレス、分岐命令を示す信
号のJUMP、ホストアドレス、ホストデータが入力さ
れる。そして、カウンタ(CNT)402に対して後述
する各種信号を出力し、CNT402において分岐命令
の実行数のカウントを行う。また、メモリ403は分岐
命令のカウント数を記録する。
【0003】すなわち、図4のシステムでは、予め指定
しておいた特定アドレスと同じアドレスがCPUから比
較部404に入力されると、前記比較部404の出力で
あるCOMPが有効となる。そして、分岐命令が実行さ
れた事を示す信号であるJUMPと前記COMPが制御
部401に入力されることにより、指定しておいた分岐
命令のカウントを開始する。メモリ403のアドレス
「A」は、評価システム上にマッピングされたアドレス
であり、データ「D」は、計測開始時は「1」が書き込
まれる。このような特定アドレスへの分岐が2回目以降
も実行されると、、制御部401からのCONTUP信
号が有効となり、制御部401はメモリ403のそのと
きのデータであるDbakを読み込み、Dorgとして
CNT403に渡す。CNT402は有効となったCO
NTUPにより+1されたデータを「D」としてメモリ
403に書き込む。したがって、メモリ403には、特
定アドレスに対する分岐命令の実行数が記録されること
になる。
【0004】
【発明が解決しようとする課題】このように従来の評価
システムでは、分岐後の特定アドレスを決めて、その特
定アドレスに対して何回アクセスあったかだけを計測し
ているため、対象プログラムでの動作結果が仕様と異な
った場合に、どこに不正があったかを特定するのに多大
な時間を必要とすることになる。すなわち、評価対象と
なるプログラムが複数のモジュールから構成されてお
り、そのうち1つのモジュールが他の複数のモジュール
からアクセスがある構成になっている場合、前記した特
定アドレスを当該1つのモジュールの先頭アドレスとし
て計測を行うと、当該1つのモジュールに何回アクセス
があったかは計測可能であるが、計測結果が仕様と異な
る場合に、どこからアクセスがあったか、またそれが何
回であったか、どこからのアクセスが無かったかを判定
することができず、したがって不正を特定するためには
例えば1つのアクセス毎に計測を行いながら不正を判定
する必要があり、多大な時間を要することになる。
【0005】本発明の目的は、評価対象プログラムでの
動作結果が仕様と異なった場合にその不正を迅速に判定
することを可能にしたソフトウェア評価システムを提供
することにある。
【0006】
【課題を解決するための手段】本発明は、評価対象のプ
ログラム上におけるサブルーチンプログラムの呼び出し
回数を確認する手段と、前記サブルーチンプログラムの
分岐元アドレスを確認する手段と、確認した前記分岐元
アドレス毎にその呼び出し回数を記憶する手段とを備え
ることを特徴としている。すなわち、評価対象のソフト
ウェアに基づく動作を実行するCPUと、前記CPUか
ら出力される分岐命令を受けてそのときのアドレスとホ
ストにより指定される分岐先の特定アドレスとを比較す
る比較部と、前記比較部が前記アドレスの一致を検出し
たときに前記分岐命令を出力したときの分岐元のアドレ
スを保持する保持部と、前記保持部から入力される分岐
元のアドレスを記憶するメモリ部と、前記メモリ部に入
力される前記分岐元のアドレスの回数をカウントするカ
ウンターとを備え、前記メモリ部は、前記カウンターで
カウントした値を前記分岐元のアドレスに対応する領域
に記憶するように構成したことを特徴とする。
【0007】ここで、前記メモリ部に記憶されたカウン
ト値が所定の値にまで到達したときに前記カウンターに
おける以降のカウント動作を無効とするデコーダを備え
ることが好ましい。また、前記メモリ部は、前記評価対
象ソフトウェア上の分岐元アドレスを当該メモリ部のア
ドレスとして設定し、この設定されたメモリ部内のアド
レスに前記カウンターのカウント値を記憶する構成とす
ることが好ましい。
【0008】本発明によれば、評価対象のプログラムに
おける分岐命令の分岐元アドレスと、その分岐元アドレ
ス毎の分岐回数を確認かつ記憶することにより、どこか
らアクセスがあったか、またそれが何回であったか、ど
こからのアクセスが無かったかを判定することができる
ようになり、実際のプログラム動作がどのような経路で
実行されたのかを明確化して、仕様(期待値)と異なっ
た分岐を行った場合の問題点の発見にかかる時間を大幅
に短縮することが可能となる。
【0009】
【発明の実施の形態】次に、本発明の実施形態を図面を
参照して説明する。図1は本発明の評価システムのブロ
ック図である。CPU101は評価対象プログラムの実
行部である。保持部102は前記CPU101からのプ
ログラムリードストローブ信号(PRD)と同期して、
1命令前のアドレスを保持する。比較部103は、ホス
ト(スーパーバイザー)から指定されたアドレスと、前
記CPU101からのアドレス及び分岐命令とを比較
し、一致した場合にCOMP信号を同期部104へ出力
する。前記同期部104は、バスサイクルを前半と後半
に分けてメモリに対するリードストローブ信号(MR
D)とライトストローブ信号(MWR)を生成する。メ
モリ部105は、呼び出しアドレスに対応した呼び出し
回数を保持する。デコーダ部106は、前記メモリ部1
05からのDOUT信号の値が全て「1」となった場
合、つまりメモリで保持できる最大値となった場合にM
AX信号を出力する。カウンター部107は、前記メモ
リ部105において呼び出し元アドレスがリードタイミ
ングで読み込まれるたびに前記メモリ部105に対して
+1されたデータを出力する。もし、デコーダ部106
からのMAX信号が有効な場合には、+1動作は行わず
にそのままメモリ部105に書き戻す。この図1にはシ
ステム全体を制御するホストCPUに関連する部分は示
していないが、当然システムを制御する上では必要とな
る。
【0010】前記システムの動作を図2のタイミングチ
ャートを参照して説明する。まず、保持部102におい
てCPU101がフェッチ動作を行うPRD(204)
のタイミングで、現在のバスサイクルアドレス(20
3)を次のバスサイクルの間だけ保持する。同時に比較
部103ではCPU101からの呼び出し命令を実行し
たことを示す分岐命令が有効でかつ、予め設定したホス
ト(スーパーバイザー)からの指定アドレスとCPU1
01からのアドレスの比較が一致した場合、つまり分岐
命令によって呼び出されたアドレスであると判断した場
合、COMP信号(205)を現在の1バスサイクルだ
け有効にする。つまり、COMP信号(205)が有効
な時の保持部102の値は呼び出し元アドレス(20
3)となり、メモリ部105のアドレス端子には呼び出
し元アドレスが入力される。同期部104では、COM
P信号(205)が有効でかつバスサイクルの前半部
(リードサイクルと定義する)では、メモリリードスト
ローブ信号であるMRD(206)のみを有効とし、後
半部(ライトサイクルと定義する)ではメモリライトス
トローブ信号であるMWR(207)のみ有効とする。
ここでは、CPU動作クロック(201)は1バスサイ
クルあたり2クロックとし、メモリ部105の内容を+
1にインクリメントするのに無理の無いタイミングを生
成させている。本発明は1バスサイクル中に2つ以上の
期間あれば動作可能であり、1バスサイクルが1クロッ
クのものであっても、そのCPUを2倍のクロックにす
ることによって容易に実現できる。
【0011】次に、MRD(206)によってメモリ部
105のDOUTから出力されたメモリ値は、カウンタ
ー部107にてMRD(206)の立ち上がりエッジの
タイミングで+1され、その+1された値はそのままメ
モリ部105のDINへ入力される。そしてMWR(2
07)の立ち上がりエッジタイミングで再度、同一アド
レスへの書き込みを行う。ただし、MAX信号が有効の
場合、+1動作は行わず、そのままDOUTへ入力す
る。デコーダ部106は、メモリ部105からのDOU
T信号の値が全て「1」となった場合にMAX信号を出
力する。これは呼び出し回数がメモリ部105の保持で
きる値を超えた場合にメモリ部105が保持できる最大
値のまま保持させるためである。この一連の動作によ
り、メモリ部105には呼び出し元アドレスをアドレス
値、その内容に呼び出し回数を保持することが可能とな
る。
【0012】前記実施形態に適用される本発明における
評価対象プログラムソースを図3(a)に、メモリ部1
05のマッピングの例を図3(b)にそれぞれ示す。図
3(a)に示すプログラムは100番地からプログラム
が実行された場合、COUNTに「5」がセットされ、
COUNTがDEC命令によってデクリメントされ、
「0」になるまでBNZ命令によりループするプログラ
ムである。また、メインルーチンの200番地からサブ
ルーチンであるSUB−Aへ、300番地からはSUB
−Bに分岐する仕様となっている。仕様通りに動作する
ことを仮定すると、サブルーチンであるSUB−AとS
UB−Bはそれぞれ4回ずつ呼び出され、図3(b)の
ように200番地に「4」と300番地に「4」のデー
タが書かれていることになる。もし、SUB−A、SU
B−Bがここに示したプログラム以外から呼び出されて
いる場合、その呼び出し元アドレス部に「0」以外が保
持されていることになる。このような場合、メモリ部1
05の内容を確認することによって、仕様と異なるアド
レスからの分岐や、呼び出されているサブルーチンの回
数が異なることを容易に特定できることになる。
【0013】なお、本発明においては、前記した実施形
態における分岐を、例えば割り込み信号に変えた場合
は、同様に割り込まれた元アドレスがメモリに記述され
るため、プログラム中のどの処理中に割り込みが発生し
ているかを確認することができる。なお、このような割
り込みは非同期での動作のため、図4に示したような従
来の技術ではその確認は不可能である。
【0014】
【発明の効果】以上説明したように本発明は、分岐元の
アドレスと、その分岐元アドレス毎の分岐回数を判定す
ることが可能であるため、評価対象プログラム中のある
特定プログラム部分の分岐命令において、予期しない動
作をした場合、その部分がどこから、どれくらいの回数
呼び出されているかを簡単に判断でき、問題点の発見が
容易になる。特に、分岐元アドレス毎にその呼び出し回
数を記録することで、通常アセンブラやC言語またはコ
ンパイラが内蔵している呼び出しクロスリファレンス表
との比較を簡単に行うことができ、仕様と相違を比較す
る作業を速やかに行うことができる。また、それらに相
違があった場合でも、簡単にその相違を発見できる。
【図面の簡単な説明】
【図1】本発明の評価システムのブロック図である。
【図2】図1のシステムの動作を説明するためのタイミ
ング図である。
【図3】評価プログラムとメモリマップを示す図であ
る。
【図4】従来の評価システムの一例のブロック図であ
る。
【符号の説明】
101 CPU 102 保持部 103 比較部 104 同期部 105 メモリ部 106 デコーダ 107 カウンタ
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭60−27961(JP,A) 特開 平4−42330(JP,A) 特開 平5−100903(JP,A) 特開 昭64−10347(JP,A) 特開 昭61−34635(JP,A) 特開 平4−102940(JP,A) 特開 平3−119435(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 11/28 - 11/36

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】 少なくともサブルーチンプログラムの読
    み出しプログラムを含むソフトウェアを対象とし、当該
    ソフトウェアにおける前記サブルーチンプログラムの読
    み出し動作が仕様通りに行われているか否かを判定する
    ための評価システムであって、前記サブルーチンプログ
    ラムの呼び出し回数を確認する手段と、前記サブルーチ
    ンプログラムの分岐元アドレスを確認する手段と、確認
    した前記分岐元アドレス毎にその呼び出し回数を記憶す
    る手段とを備えることを特徴とするソフトウェア評価シ
    ステム。
  2. 【請求項2】 評価対象のソフトウェアに基づく動作を
    実行するCPUと、前記CPUから出力される分岐命令
    を受けてそのときのアドレスとホストにより指定される
    分岐先の特定アドレスとを比較する比較部と、前記比較
    部が前記アドレスの一致を検出したときに前記分岐命令
    を出力したときの分岐元のアドレスを保持する保持部
    と、前記保持部から入力される分岐元のアドレスを記憶
    するメモリ部と、前記メモリ部に入力される前記分岐元
    のアドレスの回数をカウントするカウンターとを備え、
    前記メモリ部は、前記カウンターでカウントした値を前
    記分岐元のアドレスに対応する領域に記憶するように
    構成したことを特徴とするソフトウェア評価システム。
  3. 【請求項3】 前記メモリ部に記憶された各領域のカウ
    ント値が所定の値にまで到達したときに前記カウンター
    における以降のカウント動作を無効とするデコーダを備
    える請求項2に記載のソフトウェア評価システム。
  4. 【請求項4】 前記メモリ部は、前記評価対象ソフトウ
    ェア上の分岐元アドレスを当該メモリ部のアドレスとし
    て設定し、この設定されたメモリ部内のアドレスに前記
    カウンターのカウント値を記憶する請求項2又は3に記
    載のソフトウェア評価システム。
JP24548798A 1998-08-31 1998-08-31 ソフトウェア評価システム Expired - Fee Related JP3206559B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP24548798A JP3206559B2 (ja) 1998-08-31 1998-08-31 ソフトウェア評価システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP24548798A JP3206559B2 (ja) 1998-08-31 1998-08-31 ソフトウェア評価システム

Publications (2)

Publication Number Publication Date
JP2000076096A JP2000076096A (ja) 2000-03-14
JP3206559B2 true JP3206559B2 (ja) 2001-09-10

Family

ID=17134400

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24548798A Expired - Fee Related JP3206559B2 (ja) 1998-08-31 1998-08-31 ソフトウェア評価システム

Country Status (1)

Country Link
JP (1) JP3206559B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010244393A (ja) * 2009-04-08 2010-10-28 Renesas Electronics Corp パフォーマンス評価装置、及びパフォーマンス評価方法

Also Published As

Publication number Publication date
JP2000076096A (ja) 2000-03-14

Similar Documents

Publication Publication Date Title
KR930016880A (ko) 전자장치 및 그것의 고정정보 수정방법
CN1125400C (zh) 信号处理设备
EP0530816A2 (en) Microprocessor with cache memory and trace analyzer therefor
JP3206559B2 (ja) ソフトウェア評価システム
US5386521A (en) Instruction prefetching circuit with a next physical address precalculating circuit
JP2001175500A (ja) インサーキットエミュレータのトレース方法、トレース手順を記録した記録媒体およびトレース回路
JP3923010B2 (ja) メモリ制御回路
JP2591432B2 (ja) トレース装置
CN120256340B (zh) 基于硬件实现的访存模式识别装置及方法
JP2751822B2 (ja) Fifoメモリ装置のメモリ制御方法
JP2795310B2 (ja) メモリ制御装置およびメモリ装置
JPH0581087A (ja) プロセサのモニタ方式
JP3011163B2 (ja) 命令トレース装置
JP3366235B2 (ja) データ読み出し制御装置
JP2754899B2 (ja) デバック装置のリターンアドレス監視回路
JP2669300B2 (ja) プログラムトレース回路およびプログラムトレース方法
JPS59197946A (ja) メモリ装置
JP3001547B1 (ja) インサーキットエミュレータ
JP3178445B2 (ja) カウンタ装置
JP2004348635A (ja) プログラム開発方法
JPH0553929A (ja) 障害情報保存機能付き中央処理装置
JPH1055289A (ja) デバッグ情報生成回路、およびそれを用いた情報処理装置
JPH0412855B2 (ja)
JPH08272647A (ja) ソフトウェア評価装置
JPH02250133A (ja) 情報処理装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees