JPH02239341A - プログラムトレーサにおける分岐網羅カバレージ率算出方式 - Google Patents

プログラムトレーサにおける分岐網羅カバレージ率算出方式

Info

Publication number
JPH02239341A
JPH02239341A JP1061361A JP6136189A JPH02239341A JP H02239341 A JPH02239341 A JP H02239341A JP 1061361 A JP1061361 A JP 1061361A JP 6136189 A JP6136189 A JP 6136189A JP H02239341 A JPH02239341 A JP H02239341A
Authority
JP
Japan
Prior art keywords
branch
address
program
tracer
taken
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
JP1061361A
Other languages
English (en)
Inventor
Minoru Kushida
稔 櫛田
Tadashi Matsumoto
忠 松本
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.)
Hitachi High Tech Corp
Original Assignee
Hitachi Electronics Engineering Co Ltd
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 Hitachi Electronics Engineering Co Ltd filed Critical Hitachi Electronics Engineering Co Ltd
Priority to JP1061361A priority Critical patent/JPH02239341A/ja
Publication of JPH02239341A publication Critical patent/JPH02239341A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

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

Description

【発明の詳細な説明】 [産業上の利用分野コ この発明は、マイクロコンピュータシステムに使用され
るプログラムの品質評価を行うプログラムトレーサにお
ける、分岐網羅カバレージ率(C1で表す)の算出方式
に関するものである。
[従来の技術コ 最近においては、各部の制御やデータ処理をマイクロコ
ンピュータにより行う装置が多数出現している。これら
に使用されるプログラムはデバッグにより不良箇所の摘
出、修正が行われているが、さらに全体として品質を向
」ニするために、被検査プログラムを実用機にロードし
て実行状態としてプログラムトレーサにより品質評価が
行われる。
プログラムトレーサは、プログラム中の指定したアドレ
ス領域、または全領域についてプログラムの実行アドレ
スを高速度でトレースして解析する。
第3図はプログラムトレーサの構成図を示す。
被検査装置1はマイクロプロセッサ(MPU−A)1a
を搭載した実用機で、被検査プログラム1bがロードさ
れている。プログラムトレーサは2で示され、被検査装
置1とバス接続される。検査においては,被検査プログ
ラム1bのアドレスが逐次実行されるに従って、実行ア
ドレスに対するアドレス信号がインタフェース2aを通
してトレーサ制御部2bに入力する。これに対してプロ
グラムトレーサ2に設けられたマイクロプロセッサ(M
PU@B)2dより所定の指示がなされてトレーサ制御
が行われ、その結果はトレーサメモリ2Cに記憶される
。プログラムの実行は、I/OR置2eにより入e出力
条件を種々変更して複数回行われ、トレースデータが多
量となるので、えられたデータは実行毎にフロッピィデ
ィスク2fに記録される。
第4図(a).(b)および(c)にトレースデータの
例を示す。図(a)は被検査プログラム1bの1例で、
アドレスは16進5桁の(10000〜+0025)で
ある。アドレス10008が条件分岐命令で、分岐条件
が成立したときはアドレス10021にジャンプし、不
成立のときは10009に続く。プログラムトレーサ2
においては、各アドレスの命令を解析して、条件分岐命
令アドレス(以下単に分岐アドレスという)を抽出して
、トレースメモリ2cまたはフロッピィディスク2fに
図(b)に示す分岐アドレス表を記録する。次に、トレ
ーサにおいては、通過アドレスを検出して通過符号を与
える。図(c)は通過アドレス表を示し、表(I)は、
図(a)のプログラムにおいて分岐条件が不成立の場合
に対応し、アドレス10000〜10025のすべてに
、通過符号“1”が記録されている。これに対して、表
(n)は、分岐条件が成立した場合に対応し、アドレス
10009〜1002Gには未通過符号“0”が記録さ
れている。分岐アドレスは多数あるので、分岐条件を変
更して多数回プログラムを実行し、各実行に対する通過
アドレス表かえられて、フロッピィディスク2fに記録
されている。
プログラムトレーサにおける、プログラムの品質評価の
項目には各種があるが、その1項目としてすべての分岐
アドレスに対する分岐成立と不成立が、どの程度実行さ
れたかを示す分岐網羅カバレージ率C1と称されるメジ
ャーがある。
第5図はカバレージ率C1における分岐命令の成立と不
成立を説明するもので、任意の分岐アドレスに着目する
と、1回のプログラムの実行では(イ)のように、ステ
ップがこのアドレスを通過しないために分岐命令が実行
されない場合と、アドレスを通過する場合は分岐条件が
成立してYESとなる(σ)と、不成立のためNoとな
る(ハ)のいずれかである。分岐条件を種々に変化して
プログラムを多数回実行して、ステップが分岐アドレス
を通過し、かつ成立YESと不成立Noがともに少なく
とも1回実行されたときは仁》となる。すべての分岐ア
ドレスが(二)の状態となったときは、カバレージ率C
1は100%で検査はパーフェクトである。多数回の実
行に拘らず、C1が100%に達しないときは条件設定
が不適当か、または分岐命令に不良、不要のものがある
ことを示すものである。
〔解決しようとする課題コ 以上のカバレージ率CIは、従来においては、第4図(
b)の分岐アドレス表と(C)の通過アドレス表より手
作業により、分岐成立、不成立を判読して求める方法が
行われている。しかし、多数の通過アドレス表より成立
と不成立を手作業で判読することは容易でなく、従って
、主要部分のみについて行うなど範囲が限られる不完全
な検査方法であった。
この発明は以上に鑑みてなされたもので、カバレージ率
C1をマイクロプロセッサにより迅速に算出する方式を
提供することを目的とするものである。
[課題を解決するための手段] この発明は、被検査プログラムがロードされた被検査装
置に対して、異なる入畢出カ条件のもとにプログラムの
実行を複数回行い、入力したアドレス命令を解析して抽
出した分岐アドレスと、プログラムの実行動作をステッ
プ毎に逐次トレースして通過したアドレス、または未通
過のアドレスに対してそれぞれ通過符号または未通過符
号をラ,えた通過アドレス表とを、記録部に記録するプ
ログラムトレーサにおける分岐網羅カバレージ率算出方
式であって、マイクロプロセッサにより以下の演算処理
を行うものである。
上記の複数回行われるプログラムの実行毎に、通過アド
レス表より、分岐アドレスに対する分岐成立または不成
立を判定し、複数回の実行に対する判定データを集計メ
モリにORをとって記憶し、すべての分岐アドレスに対
してORされた成立と不成立の判定データを集計した総
個数の、記録部に記録された分岐アドレスの個数に対す
る比率を算出する。
]二記において、分岐アドレスに対応する通過アドレス
表のアドレスに通過符号が与えられていないときは、分
岐の成立または不成立のいずれも実行されないものとし
、分岐アドレスに通過符号が与えられ、かつそのアドレ
スの次位アドレスが未通過符号のときは分岐成立とし、
または次位アドレスが通過符号のときは分岐成立と判定
するものである。
[作用コ 以上の構成による分岐網羅カバレージ率の算出方式にお
いては、マイクロプロセッサの処理により、記録された
分岐アドレスと通過アドレス表から分岐アドレスの分岐
成立と不成立が判定されて、複数回のプログラムの実行
によるすべての分岐アドレスに対する成立、不成立の判
定データがそれぞれORされて集計メモリに記憶される
。このORをとる理由は、カバレージ率C1の定義によ
り、分岐が複数回成立または不成立しても回数に拘らず
1回とするからであ。
第1図は集計メモリに記憶された判定データを示すもの
で、分岐アドレス(例えば10008に対して、分岐成
立と不成立にともに“1”が記憶されている。分岐アド
レスの個数をnとし、これに対する分岐成立数を旧、不
成立数をn2として、比率(nx +n2)/nを求め
る。これが分岐網羅力パレージ率C1である。
[実施例コ 第2図は、この発明によるプログラムトレーサにおける
分岐網羅カバレージ率算出方式の実施例のハード回路の
ブロック構成を示すもので、前記した第3図のプログラ
ムトレーサ2に対して、集計メモリ2gを加えたもので
ある。この場合、集計メモリ2gはプログラムトレーサ
2のトレースメモリ2cの一部を利用することも差し支
えない。
集計メモリ2gには上記した分岐成立と不成立の判定デ
ータが記録される。一方、トレースメそリ2cまたはフ
ロッピィディスク2fには前記の分岐アドレス表が記録
されており、マイクロプロセッサ2cにより判定データ
と分岐アドレス表が読み出されて分岐網羅カバレージ率
C1が演算され、I / O Ri置2eに出力される
。なお、マイクロプロセッサ2cの演算処理は、通常の
プログラム技術により容易に実行できるので説明は省略
する。
[発明の効果] 以上の説明により明らかなように、この発明による分岐
WJmカバレージ率算出方式によれば、従来手作業によ
り行われたカバレージ率c1の計算が、マイクロプロセ
ッサにより被検査プログラムの全範囲に対して迅速、正
確に行われる効果があり、マイクロコンビュータンステ
ムに使用されるプログラムの品質評価に寄与するところ
には大きいものがある。
【図面の簡単な説明】
第1図は、この発明によるプログラムトレーサにおける
分岐網羅カバレージ率算出方式の集計メモリの説明図、
第2図は、この発明によるプログラムトレーサにおける
分岐網羅カバレージ率算出方式の実施例に対するハード
回路のブロック構成図、第3図はプログラムトレーサの
構成図、第4図(a),(b)および(C)は、被計算
プログラムと第3図のプログラムトレーサによるトレー
スデータの1例を示す表の説明図、第5図は条件分岐命
令における分岐成立と不成立の説明図である。 1・・・被検査装置、la・・・マイクロプロセッサA
、1b・・・被検査プログラム、 2・・・プログラムトレーサ、2a・・・インタフェー
ス、2b・・・トレース制911 部、2 c・・・ト
レースメモリ、2d・・・マイクロプロセッサB1 2e・・・I/O装置、 2f・・・フロッピィディスク、 2g・・・集計メモリ。

Claims (2)

    【特許請求の範囲】
  1. (1)被検査プログラムがロードされた被検査装置に対
    して、異なる入・出力条件のもとに該プログラムの実行
    を複数回行い、入力したアドレス命令を解析して抽出し
    た条件分岐命令アドレス(以下単に分岐アドレス)と、
    該実行動作をステップ毎に逐次トレースして通過したア
    ドレス、または未通過のアドレスに対してそれぞれ通過
    符号または未通過符号を与えた通過アドレス表とを、記
    録部に記録するプログラムトレーサにおいて、マイクロ
    プロセッサの処理により、上記複数回のプログラムの実
    行毎に、上記通過アドレス表より、上記分岐アドレスの
    分岐成立または不成立を判定し、上記複数回の実行に対
    する該判定データを集計メモリにORをとって記憶し、
    すべての上記分岐アドレスに対して該ORされた成立と
    不成立の判定データを集計した総個数の、上記記録部に
    記録された上記分岐アドレスの個数に対する比率を算出
    することを特徴とする、プログラムトレーサにおける分
    岐網羅カバレージ率算出方式。
  2. (2)上記において、上記記録部に記録された分岐アド
    レスに対応する上記通過アドレス表のアドレスに、通過
    符号が与えられていないときは、分岐の成立または不成
    立のいずれも実行されないものとし、該アドレスに通過
    符号が与えられ、かつ該アドレスの次位アドレスが未通
    過符号のときは分岐成立とし、または該次位アドレスが
    通過符号のときは分岐が不成立とする上記判定を行う、
    請求項1記載のプログラムトレーサにおける分岐網羅カ
    バレージ率算出方式。
JP1061361A 1989-03-14 1989-03-14 プログラムトレーサにおける分岐網羅カバレージ率算出方式 Pending JPH02239341A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1061361A JPH02239341A (ja) 1989-03-14 1989-03-14 プログラムトレーサにおける分岐網羅カバレージ率算出方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1061361A JPH02239341A (ja) 1989-03-14 1989-03-14 プログラムトレーサにおける分岐網羅カバレージ率算出方式

Publications (1)

Publication Number Publication Date
JPH02239341A true JPH02239341A (ja) 1990-09-21

Family

ID=13168948

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1061361A Pending JPH02239341A (ja) 1989-03-14 1989-03-14 プログラムトレーサにおける分岐網羅カバレージ率算出方式

Country Status (1)

Country Link
JP (1) JPH02239341A (ja)

Similar Documents

Publication Publication Date Title
US4338660A (en) Relational break signal generating device
CN110580226B (zh) 操作系统级程序的目标码覆盖率测试方法、系统及介质
JPS62159250A (ja) プログラムの解析方法
JPH04148242A (ja) ロード・モジュール実行時トレース処理方法
CN109902001B (zh) 对未初始化变量的检测方法及终端设备
JPH02239341A (ja) プログラムトレーサにおける分岐網羅カバレージ率算出方式
GB1247746A (en) Data processing machines
ATE155906T1 (de) Verfahren zum erfassen von ausführungsfehlern in einem programm
US7617416B2 (en) System, method, and apparatus for firmware code-coverage in complex system on chip
JPH04260941A (ja) テストデータの自動生成装置
JPH04169849A (ja) データ判別用しきい値設定方式
JPS6177943A (ja) プログラム通過アドレストレ−ス装置
US8516445B2 (en) Multi-dimension code coverage
JPH04145544A (ja) デバッグ装置
JPS63289654A (ja) プログラム分岐命令モニタ方式
JP2523692B2 (ja) 電子計算機調整不良解析支援システム
JPS6019245A (ja) プログラムアナライザ
JPH10232795A (ja) ソフトウェア部品組み合わせテスト方法
JPH05324756A (ja) 論理シミュレーション結果表示システム
JPS6388650A (ja) プログラムパス・モニタ方式
JPH01100642A (ja) 計算機システムのテストカバレージ方式
JPS63193235A (ja) 条件コ−ド検査方法
JPS59161736A (ja) プログラムアナライザ
JPH05108407A (ja) 計算機用プログラムのデバツクシステム
US20090222797A1 (en) Apparatus and method for providing a trigger