JPH0496145A - ソフトウェアのテストデータ網羅率測定方法及びその装置 - Google Patents

ソフトウェアのテストデータ網羅率測定方法及びその装置

Info

Publication number
JPH0496145A
JPH0496145A JP2209931A JP20993190A JPH0496145A JP H0496145 A JPH0496145 A JP H0496145A JP 2209931 A JP2209931 A JP 2209931A JP 20993190 A JP20993190 A JP 20993190A JP H0496145 A JPH0496145 A JP H0496145A
Authority
JP
Japan
Prior art keywords
intermediate language
program
storage device
test data
source program
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
JP2209931A
Other languages
English (en)
Inventor
Toshiyuki Ishizuka
石塚 利幸
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 JP2209931A priority Critical patent/JPH0496145A/ja
Publication of JPH0496145A publication Critical patent/JPH0496145A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はソフトウェアのテストデータ網羅率測定方法及
びその装置に関する。
〔従来の技術〕
従来、この種の技術では、シンボリックデバッガを用い
て、1行ずつソースプログラムのトレースを行っていた
。そのため、テストデータがソースプログラムの全体の
何%を実行しているかがわからなかった。
〔発明が解決しようとする課題〕
上述した従来のソフトウェアのテストデータ網羅率測定
方法は、テストデータのソースプログラムの網羅率がわ
かりに<<、そのためテストデータの信頼性が低下する
という問題点があった。
本発明の目的は、テストデータのソースプログラムの網
羅率が容易にわかり、テストデータの有効性を数値で表
現することができ、テストデータの信頼性が向上するソ
フトウェアのテストデータ網羅率測定方法及びその装置
を提供することにある。
〔課題を解決するための手段〕
第1の発明のソフトウェアのテストデータ網羅率測定装
置は、 ソースプログラムを記憶するソースプログラム記憶装置
と、 前記ソースプログラムの命令に対応したシンボリックな
中間言語を記憶する中間言語記憶装置と、 前記ソースプログラムを中間言語プログラムにコンパイ
ルするソースプログラム変換装置と、コンパイルされた
前記中間言語プログラムを記憶する中間言語プログラム
記憶装置と、中間言語の動作を記憶する中間言語動作記
憶装置と、 テストデータを記憶するテストデータ記憶装置と、 前記中間言語プログラムをトレースする中間言語プログ
ラム作動装置と、 前記中間言語プログラムの動作結果を記憶する動作結果
記憶装置と、 前記動作結果を解析する結果解析装置と、前記解析結果
を記憶する解析結果記憶装置とを含んでいる。
また、第2の発明のソフトウェアのテストデータ網羅率
測定方法は、 ソースプログラムを記憶するソースプログラム記憶装置
と、 前記ソースプログラムの命令に対応したシンボリックな
中間言語を記憶する中間言語記憶装置と、 前記ソースプログラムを中間言語プログラムにコンパイ
ルするソースプログラム変換装置と、中間言語の動作を
記憶する中間言語動作記憶装置と、 テストデータを記憶するテストデータ記憶装置と、 前記中間言語プログラムをトレースする中間言語プログ
ラム作動装置と、 前記動作結果を解析する結果解析装置とを含み、前記ソ
ースプログラム変換装置により、前記中間言語記憶装置
に記憶された中間言語と前記ソースプログラム記憶装置
に記憶されたソースプログラムとを読み出して中間言語
プログラムにコンパイルし、前記中間言語動作記憶装置
により、前記中間言語プログラムにテストデータ記憶装
置に記憶されたテストデータを入力し、前記中間言語動
作記憶装置に記憶された動作通りに前記中間言語プログ
ラムを実行し、前記結果解析装置により、前記実行結果
から、動作した中間言語と動作しなかった中間言語の解
析、動作した中間言語の割合の算出、及び中間言語プロ
グラムの指定された箇所でのデータの抽出を行うように
構成されている。
〔実施例〕
次に、本発明の実施例について図面を参照して説明する
第1図は本発明の一実施例のブロック図である。
第1図に示すソフトウェアのテストデータ網羅率測定装
置は、ソースプログラムを記憶するソースプログラム記
憶装置1−1、ソースプログラムの命令に対応したシン
ボリックな中間言語を記憶する中間言語記憶装置1−2
、ソースプログラムを中間言語にコンパイルするソース
プログラム変換装置1−3、コンパイルされたプログラ
ムを記憶する中間言語プログラム記憶装置1−4、中間
言語の動作を記憶する中間言語動作記憶装置1−5、テ
ストデータを記憶するテストデータ記憶装置1−6、中
間言語プログラムをトレースする中間言語プログラム作
動装置1−7、中間言語プログラムの動作結果を記憶す
る動作結果記憶装置1−8、動作結果を解析する結果解
析装置1−9、解析結果を記憶する解析結果記憶装置1
−10から構成されている。
次に、各部の機能を説明する。
ソースプログラム記憶装置1−1は、ソースプログラム
を記憶する。中間言語記憶装置1−2は、ソースプログ
ラムの命令に対応するシンボリックな言語が記憶されて
いる。ソースプログラム変換装置1−3はソースプログ
ラム記憶装置1−1に記憶されたソースプログラムを中
間言語プログラムにコンパイルする。中間言語プログラ
ム記憶装置1−4は、ソースプログラム変換装置1−3
がコンパイルした中間言語プログラムを記憶する。中間
言語動作記憶装置1−5は、中間言語の動作を算術演算
、真理値表などを用いて記憶する。テストデータ記憶装
置1−6は、テストデータを記憶する。中間言語プログ
ラム作動装置1−7は中間言語プログラム記憶装置1−
4に記憶された中間言語プログラムにテストデータ記憶
装置1−6に記憶されたテストデータを入力し、中間言
語動作記憶装置1−5に記憶された動作通りに中間言語
プログラムを実行する。動作結果記憶装置1−8は、中
間言語プログラム作動装置1−7の実行結果を記憶する
。結果解析装置1−9は、動作結果記憶装置1−8に記
憶された実行結果から、動作した中間言語と動作しなか
った中間言語の解析、動作した中間言語の割合の算出、
及び中間言語プログラムの指定された箇所でのデータの
抽出を行う。解析結果記憶装置1−10は、結果解析装
置1−9の解析結果を記憶する。
次に、動作を説明する。
三つの整数値の最大値、最小値を求めるソースプログラ
ムに対して、テストデータA、B、Cの網羅率を測定す
る場合の動作について説明する。
ソースプログラム記憶装置1−1には、第2図に示すよ
うな三つの整数値の最大値、最小値を求めるソースプロ
グラムが記憶されている。なお、第2図に示したソース
プログラムはC言語で記述されたものである。
中間言語記憶装置1−2には、第3図に示すようなシン
ボリックな中間言語が記憶されている。
この中間言語は、ソースプログラムの命令に対応するも
のである。第3図(a)に示す言語はif文に対応する
中間言語であり、第3図(b)に示す言語は代入文(=
)に対応する中間言語である。また、第3図(C)に示
す言語は比較演算(〉)に対応する中間言語であり、第
3図(d)に示す言語は比較演算(<)に対応する中間
言語である。
ソースプログラム変換装置1−3は、第2図に示したソ
ースプログラムを第4図で示すようにコンパイルする。
中間言語プログラム記憶装置1−4は、コンパイルされ
た第4図に示す中間言語プログラムを記憶する。中間言
語動作記憶装置1−5には、第3図に示した中間言語の
動作が算術動作、真理値表などを用いて記憶されている
以下に第3図に示した中間言語の動作を述べる。
第3図(a)に示す言語は、入力rifJが“1” (
条件成立)のとき、出力r t h e nJに“1”
、出力relseJに“0”を出力し、入力rifJが
“0” (条件不成立)のとき、出力r t h e 
nJに“0”、出力relseJに“1”を出力する。
第3図(b)の言語は、入力rcJが“1”のとき、入
力「i」をそのまま出力roJに出力し、入力rcJが
“O”のとき、入力「i」が何であっても出力「o」は
前の値を保持し続ける。第3図(C)の言語は、入力r
XJと入力rYJと比較し、rXJがrYJより大きい
ければ出力roJに“1”を出力し、rXJがrYJよ
り小さければ出力「0」に“O”を出力する。第3図(
d)の言語の動作は、第3図(C)の言語と全く逆であ
る。
テストデータ記憶装置1−5には、いま、A=5、B=
4、C=1というデータが記憶されているものとする。
中間言語プログラム作動装置1−7は、テストデータ記
憶装置1−6に記憶されたデータを、中間言語プログラ
ム記憶装置1−4に記憶される第4図に示した中間言語
プログラムに入力し、中間言語プログラムを作動させる
。その際に中間言語プログラムの各命令の動作は、中間
言語動作記憶装置1−5に記憶されているものに従う。
動作結果記憶装置1−8は、第5図に示すように、中間
言語プログラム作動装置の動作結果を記憶する。第5図
(a)の動作結果は中間言語4−1の動作結果を示し、
第5図(b)の動作結果は中間言語4−2の動作結果を
示し、第5図(C)の動作結果は中間言語4−3の動作
結果を示す。第4図に示すその他の中間言語も同様に記
憶されている。
結果解析装置1−9は、第5図に示された内容から動作
した中間言語、動作しなかった中間言語を解析する。例
えば、第5図(a)の動作結果は、「X」に“5”、「
Y」に“4”が入力され、その結果roJに“1”が出
力されたので、中間言語4−1は動作したと判断される
。同様に第5図(b)の動作結果より中間言語4−2は
動作したと判断される。また、第5図(C)の動作結果
は、「i」=“4”が入力されるが、「C」に“O”が
入力されているため、「0」に「i」の入力“4”が出
力されない。よって、中間言語4−3は動作しなかった
と判断される。すなわち、第4図に示すΔ印の中間言語
が上述したように結果解析装置1−9が動作しなかった
と解析した中間言語である。
結果解析装置1−9は上述の解析結果より、動作した中
間言語の割合を求める。この場合、動作した中間言語は
10個、動作しなかった中間言語は3個なので、網羅率
は、75.3%になる。また、結果解析装置1−9は、
中間言語プログラムの実行途中の経過の値を見たいとき
、その箇所をキーボード入力で指定することにより、そ
の値を取り出すことができる。例えば、「Ul、0」と
指定すると、データが中間言語4−1を流れたときの値
が、第5図(a)の動作結果に示すように、動作結果記
憶装置1−8に記憶されているので、′1”という値を
取り出すことができる。このようにして解析結果記憶装
置1−10は、上記の解析結果を記憶する。
〔発明の効果〕
以上説明したように、本発明は、テストデータを中間言
語にコンパイルされたプログラムに入力し、実行するこ
とにより、テストデータの有効性を数値で表現すること
ができ、テストデータの信頼性が向上するという効果を
有する。
【図面の簡単な説明】
第1図は本発明の一実施例の装置構成図、第2図は三つ
の整数A、B、Cの最大値及び最小値を求メるC 言語
のソースプログラムを示す図、第3図は中間言語記憶装
置に記憶された中間言語を示す図、第4図はソースプロ
グラム変換装置によって変換された中間言語プログラム
を示す図、第5図は動作結果記憶装置に記憶された中間
言語プログラムの動作結果を示す図である。 1−1・・・・・・ソースプログラム記憶装置、1−2
・・・・・・中間言語記憶装置、1−3・・・・・・ソ
ースプログラム変換装置、1−4・・・・・・中間言語
プログラム記憶装置、1−5・・・・・・中間言語動作
記憶装置、1−6・・・・・・テストデータ記憶装置、
1−7・・・・・・中間言語プログラム作動装置、1−
8・・・・・・動作結果記憶装置、1−9・・・・・・
結果解析装置、1−10・・・・・・解析結果記憶装置
、4−1〜4−3・・・・・・中間言語。 代理人 弁理士  内 原  晋 洋 乙ρノ ロ6ノ 乙Cノ 」 図

