JPS603756A - プログラム試験装置 - Google Patents
プログラム試験装置Info
- Publication number
- JPS603756A JPS603756A JP58111632A JP11163283A JPS603756A JP S603756 A JPS603756 A JP S603756A JP 58111632 A JP58111632 A JP 58111632A JP 11163283 A JP11163283 A JP 11163283A JP S603756 A JPS603756 A JP S603756A
- Authority
- JP
- Japan
- Prior art keywords
- address
- coverage
- program
- memory
- circuit
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of 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
【発明の詳細な説明】
本発明は、プログラムを試験するときに、実行した1日
グラムの割合いを計測する装置に関するものである。
グラムの割合いを計測する装置に関するものである。
近年、ソフトウェアの試験手法が各種開発されておシ、
その中でも、プログラム実行の割シ合いを計測し分析す
るカバレージ(609−デagm)分析が注目されてい
る。このカバレージ分析は、コンパイラ言語の高級言語
を用いてコンパイルする際に、プログラムに計測命令語
を挿入して行なうもので、ステートメント単位に計測命
令語を挿入して計測を行なうCoカバレージ及びセグメ
ント(分岐)単位に計測命令語を挿入して計測を行なう
C1カバレージ等がある。これらの中で最も広く使われ
ているのがCt カバレージであル、このcl カバレ
ージ計測を行なうには、カバレージアナライザと呼ばれ
るソフトウェア・ツールのシステムがプログラム言語毎
に必要となる。このソフトフェアツールのシステムを第
1図に示す。(雑誌1−BITJV o Il、 13
、 & 8参照)同図において、ソース70グラム1
#−i、フレコノバイラであるインストルメンタ2で、
ソースプログラムの中の各セグメント毎に計測命令語を
挿厩 入して修正したソースフログラム4を構成する。
その中でも、プログラム実行の割シ合いを計測し分析す
るカバレージ(609−デagm)分析が注目されてい
る。このカバレージ分析は、コンパイラ言語の高級言語
を用いてコンパイルする際に、プログラムに計測命令語
を挿入して行なうもので、ステートメント単位に計測命
令語を挿入して計測を行なうCoカバレージ及びセグメ
ント(分岐)単位に計測命令語を挿入して計測を行なう
C1カバレージ等がある。これらの中で最も広く使われ
ているのがCt カバレージであル、このcl カバレ
ージ計測を行なうには、カバレージアナライザと呼ばれ
るソフトウェア・ツールのシステムがプログラム言語毎
に必要となる。このソフトフェアツールのシステムを第
1図に示す。(雑誌1−BITJV o Il、 13
、 & 8参照)同図において、ソース70グラム1
#−i、フレコノバイラであるインストルメンタ2で、
ソースプログラムの中の各セグメント毎に計測命令語を
挿厩 入して修正したソースフログラム4を構成する。
このとき、ソースプログラム中の各ステートメントとセ
グメント毎号の対応を示す参照リスト3が出力される。
グメント毎号の対応を示す参照リスト3が出力される。
修正したソースプログラム4は、コンパイラ5でコンパ
イルしてオブジェクトプログラム7を生成する。このと
き、コンパイルリスト6が出力される。オブジェクトプ
ログラム7をテストデータ8を基に実行し、テスト結果
10を出力する7、この実行の除圧、計測命令語により
各セグメントを実行した順序の記録がトレースファイル
11に生成される。そして、テストを終了すると、カバ
レージ12によシ分析し、結果が分析レポート13とし
て出力される。
イルしてオブジェクトプログラム7を生成する。このと
き、コンパイルリスト6が出力される。オブジェクトプ
ログラム7をテストデータ8を基に実行し、テスト結果
10を出力する7、この実行の除圧、計測命令語により
各セグメントを実行した順序の記録がトレースファイル
11に生成される。そして、テストを終了すると、カバ
レージ12によシ分析し、結果が分析レポート13とし
て出力される。
しかし、プログラムを試験するのに、このソフトウェア
・ツールのシステムを利用することは、プログラムサイ
ズの増加や処理速度の低トt−招くために%試験後に、
計測命令語の除去を行なわれなければならず、手間がか
かるとともに、修正ミスもおこる。また、このソフトウ
ェア・ツールのシステムを行なうのは、コノバイラ言語
等の高級言語に限られておシ、アセンブラ言語に対する
ものはない。
・ツールのシステムを利用することは、プログラムサイ
ズの増加や処理速度の低トt−招くために%試験後に、
計測命令語の除去を行なわれなければならず、手間がか
かるとともに、修正ミスもおこる。また、このソフトウ
ェア・ツールのシステムを行なうのは、コノバイラ言語
等の高級言語に限られておシ、アセンブラ言語に対する
ものはない。
本発明は、上記事情罠鑑みなされたもので、その目的と
するとこりは、プログラムに計測命令語を挿入すること
なく、また、アセンブラ言語でも。
するとこりは、プログラムに計測命令語を挿入すること
なく、また、アセンブラ言語でも。
カバレージ計測できるプロクラム試験装置を提供しよう
というものである。
というものである。
以下、本発明を、第2図・第3図に基づいて詳述する。
肴
第2図にtいて、21は中央演算処理装置(以 l下C
PUと略称する)、22は主メモリまたはキャッシュメ
モリでフログラムを記憶してhる記憶装置。CPU2に
は、プログラム葡奥行するアドレスの示すところのメモ
リ22から、命令を7エツチして実行する。23はアド
レスセレクタで。
PUと略称する)、22は主メモリまたはキャッシュメ
モリでフログラムを記憶してhる記憶装置。CPU2に
は、プログラム葡奥行するアドレスの示すところのメモ
リ22から、命令を7エツチして実行する。23はアド
レスセレクタで。
CPU21が、主メモリ22に記憶して−るプログラム
の命令コードを7エツチする際に、フェッチ時のタイミ
ング・パルス信号とともに、アドレス信号をパス100
を通して入力し、後述の測定チャンネル24に出力する
。測定チャンネル24は測定部25と編集部26とから
構成される。
の命令コードを7エツチする際に、フェッチ時のタイミ
ング・パルス信号とともに、アドレス信号をパス100
を通して入力し、後述の測定チャンネル24に出力する
。測定チャンネル24は測定部25と編集部26とから
構成される。
27はカバレージ用のメモリで、1アドレス単位が1b
itK対応したものを用いる。
itK対応したものを用いる。
第3図は、測定部25の詳細回路図を示したものである
。同図において、51は先頭アドレスバッファ、52は
、最終アドレスバッファで、各アドレスバッファ51・
52a、予めカバレージ計測の対象となるプログラムの
先頭アドレスと最終アドレスとを記憶しておシ、マニュ
アルにより設定できる。53はフェッチアドレスバッフ
ァでアドレスセレクタ2−3からアドレス信号を入力し
、後述のアドレス生成回路57及び各比較回路54・5
5に夫々出力する。比較回#554は先頭アドレスバク
7ア51に記憶しているアドレス信号Sと。
。同図において、51は先頭アドレスバッファ、52は
、最終アドレスバッファで、各アドレスバッファ51・
52a、予めカバレージ計測の対象となるプログラムの
先頭アドレスと最終アドレスとを記憶しておシ、マニュ
アルにより設定できる。53はフェッチアドレスバッフ
ァでアドレスセレクタ2−3からアドレス信号を入力し
、後述のアドレス生成回路57及び各比較回路54・5
5に夫々出力する。比較回#554は先頭アドレスバク
7ア51に記憶しているアドレス信号Sと。
フェッチアドレスバッファ53に記憶しているアドレス
信号Fとを比較し、F≧Sのとき製信号IHIをAND
回路58に出力する。比較回路55は、最終アドレスバ
ッファ52に記憶しているアドレス信号Eとフェッチア
ドレスバッファ53に記憶してめるアドレス信号とを比
較し、F≦Eのとき信号IHIをAND回路58に出力
する。AND回路56は、アドレスセレクタ23からの
フェッチ時のタイミングパルス信号Pと測定開始・終了
の信号Qとを入力しAND回路58に出力する。アドレ
ス生成回路57は、フェッチ時のアドレス信号Fと先頭
アドレス信号SとによりF−8の演算を行ない、この結
果のアドレス信号をACID回路58からの出力信号が
IHIのときに、カバレージ用メモリ27に出力する。
信号Fとを比較し、F≧Sのとき製信号IHIをAND
回路58に出力する。比較回路55は、最終アドレスバ
ッファ52に記憶しているアドレス信号Eとフェッチア
ドレスバッファ53に記憶してめるアドレス信号とを比
較し、F≦Eのとき信号IHIをAND回路58に出力
する。AND回路56は、アドレスセレクタ23からの
フェッチ時のタイミングパルス信号Pと測定開始・終了
の信号Qとを入力しAND回路58に出力する。アドレ
ス生成回路57は、フェッチ時のアドレス信号Fと先頭
アドレス信号SとによりF−8の演算を行ない、この結
果のアドレス信号をACID回路58からの出力信号が
IHIのときに、カバレージ用メモリ27に出力する。
以上のように構成されたものにかいて、次に動作を説明
する。
する。
まず、メモリクリア信号をカバレージ用メモリ27に出
力して、メモリ27をクリアする。そして、開始信号Q
# H#を、測定部25のAND回路56に出力する
。今、CPU21がメモリ22よシ命令コードをフェッ
チしたとする。このときのフェッチアドレスは、カバレ
ージ記憶対象内のアドレスとする。アドレスセレクタ2
3は、このフェッチよりアドレス信号Fをバス100全
通して入力し、タイミングパルス信号Pとともに測定部
25に出力する。アドレス信号Fは、フェッチアドレス
バッファ53を介して、各比較回路54・55及びアド
レス生成回路57に出力する。比較回路54で、アドレ
ス信号Fと先頭アドレスバッファ51のアドレス信号S
とを比較し、F≧Sであるので信号IHIをAND回路
58に出力する。
力して、メモリ27をクリアする。そして、開始信号Q
# H#を、測定部25のAND回路56に出力する
。今、CPU21がメモリ22よシ命令コードをフェッ
チしたとする。このときのフェッチアドレスは、カバレ
ージ記憶対象内のアドレスとする。アドレスセレクタ2
3は、このフェッチよりアドレス信号Fをバス100全
通して入力し、タイミングパルス信号Pとともに測定部
25に出力する。アドレス信号Fは、フェッチアドレス
バッファ53を介して、各比較回路54・55及びアド
レス生成回路57に出力する。比較回路54で、アドレ
ス信号Fと先頭アドレスバッファ51のアドレス信号S
とを比較し、F≧Sであるので信号IHIをAND回路
58に出力する。
比較回路55で同様にアドレス信号Fと最終アドレスバ
ッファ52のアドレス信号Eとを比較し、F≦Eである
ので信号IHIをAND回路58に出力する。AND1
gl路56には、タイミングパルス信号PがIHI 、
開始゛終了信号QがIIHIであるので、信号IEIを
AND回路58に出力する。よってAND回路58は、
信号IHIをアドレス生成回路57に出力する。アドレ
ス生成回路57は、この信号の入力によシF−8の演算
を行なって得たカバレージアドレスをカッくレージメモ
リ27に出力する。そしてカバレージメモリ27は、こ
のアドレスの示すところにlllを記憶する。このよう
にして、カバレージ対象内のグログラムは、プログラム
を実行する毎に実行したプログラムのアドレスがカバレ
ージ用メモリ27に記憶され、またカバレージ対象外の
アドレスは記憶されない。カバレージ用メモリ27に記
憶するときは、当然CPUサイクル以内で記憶する。
ッファ52のアドレス信号Eとを比較し、F≦Eである
ので信号IHIをAND回路58に出力する。AND1
gl路56には、タイミングパルス信号PがIHI 、
開始゛終了信号QがIIHIであるので、信号IEIを
AND回路58に出力する。よってAND回路58は、
信号IHIをアドレス生成回路57に出力する。アドレ
ス生成回路57は、この信号の入力によシF−8の演算
を行なって得たカバレージアドレスをカッくレージメモ
リ27に出力する。そしてカバレージメモリ27は、こ
のアドレスの示すところにlllを記憶する。このよう
にして、カバレージ対象内のグログラムは、プログラム
を実行する毎に実行したプログラムのアドレスがカバレ
ージ用メモリ27に記憶され、またカバレージ対象外の
アドレスは記憶されない。カバレージ用メモリ27に記
憶するときは、当然CPUサイクル以内で記憶する。
プログラムの実行を終了すると、開始・終了信号QをI
LIにして計測を停止させる。そして、編集部26は、
カバレージ用メモリ27から記憶したデータを取勺出し
、編集を行なってカバレージ出力として表示装置(図示
省略)等に出力する。
LIにして計測を停止させる。そして、編集部26は、
カバレージ用メモリ27から記憶したデータを取勺出し
、編集を行なってカバレージ出力として表示装置(図示
省略)等に出力する。
本実施例は、あるアドレス空間を対象としたが、 鬼主
メモリ22と同じアドレス空間をもったメモリをカバレ
ージ用メモリとして用いるならば、比較する機能やアド
レス生成機能は不要である。
メモリ22と同じアドレス空間をもったメモリをカバレ
ージ用メモリとして用いるならば、比較する機能やアド
レス生成機能は不要である。
以上のように、本発明は、測定チャンネルを用いてプロ
グラムを実行したかどうかを記憶し、分析するもので、
従来のカバレージ計測は高級言語ニ限られていたが、ア
センブラ言語でもカバレージ計測が可能となった。そし
て、高級言語を用いてカバレージ計測を行なう場合は、
大規模なソフトウェア・ツールシステムが必要であるが
、本発明は、言語にもO8にも依存性ることなく、プロ
グラムの実行イメージのメモリ対応がわかるものである
ならは、容易にカバレージ計測を行なうことができる。
グラムを実行したかどうかを記憶し、分析するもので、
従来のカバレージ計測は高級言語ニ限られていたが、ア
センブラ言語でもカバレージ計測が可能となった。そし
て、高級言語を用いてカバレージ計測を行なう場合は、
大規模なソフトウェア・ツールシステムが必要であるが
、本発明は、言語にもO8にも依存性ることなく、プロ
グラムの実行イメージのメモリ対応がわかるものである
ならは、容易にカバレージ計測を行なうことができる。
そして、本発明は、計測命令語をプログラムに挿入する
手間は不要となるとともに、プログラム・イメージの増
加や処理速度の低下を防止する。また、計測命令語を除
去する手間を不要とする。そして、cpv本来の処理と
独立に並行して行なうため、システムプログラムに伺等
影響を及ぼさない等の優れた利点を有するものである。
手間は不要となるとともに、プログラム・イメージの増
加や処理速度の低下を防止する。また、計測命令語を除
去する手間を不要とする。そして、cpv本来の処理と
独立に並行して行なうため、システムプログラムに伺等
影響を及ぼさない等の優れた利点を有するものである。
第1図は従来のコンパイラ言語用CIカバレージ・ソフ
トウェア・ツール・システミを示した構成図、第2図は
本発明の一実Dm例を示した構成図、第3図は本発明の
測定部の詳細を示した回路図である。 IViソースプログラム、2はインストルメンタ、3は
参照リスト、4は修正されたソースプログラム、5はコ
ンパイラ、6はコンパイルリスト、7はオブジェクトプ
ログラム、8はテストデータ、9は実行、1otiテス
ト結果、1lrri)レースファイル、12はカバレー
ジ、13け分析レボ−1・、21はCPU、22は主メ
モリ、23triアドレスセレクタ、24は測定チャネ
ル、25は′611定部、26t/′i編集部、27は
カバレージ用メモリ、51は先頭アドレスバッファ%5
3は7エツチアドレ、X バッファ、54・55は比較
器、56・58はAND回路、57はアドレス生成回路
。 特許出願人
トウェア・ツール・システミを示した構成図、第2図は
本発明の一実Dm例を示した構成図、第3図は本発明の
測定部の詳細を示した回路図である。 IViソースプログラム、2はインストルメンタ、3は
参照リスト、4は修正されたソースプログラム、5はコ
ンパイラ、6はコンパイルリスト、7はオブジェクトプ
ログラム、8はテストデータ、9は実行、1otiテス
ト結果、1lrri)レースファイル、12はカバレー
ジ、13け分析レボ−1・、21はCPU、22は主メ
モリ、23triアドレスセレクタ、24は測定チャネ
ル、25は′611定部、26t/′i編集部、27は
カバレージ用メモリ、51は先頭アドレスバッファ%5
3は7エツチアドレ、X バッファ、54・55は比較
器、56・58はAND回路、57はアドレス生成回路
。 特許出願人
Claims (4)
- (1) 中央演算処理装置と記憶装置との間に、中央演
算処理装置が記憶装置に記憶しているプログラムの命令
をフェッチしたときのアドレスを入力するアドレスセレ
クタと、このアドレスセレクタからのアドレス信号に基
づいて、カバレージ用メモリにプログラムを実行したか
否かを記憶させる測定チャネルとを設けたことを特徴と
するプログラム試験装置。 - (2) 測定チャネルを測定部と編集部とから構成した
ことを特徴とする特許請求の範囲第(1)項記載のプロ
グラム試験装置。 - (3)測定部を、予め設定したアドレスの範囲であるか
を比較する比較回路と、カバレージ用メモリに書き込む
ためのアドレスを演算によってめるアドレス生成回路と
で構成したことを特徴とする特許請求の範囲第(1)項
または第(2)項記載のプログラム試験装置。 - (4) カバレージ用メモリは、プ四グラム内の命令ア
ドレス単位が161tに対応していることを特徴とする
特許請求の範囲第(1)項〜M (3)項記載のプログ
ラム試験装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP58111632A JPS603756A (ja) | 1983-06-21 | 1983-06-21 | プログラム試験装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP58111632A JPS603756A (ja) | 1983-06-21 | 1983-06-21 | プログラム試験装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPS603756A true JPS603756A (ja) | 1985-01-10 |
Family
ID=14566231
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP58111632A Pending JPS603756A (ja) | 1983-06-21 | 1983-06-21 | プログラム試験装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS603756A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS62290943A (ja) * | 1986-06-10 | 1987-12-17 | Nec Corp | 情報処理装置 |
| EP0202628A3 (en) * | 1985-05-20 | 1989-06-14 | Hitachi, Ltd. | Instruction monitor used for a stored-program data processor |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS4874147A (ja) * | 1971-12-29 | 1973-10-05 | ||
| JPS5829056A (ja) * | 1981-08-14 | 1983-02-21 | Nec Corp | 制御記憶装置 |
-
1983
- 1983-06-21 JP JP58111632A patent/JPS603756A/ja active Pending
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS4874147A (ja) * | 1971-12-29 | 1973-10-05 | ||
| JPS5829056A (ja) * | 1981-08-14 | 1983-02-21 | Nec Corp | 制御記憶装置 |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0202628A3 (en) * | 1985-05-20 | 1989-06-14 | Hitachi, Ltd. | Instruction monitor used for a stored-program data processor |
| JPS62290943A (ja) * | 1986-06-10 | 1987-12-17 | Nec Corp | 情報処理装置 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20080127113A1 (en) | Method and system for implementing watchpoints | |
| JPH11316696A (ja) | コンピュ―タプログラムをテストし、デバッグするための再配置可能計測タグ | |
| JP2000305809A (ja) | メモリアクセス解析方法、メモリアクセス追跡装置、コンピュータ読取可能な記録媒体 | |
| GB2249414A (en) | Predicting the performance of a computer system | |
| CN106462405B (zh) | 使用活动场所的互动学习工具 | |
| CN111813670B (zh) | 一种非侵入式mc/dc覆盖率统计分析方法 | |
| JP6878707B2 (ja) | 試験装置、試験方法および試験プログラム | |
| CN114201375B (zh) | 一种在硬件环境上获取代码指令消耗的方法及装置 | |
| JP3173855B2 (ja) | デジタル・テスト・ベクトルの編集方法 | |
| WO2002001361A1 (en) | A method for determining the status of variables during the execution of optimized code | |
| US7895575B2 (en) | Apparatus and method for generating test driver | |
| JP2886191B2 (ja) | 命令解析装置及び方法 | |
| JPS603756A (ja) | プログラム試験装置 | |
| JP2817786B2 (ja) | シミュレーション装置及びシミュレーション方法 | |
| EP0790555A2 (en) | Compile apparatus and method | |
| US20240330158A1 (en) | Electronic device, generation method for software code and analyzation method for test coverage | |
| JP2002014847A (ja) | プログラム検査装置、プログラム検査方法及び検査を行うためのプログラムを格納した記録媒体 | |
| CN116932073A (zh) | 一种基于Clang的AUTOSAR符合性检测方法及装置 | |
| US9274929B2 (en) | Constraint derivation in context following for use with object code insertion | |
| JP3745968B2 (ja) | 試験システム及び試験方法及び試験プログラム及び試験プログラムを記録した計算機で読み取り可能な記録媒体 | |
| JPH11154093A (ja) | プログラムコンパイラ及びコンパイラ用プログラムを記録した記録媒体 | |
| KR100340049B1 (ko) | 시나리오를 이용한 칠 프로그램 시험 방법 | |
| JPH01177165A (ja) | 配列の定義/引用関係検査方式 | |
| US10713167B2 (en) | Information processing apparatus and method including simulating access to cache memory and generating profile information | |
| JPH01287486A (ja) | テストパターンプログラム生成装置 |