JP3123758B2 - ソフトウェア網羅率測定装置 - Google Patents

ソフトウェア網羅率測定装置

Info

Publication number
JP3123758B2
JP3123758B2 JP02410330A JP41033090A JP3123758B2 JP 3123758 B2 JP3123758 B2 JP 3123758B2 JP 02410330 A JP02410330 A JP 02410330A JP 41033090 A JP41033090 A JP 41033090A JP 3123758 B2 JP3123758 B2 JP 3123758B2
Authority
JP
Japan
Prior art keywords
information
instruction
software
register
bits
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
JP02410330A
Other languages
English (en)
Other versions
JPH04215145A (ja
Inventor
靖 柳沢
Original Assignee
甲府日本電気株式会社
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 甲府日本電気株式会社 filed Critical 甲府日本電気株式会社
Priority to JP02410330A priority Critical patent/JP3123758B2/ja
Publication of JPH04215145A publication Critical patent/JPH04215145A/ja
Application granted granted Critical
Publication of JP3123758B2 publication Critical patent/JP3123758B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Description

【発明の詳細な説明】
【0001】
【技術分野】本発明はソフトウェア網羅率測定装置に関
し、特に条件分岐命令を含むソフトウェア命令を有する
プログラムを実行する情報処理装置における実行ソフト
ウェアの網羅率を測定する装置に関するものである。
【0002】
【従来技術】ソフトウェア命令のプログラムを実行する
情報処理装置に対してテストプログラムを使用して機能
テストを行う場合、このテストプログラムが全機能に対
してどれだけ試験が行えたかを判断する必要がある。そ
のために、ソフトウェアの全ステップに対する実行ステ
ップの割合である網羅率の測定がなされる。
【0003】従来のこの種の網羅率測定装置では、RAM
等の情報記憶手段に対して、ソフトウェア命令の命令語
のアドレス(IA;Instraction Address)をライトアド
レスとして、そのIAを命令語が通過したか否かを記憶
させていくように構成されている。
【0004】図2はかかる従来の装置を示すブロック図
である。図において、ICR 2は信号線114 を介して送ら
れてくる現在実行中のIAを格納するソフトウェア命令
語アドレスレジスタであり、格納IAを上位数ビットと
下位数ビットとに分け、上位数ビットを信号線102 を介
して、選択回路4に送出し、下位数ビットを信号線103
を介してメモリライトイネーブルを生成するデコーダ
(ICDC)3に送出する。
【0005】このデコーダ3は、信号線103 を介して送
出されるレジスタ2の下位数ビットからRAM10に対
するライトイネーブルの情報を作成する組合せ回路であ
り、その出力は信号線108 を介して選択回路6に送出さ
れる。
【0006】選択回路4は信号線105 を介して与えられ
るRAM10に対するビット毎の任意のライトアドレス
と、信号線102 を介して送出されるレジスタ2の上位数
ビットとを信号線106 を選択信号として切換える選択回
路である。
【0007】ADR 5は選択回路4の出力を格納するレジ
スタであり、信号線109 を介してRAM10に対してラ
イトアドレスを与える。選択回路6は信号線107 を介し
て与えられるRAM10に対する任意のライトイネーブ
ル信号と、信号線108 を介して送出されるデコーダ3の
出力とを信号線106 を選択信号として切換える選択回路
である。
【0008】WER 7は選択回路6の出力を格納するレジ
スタであり、信号線110 を介してRAM10に対してラ
イトイネーブルを与える。選択回路8は信号線115 を介
して与えられる任意のRAM10に対するライトデータ
と“all 0”と“all 1”とを信号線106 を選択信号と
して切換える選択回路である。
【0009】WDR 9は選択回路8の出力を格納するレジ
スタであり、信号線111 を介してRAM10にライトデ
ータを与える。RAM10は信号線109 をライトアドレ
スとし、信号線110 をライトイネーブルとして、信号線
111 を介して与えられるライトデータを書込み、信号線
104 を介して与えられる任意のリードアドレスに対応し
てリードデータを信号線112 に送出しデータレジスタで
あるRDR 11に読出す読み書き可能なRAMである。
【0010】ここで、RAM10はnワード×mビット
の情報を書込めるものとしたとき、その情報量を(n×
α)ワード×(m÷α)ビットとみなして使用するもの
とする(αは1以上の任意の整数)。これは通常RAM
の持つワード数はソフトウェア命令の全IAに対応でき
る程多くないからである。
【0011】第2図では、レジスタ2の出力をそのまま
ワードアドレスとして用いるのではなく、上位数ビット
をワードアドレスとしている。下位数ビットはデコーダ
3でデコードして、αビットのライトイネーブル108 と
して用いる。αビットのライトイネーブルで各1ビット
アドレスを制御することにより、RAM10のワード数
をα倍にしたとみなすことができる。
【0012】具体的には、IAが3ビットであると仮定
して考えてみると、RAM10は8ワード×1ビットで
ある必要があるが、このRAM10を4ワード×2ビッ
トのRAMで代用するには以下のようにする(α=
2)。すなわちレジスタ2の上位2ビットからワードア
ドレスを得るので、ライトアドレスレジスタ5に格納
し、またレジスタ2の下位1ビットをデコーダ3でデコ
ードすることにより得られるビットアドレス2ビットを
ライトイネーブルレジスタ7に格納する。図3に上述し
たRAM10を4ワード×2ビットとみなした例を示
す。
【0013】以下に図2を用いて、従来の技術の具体的
な動作を説明する。ここで測定するプログラムの例を図
4に示す。図4において、処理A〜処理FのIAに夫々
a〜fが対応しているものとする。具体的な動作を述べ
るためにIAは3ビットであるものと仮定し、a=000
、b=001 、c=010 、d=011 、e=100 、f=101
であるとする。尚、RAM10は図3に示したような
4ワード×2ビットの構成で使用するものとする。
【0014】まず測定に先立ち、RAM10の初期化を
行う必要がある。そのために選択回路8で“all 0”を
選択し、レジスタ9に“all 0”を格納して保持してお
く。そして、信号線105 を選択回路5で選択し、レジス
タ5に格納する。また、信号線107 を選択回路6で選択
し、レジスタ7に格納する。
【0015】次に、レジスタ5,7によって、全てのワ
ードアドレスと全てのビットアドレスとが網羅されるよ
うに、信号線105 、107 に値を夫々与える。以上の動作
を行うことにより、RAM10内の全ワード、全ビット
に“0”が書込まれ初期化が行われる。
【0016】次に測定を行う。測定は、図4において、
最初に処理A→処理C→処理Fが実行され、次に処理A
→処理B→処理D→処理Eと実行された場合を考えてみ
る。
【0017】先ず、処理Aが行われるので、レジスタ2
にa=000 が格納される。レジスタ2の上位2ビット
“00”がレジスタ5に格納され、RAM10のワード
アドレス“00”を指す。同時に、レジスタ2の下位1
ビット“0”をデコータ3でデコードすると、図3にお
ける信号線402 が“1”、信号線401 は“0”となり、
レジスタ7に“10”が格納される。
【0018】選択回路8で“all 1”を選択してレジス
タ9に“all 1”を格納し保持しておく。RAM10は
ライトイネーブルの各ビットとライトデータの各ビット
が1対1で対応しているとすると、00ワードの内容
は、“10”となる。
【0019】次に、処理Cが行われると、01ワードの
内容は“10”となる。以下同様にして、残りの処理F
→処理A→処理B→処理Eを行い、各々対応するワード
アドレスのライトイネーブルが有効となったビットアド
レスに“1”を書込んでゆく。 上記の処理が全て完了
した時点で、RAM10の内容は図5のようになってい
る。なお、測定結果は、RAM10の内容を信号線104
をリードアドレスとして信号線112 を介してレジスタ1
1に読出すことにより得られる。このリードデータより
各IAにおいて、そのIAの示す命令が実行されたか否
かを調べるための論理値表を作成すると図6のようにな
る。
【0020】しかしながら、上述した従来技術において
は、プログラム中の任意のステップが実行されたか否か
をのみ採取しているために、着目しているステップが複
数の条件分岐命令によって実行している場合には、どの
ステップからの分岐によって実行したのかは判明でき
ず、プログラムが取り得るステップの全ケースがテスト
されたかを決定する十分なデータが採取できないという
欠点がある。
【0021】図6からは、処理Aから処理Fの全ての処
理が実行済であることはわかるが、処理D→処理Fのパ
スが実際に実行されたかどうかはわからない。
【0022】従って、従来技術においては、プログラム
内の複数の処理から実行が移る箇所の洗い出しを行う必
要があり、また洗い出した箇所のみを測定単位として設
定する手段(ソフトウェア命令のIAからRAMに対す
る測定起動手段と測定停止手段等)を追加する必要が生
じる。
【0023】図4の場合を例に挙げると、処理Fを洗い
出し、処理Dから次の処理(処理E又は処理F)が実行
される場合と、処理Cから次の処理(処理F)が実行さ
れる場合との2回に分けて測定しなければならないとい
う欠点がある。
【0024】
【発明の目的】本発明の目的は、極めて簡単な構成で条
件分岐命令に関する網羅率を単に1回の測定のみで得る
ことができるソフトウェア網羅率測定装置を提供するこ
とである。
【0025】
【発明の構成】本発明によれば、条件分岐命令を含むソ
フトウェア命令を有するプログラムを実行する情報処理
装置における実行ソフトウェアの網羅率を測定する装置
であって、実行すべきソフトウェア命令の命令語のアド
レス(IA)を格納する手段と、前記ソフトウェア命令
が条件分岐命令である場合に、分岐が行われたか否かを
示す分岐実行情報を格納する手段と、前記アドレス(I
A)を格納する手段に格納された前記命令語のアドレス
に対応して前記分岐実行情報及び前記命令語の実行を示
す情報を格納する情報記憶手段と、その情報記憶手段に
nワード×mビット(n,mは1以上の任意の整数)の
情報を書き込めるとしたとき、その情報量を(n×α)
ワード×(m÷α)ビット(αは1以上の任意の整数)
とみなして使用する手段とを含み、この情報記憶手段の
内容を読出してソフトウェア網羅率を判定するようにし
たことを特徴とするソフトウェア網羅率測定装置が得ら
れる。
【0026】
【実施例】以下に本発明の実施例を図面を参照しつつ詳
細に説明する。
【0027】図1は本発明の実施例のブロック図であ
り、図2と同等部分は同一符号により示している。図2
の従来例と異なる部分のみについて述べれば、信号線11
3 は現在実行中のプログラムにおいて、条件分岐命令が
出現し、かつその結果分岐が行われた場合(この場合の
ことを“分岐GO”と称する)に“1”となり、条件分岐
命令が出現しても分岐が行われなかった場合(この場合
のことを“分岐NOGO”と称する)か、または条件分岐命
令が出現しなかった場合に“0”となる。
【0028】REG 1は信号線113 を介して送られてくる
情報を格納するレジスタであり、信号線101 を介してそ
の内容をデコーダ3へ送出する。このデコーダ3は信号
線101 及び103 から送られてくる情報をデコードしてR
AM10のライトイネーブルとして信号線108 へ送出す
る。このデコーダ3の具体例が図7に示されている。
【0029】他の構成は図2のそれと同一であり、その
説明は省略する。尚、RAM10は図2のRAM10と
同様にnワード×mビットの情報を書込めるとき、その
情報量を(N×α)ワード×(m÷α)ビットとみなし
て使用するものとする。
【0030】以下、この実施例をもとに動作を説明す
る。先ず、測定に先立ちRAM10の初期化を行う必要
がある。RAM10の初期化は、以下の様になされる。
選択回路8より“all 0”を選択してレジスタ9に格納
して保持しておく。次に信号線105 を選択回路4で選択
しレジスタ5に格納する。また、信号線107 を選択回路
6で選択しレジスタ7に格納する。
【0031】そして、レジスタ5,7によって全てのワ
ードアドレスと、全てのビットアドレスが網羅されるよ
うに信号線105 ,107 に値を与える。以上の動作を行う
ことにより、全ワード、全ビットに“0”が書込まれ初
期化が行われる。
【0032】次に、測定であるが、ここでは従来の技術
の項で示した図4のプログラムを走行させた場合を例に
挙げて説明を行う。処理の過程は、最初に処理A→処理
C→処理Fと実行され、次に処理A→処理B→処理D→
処理Eを実行されたものとする。これは従来技術を用い
て測定した場合の過程と同じである。
【0033】ここで、具体的な動作を述べやすくするた
めに、IAは3ビットで構成されているものとし、処理
Aから処理FまでのそれぞれのIAにはa=000 ,b=
001,c=010 ,d=011 ,e=100 ,f=101 が対応
しているものとして以下の説明を行う。
【0034】尚、便宜上、RAM10を3ワード×4ビ
ットとみなして考える。即ち、レジスタ5は2ビット、
レジスタ7は4ビット、レジスタ9は4ビットであると
する。また、ライトイネーブルの各ビットとライトデー
タの各ビットとは1対1の対応をしているものとする。
【0035】ここで、IAを上記の様に3ビットである
と仮定した場合のデコーダ3の具体的な回路図を図7に
示す。レジスタ2の下位ビット数は1ビットであるとす
る。図7において、60はレジスタ1の内容を反転させ
る反転機能である。61は信号線103 を介して送出され
るレジスタ2の下位1ビットをデコードするデコード機
能である。
【0036】デコード機能61でデコードされた情報は
信号線602 ,603 を介して送出される。62,63,6
4,65は、デコード機能61の出力と、レジスタ1の
内容及び、この内容を反転した信号との各々の論理積を
とる論理積機能である。各論理積機能の出力はそれぞれ
信号線604 ,605 ,606 ,607 として送出される。信号
線604 をw,605 をx,606 をy,607 をzとしたと
き、信号線108 は(z,y,x,w)の4ビット列で構
成されるものとする。
【0037】実際の処理過程に応じて、RAM10にど
のような情報が書込まれてゆくか考える。先ず、処理A
を行うのでレジスタ2には処理AのIA=a=000 が格
納される。同時に処理Aは条件分岐命令であり、次の処
理Cに分岐する。よって、“分岐GO”であるためにレジ
スタ1には“1”が格納される。レジスタ5にはレジス
タ2の上位2ビット=00が読出される。これにより、
ライトアドレスは00ワードを指す。同時に、信号線10
3 には下位1ビットの“0”が読出される。デコード機
能61でデコードされる結果、信号線603 が論理的に
“1”となる。また、レジスタ1の出力は論理的に
“1”であるため、論理積機能65のみがオンとなり、
信号604 のみが論理的に“1”となる。即ち、信号線10
8 が先の対応より(0001)のビット列となり、レジスタ
7に格納される。ライトイネーブルの各ビットとライト
データの各ビットとが1対1で対応するRAMであると
考えているので、RAM10の00ワードは“0001”と
なる。
【0038】同様に処理Cが行われる。C=010 なの
で、レジスタ5が“01”となりライトアドレスとな
る。処理Cは条件分岐命令ではないから、レジスタ1=
0となる。デコーダ3の出力である信号線108 のビット
列は(0010)となるので、レジスタ7が“0010”とな
る。従って、処理C後の01ワードは“0010" となる。
【0039】以下同様にして、残の処理F→処理A→処
理B→処理Eを行い、各々対応するワードアドレスのラ
イトイネーブルが有効となったビットアドレスにのみ
“1”を書込んでゆくのである。
【0040】上記の処理が全て完了した時点で、RAM
10の内容は図8のようになっている。RAM10の内
容を、信号線104 をリードアドレスとして、信号線112
を介して読出し、レジスタ11に格納する。このリード
データより各IAにおいて“条件分岐GO”であったか、
または、“条件分岐命令でなかったか、又は分岐NOGO”
であったかの表を作成すれば、図9の様になる。
【0041】詳述すれば、図8の各アドレス対応する4
ビット81〜84のうち、ビット81は処理B,D,F
の実行の有無を示し、ビット82は処理B,D,Fの条
件分岐GOの有無を示す。また、ビット83は処理A,
C,の実行の有無を示し、ビット84は処理A,C,
の条件分岐GOの有無を示している。
【0042】そこで、この様な図8の内容(RAM10
の内容でもある)から、図9の示す如く、各処理A〜F
に対応した命令アドレスa〜fについての実行の有無及
び分岐の有無が一目で判ることとになるのである。すな
わち、処理Dは条件分岐命令であったが、分岐は行われ
ず、処理D→処理Fのステップは実行していないことが
容易に判かる。
【0043】本例においては、実施例としてIAを3ビ
ットであると仮定し、レジスタ2の上位2ビットでRA
M10のライトアドレスの制御を行い、下位1ビットと
レジスタ1の出力とによりライトイネーブルの制御を行
ったが、IAが汎用的に大きくなり、レジスタ2の上位
数ビット及び下位数ビットも本実施例より大きくなった
としても、同様の制御を行うことにより、条件分岐命令
における未評価のパスの発見は容易である。
【0044】
【発明の効果】以上説明したように本発明によれば、プ
ログラムの走行後の結果を出力、集計することにより、
従来複数回の測定を必要とした条件分岐命令に関する網
羅率を唯1回の測定により得ることが可能となるという
効果がある。
【0045】図4のプログラムの例では、従来2回(処
理Cからの移行に注目した場合と、処理Dからの移行に
注目した場合の2回)の測定を必要としたが、1回の測
定で前記の問題点である処理D→処理Fへの動作が未評
価であることを発見できるため、評価時間を大幅に削減
できるという効果がある。
【図面の簡単な説明】
【図1】本発明の実施例を示すブロック図である。
【図2】従来のソフトウェア網羅率測定装置のブロック
図である。
【図3】本発明の実施例に使用される8ワード×1ビッ
トのRAMを4ワード×2ビットとみなして使用する場
合の例を示す図である。
【図4】網羅率測定の為野プログラムのフローチャート
の例を示す図である。
【図5】従来技術におけるプログラム走行後のRAM1
0の内容を示す図である。
【図6】従来技術におけるプログラム走行後のソフトウ
ェア網羅率を示す図である。
【図7】図1におけるデコータ3の具体的回路図であ
る。
【図8】本発明の実施例におけるプログラム走行後のR
AM10の内容を示す図である。
【図9】本発明の実施例におけるプログラム走行後のソ
フトウェア網羅率を示す図である。
【符号の説明】
1 条件分岐命令実行情報レジスタ(REG ) 2 ソフトウェア命令語アドレスレジスタ(ICR ) 3 デコーダ(ライトイネーブル生成回路:ICDC) 10 RAM
フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 11/28

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】 条件分岐命令を含むソフトウェア命令を
    有するプログラムを実行する情報処理装置における実行
    ソフトウェアの網羅率を測定するソフトウェア網羅率測
    定装置であって、 実行すべきソフトウェア命令の命令語のアドレス(I
    A)を格納する手段と、 前記ソフトウェア命令が条件分岐命令である場合に分岐
    が行われたか否かを示す分岐実行情報を格納する手段
    と、 前記アドレス(IA)格納手段に格納された前記命令語
    のアドレスに対応して前記分岐実行情報に対応するビッ
    ト位置に前記命令語の実行を示す情報を格納する情報記
    憶手段と、 この情報記憶手段にnワード×mビット(n,mは1以
    上の任意の整数)の情報を書き込めるとしたとき、前記
    分岐実行情報と前記アドレスの一部とから生成されるラ
    イトイネーブルが示すビット位置に前記命令語の実行を
    示す情報を格納することにより、前記アドレスにα(α
    は2以上の任意の整数)語分の前記命令語の実行を示す
    情報を格納させて、その情報量を(n×α)ワード×
    (m÷α)ビットとみなして使用する手段とを含み、 前記情報記憶手段の内容を読出してソフトウェア網羅率
    を判定するようにしたことを特徴とするソフトウェア網
    羅率測定装置。
JP02410330A 1990-12-13 1990-12-13 ソフトウェア網羅率測定装置 Expired - Fee Related JP3123758B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP02410330A JP3123758B2 (ja) 1990-12-13 1990-12-13 ソフトウェア網羅率測定装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP02410330A JP3123758B2 (ja) 1990-12-13 1990-12-13 ソフトウェア網羅率測定装置

Publications (2)

Publication Number Publication Date
JPH04215145A JPH04215145A (ja) 1992-08-05
JP3123758B2 true JP3123758B2 (ja) 2001-01-15

Family

ID=18519508

Family Applications (1)

Application Number Title Priority Date Filing Date
JP02410330A Expired - Fee Related JP3123758B2 (ja) 1990-12-13 1990-12-13 ソフトウェア網羅率測定装置

Country Status (1)

Country Link
JP (1) JP3123758B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102506197B1 (ko) * 2020-11-12 2023-03-06 백종균 목조주택용 석재 커튼월 마감판 구조물 및 이의 시공방법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61153737A (ja) * 1984-12-27 1986-07-12 Nec Corp デ−タ処理装置
JPH02155052A (ja) * 1988-12-07 1990-06-14 Nec Eng Ltd トレース装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102506197B1 (ko) * 2020-11-12 2023-03-06 백종균 목조주택용 석재 커튼월 마감판 구조물 및 이의 시공방법

Also Published As

Publication number Publication date
JPH04215145A (ja) 1992-08-05

Similar Documents

Publication Publication Date Title
US5155853A (en) Data processor operating in a vector interrupt mode and register bank switching mode with selected bank for interrupt processing
KR960001948B1 (ko) 에러 조정 및 테스트 기능을 가진 프로그램 가능 메모리 제어 방법 및 장치
KR19990083241A (ko) 동기식 파이프라인 버스트 메모리 및 그 동작 방법
JPS6322336B2 (ja)
JPH0527971A (ja) 情報処理装置
JP3823026B2 (ja) 集積回路における性能パラメータを指定する回路および方法
JP3123758B2 (ja) ソフトウェア網羅率測定装置
JPS60258792A (ja) ダイナミツクram
US5864877A (en) Apparatus and method for fast forwarding of table index (TI) bit for descriptor table selection
JP3507193B2 (ja) ロード・ストア命令処理装置
JPH08249041A (ja) 数値制御装置
JPS6011943A (ja) テストプログラム検証方式
JP2003208797A (ja) 半導体装置及び該半導体装置のテスト方法
JPS6220960Y2 (ja)
JPH0743668B2 (ja) アクセス制御装置
JPH0128965B2 (ja)
EP0057067A2 (en) Odd byte memory addressing
JPS6184749A (ja) プロセツサ保守装置
JPH03113659A (ja) キャッシュメモリ試験方法
JPH0635748A (ja) デバッグ方法およびデバッグ装置
JPS60193046A (ja) 命令例外検出方式
JPH02155052A (ja) トレース装置
JPH0145651B2 (ja)
JPH05151102A (ja) マイクロコンピユータテスト回路
JPH05173779A (ja) デジタル演算集積回路

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19970318

LAPS Cancellation because of no payment of annual fees