Claims (1)

  1. 【特許請求の範囲】 1、ソースプログラムを記憶するソースプログラム記憶
    装置と、 前記ソースプログラムの命令に対応したシンボリックな
    中間言語を記憶する中間言語記憶装置と、 前記ソースプログラムを中間言語プログラムにコンパイ
    ルするソースプログラム変換装置と、コンパイルされた
    前記中間言語プログラムを記憶する中間言語プログラム
    記憶装置と、 中間言語の動作を記憶する中間言語動作記憶装置と、 テストデータを記憶するテストデータ記憶装置と、 前記中間言語プログラムをトレースする中間言語プログ
    ラム作動装置と、 前記中間言語プログラムの動作結果を記憶する動作結果
    記憶装置と、 前記動作結果を解析する結果解析装置と、 前記解析結果を記憶する解析結果記憶装置とを含むこと
    を特徴とするソフトウェアのテストデータ網羅率測定装
    置。 2、ソースプログラムを記憶するソースプログラム記憶
    装置と、 前記ソースプログラムの命令に対応したシンボリックな
    中間言語を記憶する中間言語記憶装置と、 前記ソースプログラムを中間言語プログラムにコンパイ
    ルするソースプログラム変換装置と、中間言語の動作を
    記憶する中間言語動作記憶装置と、 テストデータを記憶するテストデータ記憶装置と、 前記中間言語プログラムをトレースする中間言語プログ
    ラム作動装置と、 前記動作結果を解析する結果解析装置とを含み、前記ソ
    ースプログラム変換装置により、前記中間言語記憶装置
    に記憶された中間言語と前記ソースプログラム記憶装置
    に記憶されたソースプログラムとを読み出して中間言語
    プログラムにコンパイルし、前記中間言語動作記憶装置
    により、前記中間言語プログラムにテストデータ記憶装
    置に記憶されたテストデータを入力し、前記中間言語動
    作記憶装置に記憶された動作通りに前記中間言語プログ
    ラムを実行し、前記結果解析装置により、前記実行結果
    から、動作した中間言語と動作しなかった中間言語の解
    析、動作した中間言語の割合の算出、及び中間言語プロ
    グラムの指定された箇所でのデータの抽出を行うことを
    特徴とするソフトウェアのテストデータ網羅率測定方法
JP2209931A 1990-08-08 1990-08-08 ソフトウェアのテストデータ網羅率測定方法及びその装置 Pending JPH0496145A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2209931A JPH0496145A (ja) 1990-08-08 1990-08-08 ソフトウェアのテストデータ網羅率測定方法及びその装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2209931A JPH0496145A (ja) 1990-08-08 1990-08-08 ソフトウェアのテストデータ網羅率測定方法及びその装置

Publications (1)

Publication Number Publication Date
JPH0496145A true JPH0496145A (ja) 1992-03-27

Family

ID=16581029

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2209931A Pending JPH0496145A (ja) 1990-08-08 1990-08-08 ソフトウェアのテストデータ網羅率測定方法及びその装置

Country Status (1)

Country Link
JP (1) JPH0496145A (ja)

Similar Documents

Publication Publication Date Title
USRE38104E1 (en) Method and apparatus for resolving data references in generated code
JP2004062858A (ja) データ処理装置内のアプリケーション・コードのコンパイル
CN104407968A (zh) 一种通过静态分析测算代码指令最长运行时间的方法
CA2030227A1 (en) Assembly language programming potential error detection scheme sensing apparent inconsistency with a previous operation
JPH0496145A (ja) ソフトウェアのテストデータ網羅率測定方法及びその装置
Livadas et al. System dependence graphs based on parse trees and their use in software maintenance
JP5974444B2 (ja) 情報処理システム、情報処理方法、情報処理プログラム、記録媒体
KR100248435B1 (ko) 칠 언어에 대한 위험한 제어 이동 탐지방법
JPH0193826A (ja) 高級言語プログラムのダイナミックステップカウント方式
JP3167386B2 (ja) プログラム自動並列化方法
JPS63289654A (ja) プログラム分岐命令モニタ方式
CN117520191A (zh) 一种基于程序路径的测试完备性检查方法、设备及存储介质
JPH03144832A (ja) プリコンパイラ言語プログラムのシンボリックデバッグ装置
JPH0353335A (ja) コンパイラの処理方式
JPH07311692A (ja) デバッグ方法
JPH0239241A (ja) コンパイラ
Sudhakar et al. Reengineering Legacy to Modern System with One Time Checker for Information System Evolution
JPH0488438A (ja) 高級言語による原始プログラムに対するデバッガの一命令実行方式
JPH0340137A (ja) 組込み手続き実行時のアーギュメントの値の正当性の検査に対する範囲指定方式
JPH02207343A (ja) デバッグ装置
JPH04358264A (ja) ベクトル化処理方式
JPS616722A (ja) 文の実行費用の計算方式
JPH03241430A (ja) 中間言語の生成システム
JPH04209029A (ja) 並列処理プログラム翻訳処理装置
JPH01297737A (ja) プログラム実行時間推定方式