JPH01118936A - Measurement system for program comprehension rate - Google Patents
Measurement system for program comprehension rateInfo
- Publication number
- JPH01118936A JPH01118936A JP62276358A JP27635887A JPH01118936A JP H01118936 A JPH01118936 A JP H01118936A JP 62276358 A JP62276358 A JP 62276358A JP 27635887 A JP27635887 A JP 27635887A JP H01118936 A JPH01118936 A JP H01118936A
- Authority
- JP
- Japan
- Prior art keywords
- address
- instruction
- branch
- module
- 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
Links
- 238000005259 measurement Methods 0.000 title claims description 38
- 238000011156 evaluation Methods 0.000 claims abstract description 46
- 238000000034 method Methods 0.000 claims abstract description 14
- 238000004458 analytical method Methods 0.000 claims description 14
- 238000006243 chemical reaction Methods 0.000 claims description 9
- 230000004044 response Effects 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 2
- 238000000691 measurement method Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Abstract
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は計算機システムにおけるプログラム網羅率測定
方式に関し、特に複数のモジュールから構成される評価
対象プログラムを実行した場合において、少なくとも1
回以上実行された命令の全命令数に対する比率を測定す
る方式に関する。Detailed Description of the Invention [Field of Industrial Application] The present invention relates to a method for measuring program coverage in a computer system, and in particular, when a program to be evaluated consisting of a plurality of modules is executed, at least one
This invention relates to a method for measuring the ratio of instructions executed more than once to the total number of instructions.
プログラムを新規に開発した場合などにおいては、その
プログラムが所期の目的を達成しているか否かを確認す
るために、試験データなどを用いてそのプログラムを評
価することが行なわれる。When a new program is developed, the program is evaluated using test data or the like in order to confirm whether the program achieves its intended purpose.
通常、このプログラムの評価は、評価担当者が評価対象
プログラム内の全命令を41ilf!できるように幾つ
かの評価項目を予め考え、これらの評価項目について試
験を行ない、全ての評価項目で満足する結果が得られた
とき、評価完了と判断していた。Normally, when evaluating this program, the person in charge of evaluation evaluates all instructions in the program to be evaluated using 41ilf! We thought of several evaluation items in advance, conducted tests on these evaluation items, and judged that the evaluation was complete when satisfactory results were obtained for all evaluation items.
(発明が解決しようとする問題点〕
しかしながら、評価対象プログラム内の全命令をM4羅
できるような評価項目を事前に考えることは極めて困難
であり、従って、予め考えた評価項目を全て満足したこ
とをもって、評価対象プログラムの評価が済んだとは言
えないという問題点があった。(Problem to be solved by the invention) However, it is extremely difficult to think of evaluation items in advance that can cover all the instructions in the program to be evaluated, and therefore it is extremely difficult to think of evaluation items in advance that can cover all the instructions in the program to be evaluated. There was a problem in that it could not be said that the evaluation of the target program had been completed.
本発明はこのような事情に鑑みて為されたものであり、
その目的は、評価対象プログラムの評価中に少なくとも
1回以上実行された命令の比率を測定する方式を提供す
ることより、評価対象プログラムの評価度合を正確に知
ることができるようにすることにある。The present invention has been made in view of these circumstances,
The purpose of this is to provide a method for measuring the ratio of instructions executed at least once during the evaluation of a program to be evaluated, thereby making it possible to accurately determine the degree of evaluation of the program to be evaluated. .
本発明は上記目的を達成するために、
分岐命令割込みモードの設定に応答して、プログラム中
の分岐命令の実行により、分岐後最初の命令が実行され
る前に分岐前アドレスと分岐後アドレスとを保持して内
部割込みを発生させる分岐命令割込機構を有する計算機
システムにおいて、絶対アドレスを基に、主記憶上に存
在する一つ以上のモジエールから構成され且つ全モジュ
ールの先頭部に該モジュールの先頭を示し且つモジュー
ル名を含むモジエール先頭識別語が付加された評価対象
プログラムをサーチし、前記絶対アドレスを含むモジュ
ールの前記モジエール先!II別語を得るモジュールサ
ーチ手段と、
該モジュールサーチ手段によって得られた前記モジュー
ル先頭識別語に基づき、絶対アドレスをモジュール名と
モジュール内相対アドレスとに変換するアドレス変換手
段と、
前記分岐後アドレスを記憶する分岐後アドレス記憶手段
と、
実行済命令領域情報記憶手段と、
前記分岐命令割込機構による内部割込み発生時、前記分
岐命令割込機構に保持された分岐前アドレスと、前記分
岐後アドレス記憶手段に記憶された分岐後アドレスとで
示される範囲を実行済命令領域情報として前記実行済命
令領域情報記憶手段に記憶させると共に、前記分岐命令
割込機構に保持された分岐後アドレスを前記分岐後アド
レス記憶手段に記憶させる網羅率測定制御手段と、主記
憶上での評価対象プログラムの全命令語のアドレスを得
る命令語解析手段と、
該命令語解析手段で得られた評価対象プログラムの全命
令語のアドレスと、前記実行済命令領域情報記憶手段に
記憶された実行済命令領域情報とに基づいて、評価対象
プログラム、における実行済命令の比率をプログラム#
141r!率として算出して出力装置から出力すると共
に、実行済命令と未実行命令とが識別できるように且つ
前記アドレス変換手段によりモジュール名とモジュール
内相対アドレスとに変換した命令語のアドレスを前記出
力装置から出力する測定結果編集出力制御手段とを有す
る。In order to achieve the above object, the present invention executes a branch instruction in a program in response to the setting of a branch instruction interrupt mode, and sets a pre-branch address and a post-branch address before the first instruction after the branch is executed. In a computer system that has a branch instruction interrupt mechanism that maintains a branch instruction and generates an internal interrupt, a computer system that is composed of one or more modules existing in main memory and that stores the module's information at the beginning of every module based on an absolute address. Search for the evaluation target program to which the module name initial identifier indicating the beginning and including the module name is added, and search for the module destination of the module including the absolute address! II module search means for obtaining another word; address conversion means for converting an absolute address into a module name and an intra-module relative address based on the module head identifier obtained by the module search means; post-branch address storage means for storing; executed instruction area information storage means; pre-branch address held in the branch instruction interrupt mechanism when an internal interrupt occurs by the branch instruction interrupt mechanism; and post-branch address storage. The range indicated by the post-branch address stored in the means is stored as executed instruction area information in the executed instruction area information storage means, and the post-branch address held in the branch instruction interrupt mechanism is stored as executed instruction area information. Coverage rate measurement control means for storing in address storage means, instruction word analysis means for obtaining addresses of all instruction words of the evaluation target program on main memory, and all instructions of the evaluation target program obtained by the instruction word analysis means. Based on the address of the word and the executed instruction area information stored in the executed instruction area information storage means, the ratio of executed instructions in the program to be evaluated is determined by program #.
141r! At the same time, the address of the instruction word is calculated as a ratio and outputted from the output device, and the address of the instruction word is converted into a module name and an intra-module relative address by the address conversion means so that executed instructions and unexecuted instructions can be distinguished. and a measurement result editing/output control means for outputting from the measurement result editing/output control means.
評価対象プログラム中の分岐命令が実行されると、分岐
命令割込機構によって分岐前アドレスと分岐後アドレス
とが保持されて内部割込みが発生される。この内部割込
みが発生すると、’am率測定制御手段は、分岐命令割
込機構に保持された分岐前アドレスと、分岐後アドレス
記憶手段に記憶されていた前回の分岐後アドレスとで示
される範囲を実行済命令領域情報として実行済命令領域
情報記憶手段に記憶させると共に、分岐命令割込機構に
今回保持された分岐後アドレスを分岐後アドレス記憶手
段に記憶させる。このような処理は、評価対象プログラ
ム中の分岐命令が実行される毎に行なわれ、その結果、
評価対象プログラムの実行終了時には、評価対象プログ
ラムの領域のうち実行済命令の領域を示す情報が実行済
命令領域情報記憶手段に記憶されることになる。その後
、測定結果編集出力制御部段によって、命令語解析手段
から得た評価対象プログラムの全命令語のアドレスと、
実行済命令領域情報記憶手段に記憶された実行済命令領
域情報とに基づいて、評価対象プログラムにおける実行
済命令の比率がプログラム網羅率として算出されると共
に、実行済命令と未実行命令とが識別できるように且つ
アドレス変換手段によりモジュール名とモジュール内相
対アドレスとに変換された命令語のアドレスが出力装置
から出力される。When a branch instruction in the program to be evaluated is executed, the branch instruction interrupt mechanism holds the pre-branch address and post-branch address and generates an internal interrupt. When this internal interrupt occurs, the 'am rate measurement control means calculates the range indicated by the pre-branch address held in the branch instruction interrupt mechanism and the previous post-branch address stored in the post-branch address storage means. The executed instruction area information is stored in the executed instruction area information storage means, and the post-branch address currently held by the branch instruction interrupt mechanism is stored in the post-branch address storage means. Such processing is performed every time a branch instruction in the program to be evaluated is executed, and as a result,
When the execution of the evaluation target program ends, information indicating the area of executed instructions in the area of the evaluation target program is stored in the executed instruction area information storage means. After that, the measurement result editing output control section uses the addresses of all the instruction words of the evaluation target program obtained from the instruction word analysis means,
Based on the executed instruction area information stored in the executed instruction area information storage means, the ratio of executed instructions in the evaluation target program is calculated as a program coverage rate, and executed instructions and unexecuted instructions are identified. The address of the instruction word converted into a module name and an intra-module relative address by the address conversion means is output from the output device.
次に本発明の実施例について図面を参照して説明する。 Next, embodiments of the present invention will be described with reference to the drawings.
第1図は本発明のプログラム網羅率測定方式の一実施例
のブロック図である0本実施例のプログラム網羅率測定
方式は、入力操作が行なわれる入力装置1と、プログラ
ム網羅率測定装置2と、中央処理装置3と、主記憶装置
4と、出力装置5とで構成されている。FIG. 1 is a block diagram of an embodiment of the program coverage measurement method of the present invention. , a central processing unit 3, a main storage device 4, and an output device 5.
中央処理装置3内には、プログラム走行時の優先レベル
の指定を含む分岐命令割込みモードの設定に応答して、
前記指定された優先レベルのプログラム中の分岐命令の
実行により、分@後最初の命令が実行される前に前記優
先レベルと分岐前アドレスと分岐後アドレスとを保持し
て内部割込みを発生させる分岐命令割込機構30が設け
られている。また、プログラム網羅率測定装置2は、入
力情報解析部20と、y4羅車側定制御部21と、優先
レベル毎に分岐後アドレスを格納し得る分岐後アドレス
記憶部22と、実行済命令領域情報記憶部23と、測定
結果編集出力制御部24と、命令語解析部25と、網羅
率算出部26と、モジュールサーチ部27と、アドレス
変換部28とを有する。In the central processing unit 3, in response to the setting of the branch instruction interrupt mode including the specification of the priority level during program execution,
A branch that maintains the priority level, pre-branch address, and post-branch address and generates an internal interrupt by executing a branch instruction in the program with the specified priority level, before the first instruction after the minute is executed. An instruction interrupt mechanism 30 is provided. The program coverage measuring device 2 also includes an input information analysis section 20, a y4 vehicle side fixed control section 21, a post-branch address storage section 22 that can store post-branch addresses for each priority level, and an executed instruction area. It has an information storage section 23, a measurement result editing output control section 24, a command analysis section 25, a coverage calculation section 26, a module search section 27, and an address conversion section 28.
主記憶装置4には、複数のモジュール41.42゜・・
・、 4nから構成される評価対象プログラムPRが存
在し、それぞれのモジュール41.42.・・・、 4
n(7)先頭アドレスは31.S2.・・・、Sn番地
であり、同じく終了アドレスはEl、E2.・・・、E
n番地である。そして、各モジュールの先頭アドレスS
1、S2.・・・、Snには、モジュールの先頭である
ことを示し且つそれぞれに対応するモジュール名(aa
aaa+bbbbb+ ”+nnnnn)を含むモジュ
ール先頭識別語41M、42M、・・・、4nMが付加
されている。The main storage device 4 includes a plurality of modules 41.42°...
There is an evaluation target program PR consisting of modules 41, 42, 4n, and 4n. ..., 4
n(7) The first address is 31. S2. . . , the Sn address, and the ending address is El, E2 . ...,E
It is address n. Then, the start address S of each module
1, S2. ..., Sn indicates the beginning of the module and the corresponding module name (aa
Module head identification words 41M, 42M, . . . , 4nM including aaa+bbbbb+”+nnnnn) are added.
なお、評価対象プログラムPRのプログラム走行時の優
先レベルは(1)とする。Note that the priority level of the evaluation target program PR during program running is (1).
次に、このように構成された本実施例のプログラム網羅
率測定方式の動作について説明する。Next, the operation of the program coverage measurement method of this embodiment configured as described above will be explained.
本実施例では、主記憶装置4に存在する複数の評価対象
プログラムのプログラム網羅率を、各々単独に測定する
こともでき、優先レベルの異なる複数の評価対象プログ
ラムの網羅率を同時に測定することもできる。今は、一
つの評価対象プログラムPRについて、そのプログラム
網羅率を測定するものとする。この場合、入力装置1か
らプログラム網羅率測定装置2の入力情報解析部20を
介して、評価対象プログラムPRの優先レベルである(
1)を、M4羅車側定制御部21に通知する。In this embodiment, the program coverage rates of multiple evaluation target programs existing in the main storage device 4 can be measured individually, and the coverage rates of multiple evaluation target programs with different priority levels can also be measured simultaneously. can. Assume now that the program coverage rate of one evaluation target program PR is to be measured. In this case, the priority level (
1) is notified to the M4 vehicle side constant control section 21.
この通知を受けた網羅率測定制御部21は、優先レベル
[11を分岐命令割込みモードにして分岐命令割込機構
30を起動すると共に、優先レベルfi+に対応する分
岐後アドレス記憶部22内の分岐後アドレスをゼロに初
期化する。この後、主記憶装置4内での評価対象プログ
ラムPRが起動される。Upon receiving this notification, the coverage measurement control unit 21 sets the priority level [11 to the branch instruction interrupt mode and activates the branch instruction interrupt mechanism 30, and also sets the branch instruction interrupt mechanism 30 to the branch address storage unit 22 corresponding to the priority level fi+. Initialize the rear address to zero. Thereafter, the evaluation target program PR in the main storage device 4 is started.
評価対象プログラムPRの実行中、分岐命令が実行され
ると、中央処理装置3の分岐命令割込機構30は、走行
中の優先レベル(1)1分岐後アドレス。When a branch instruction is executed during execution of the evaluation target program PR, the branch instruction interrupt mechanism 30 of the central processing unit 3 receives the running priority level (1) 1 post-branch address.
分岐前アドレスを保持して分岐先のアドレスで分岐命令
割込みを発生させ、プログラム網羅率測定装置2の網羅
率測定制御部21を動作させる。The pre-branch address is held, a branch instruction interrupt is generated at the branch destination address, and the coverage measurement control unit 21 of the program coverage measurement device 2 is operated.
網羅率測定制御部21は、分岐命令割込機構30に保持
された優先レベル(1)と分岐命令自身のアドレスであ
る分岐前アドレスとこの分岐命令の分岐先である分岐後
アドレスとを分岐命令割込11t130から受取り、分
岐後アドレス記憶部22内のその優先レベル111に対
応する分岐後アドレスから今回受取った分岐前アドレス
までの範囲を実行済命令領域情報として実行済命令領域
情報記憶部23内に記憶すると共に、今回受取った分岐
後アドレスを今回受取った優先レベル(1)に対応する
分岐後アドレス記憶部22内のエリアに記憶する。なお
、w4羅車側定制御部21は、優先レベル番号に対応す
る分岐後アドレス記憶部22内の分岐後アドレスがゼロ
に初期化されている最初の分岐命令割込み時には、分岐
命令割込機構30から通知された分岐後アドレスを今回
の優先レベルに対応させて分岐後アドレス記憶部22に
記憶するだけであって、実行済命令領域情報を実行済命
令領域情報記憶部23に記憶することはしない0以上の
動作を行なった後、網羅率測定制御部21は、評価対象
プログラムPRでの分岐後アドレスからの実行再開を分
岐命令割込機構30に指示し、次の分岐命令割込み待ち
となる。The coverage measurement control unit 21 converts the priority level (1) held in the branch instruction interrupt mechanism 30, the pre-branch address which is the address of the branch instruction itself, and the post-branch address which is the branch destination of this branch instruction into a branch instruction. Received from the interrupt 11t130, the range from the post-branch address corresponding to the priority level 111 in the post-branch address storage unit 22 to the pre-branch address received this time is stored in the executed instruction area information storage unit 23 as executed instruction area information. At the same time, the currently received post-branch address is stored in the area within the post-branch address storage unit 22 corresponding to the currently received priority level (1). Note that, at the time of the first branch instruction interrupt in which the post-branch address in the post-branch address storage unit 22 corresponding to the priority level number is initialized to zero, the w4-side setting control unit 21 interrupts the branch instruction interrupt mechanism 30. The post-branch address notified from the branch address is only stored in the post-branch address storage unit 22 in correspondence with the current priority level, and the executed instruction area information is not stored in the executed instruction area information storage unit 23. After performing 0 or more operations, the coverage rate measurement control unit 21 instructs the branch instruction interrupt mechanism 30 to resume execution from the post-branch address in the evaluation target program PR, and waits for the next branch instruction interrupt.
第2図は評価対象プログラムPRを構成する一つのモジ
エール41のアドレスPOからアドレスP4までのルー
チンを例にとって、実行済命令領域情報を実行済命令領
域情報記憶部23に記憶する際の動作を説明した図であ
る。モジュール41において、アドレスPo、pi、p
2.P3.P4は分岐命令の分岐先アドレス(分岐後ア
ドレス)であり、アドレスBl、B2.B3.B4は分
岐命令自身のアドレス(分岐前アドレス)である、まず
、モジュール41のアドレスPOに分岐する分岐命令が
実行されると、分岐命令割込機構30によって分岐命令
割込みが発生し、網羅率測定制御部21が動作する。m
車側測定制御部21は分岐命令割込機構30から通知さ
れる分岐後アドレスPOを分岐後アドレス記憶部22に
優先レベル(11に対応して記憶する(ここでは、アド
レスPoに分岐する前の実行済命令領域情報の記憶手順
の説明は省略している)。FIG. 2 explains the operation when storing executed instruction area information in the executed instruction area information storage section 23, taking as an example the routine from address PO to address P4 of one module 41 that constitutes the evaluation target program PR. This is a diagram. In module 41, addresses Po, pi, p
2. P3. P4 is the branch destination address (post-branch address) of the branch instruction, and addresses B1, B2 . B3. B4 is the address of the branch instruction itself (pre-branch address). First, when a branch instruction that branches to address PO of the module 41 is executed, a branch instruction interrupt is generated by the branch instruction interrupt mechanism 30, and the coverage rate is measured. The control unit 21 operates. m
The vehicle-side measurement control unit 21 stores the post-branch address PO notified from the branch instruction interrupt mechanism 30 in the post-branch address storage unit 22 in correspondence with the priority level (11) (here, the address PO before branching to the address Po (The explanation of the procedure for storing executed instruction area information is omitted.)
次に、モジュール41のアドレスB1での分岐命令が実
行され、分岐先であるアドレスP1で分岐命令割込みが
発生すると、網羅率測定制御部21は分岐命令割込機構
30から通知される分岐前アドレスBlと、このとき分
岐後アドレス記憶部22に優先レベル+1)対応に記憶
されたアドレスPoとの範囲を、実行済命令領域情報M
lとして実行済命令領域情報記憶部23に記憶し、その
後分岐前アドレスB1とともに通知された分岐後アドレ
スP1を分岐後アドレス記憶部22の優先レベル+11
対応の位置へ記憶する。同様に、アドレスB2.B3.
B4の分岐命令の実行によってそれぞれアドレスP2゜
P3.P4で分岐命令割込みが発生し、l1IIi率測
定制御部21によってそれぞれ実行済命令領域情報M2
.M3.M4が実行済命令領域情報記憶部23に記憶さ
れる。Next, when the branch instruction at address B1 of the module 41 is executed and a branch instruction interrupt occurs at address P1, which is the branch destination, the coverage measurement control unit 21 receives the pre-branch address notified from the branch instruction interrupt mechanism 30. The range between Bl and the address Po stored in correspondence with the priority level +1) in the post-branch address storage unit 22 at this time is stored in the executed instruction area information M.
1 in the executed instruction area information storage unit 23, and then the post-branch address P1 notified together with the pre-branch address B1 is set to the priority level +11 of the post-branch address storage unit 22.
Store in the corresponding location. Similarly, address B2. B3.
By executing the branch instruction B4, addresses P2, P3, . A branch instruction interrupt occurs at P4, and the l1IIi rate measurement control unit 21 updates each executed instruction area information M2.
.. M3. M4 is stored in the executed instruction area information storage section 23.
第3図は実行済命令領域情報記憶部23の記憶内容の一
例を示す図である。この実施例の実行済命令領域情報記
憶部23は、主記憶の各番地とI対Iで対応するピント
を有し、例えばビット番号0のピントは主記憶上の0番
地に、ビット番号10゜のビットは主記憶上の100番
地に対応している。FIG. 3 is a diagram showing an example of the stored contents of the executed instruction area information storage section 23. As shown in FIG. The executed instruction area information storage unit 23 of this embodiment has a focus corresponding to each address in the main memory on an I-to-I basis. The bit corresponds to address 100 on the main memory.
そして、実行法命令の番地に対応するビット番号のビッ
トはオンにされ、未実行命令の番地に対応するビットは
オフにされるように使用される0例えば、モジュール4
1を例にすると、その主記憶上での先頭アドレスは31
番地で終了アドレスはE1番地であるため、モジエール
41の実行済命令?il域情報は、第3図の実行済命令
領域情報記憶部23のビット番号S1からビット番号E
1の範囲の記憶エリア23−1に記憶される。実行済命
令領域情報記憶エリア23−1には、第2図で説明した
実行済命令領域情報M1.M2.M3.M4が存在し且
つ実行済命令領域情報Ml、M2.M3.M4に含まれ
る全てのビットはオンである。同様に、実行済命令領域
情報記憶エリア23−1のうち、モジュール41の実行
された他の命令領域に対応するビットも、実行済命令領
域情報Ml、 M2. M3. M4と同様にオンであ
り、その他のピント即ちモジュール41の未実行の命令
領域に対応するビットはオフになっている。Then, the bit of the bit number corresponding to the address of the executed method instruction is turned on, and the bit corresponding to the address of the unexecuted instruction is turned off.
1 as an example, its starting address on main memory is 31.
Since the end address is address E1, is it the executed instruction of module 41? The il area information is bit number S1 to bit number E of the executed instruction area information storage unit 23 in FIG.
1 is stored in the storage area 23-1. The executed instruction area information storage area 23-1 stores executed instruction area information M1. M2. M3. M4 exists and executed instruction area information Ml, M2 . M3. All bits contained in M4 are on. Similarly, bits corresponding to other executed instruction areas of the module 41 in the executed instruction area information storage area 23-1 are also stored as executed instruction area information M1, M2. M3. Like M4, it is on, and the other pinpoints, that is, the bits corresponding to unexecuted instruction areas of the module 41, are off.
さて、第1図において、評価対象プログラムPRの実行
終了後、優先レベルf1)の分岐命令割込みモード解除
指令が入力装置1から入力情報解析部20を介して網羅
率測定制御部21に通知されると、網羅率測定制御部2
1は、優先レベル(1)の分岐命令割込みモードを解除
して分岐命令割込機構30を停止すると共に、優先レベ
ル(1)の評価対象プログラムPRに対する測定結果を
編集出力するように測定結果編集出力制御部24に指示
する。Now, in FIG. 1, after the execution of the evaluation target program PR is completed, a branch instruction interrupt mode release command of priority level f1) is notified from the input device 1 to the coverage measurement control section 21 via the input information analysis section 20. and coverage measurement control section 2
1 cancels the branch instruction interrupt mode of the priority level (1) and stops the branch instruction interrupt mechanism 30, and also edits the measurement results so as to edit and output the measurement results for the evaluation target program PR of the priority level (1). Instruct the output control section 24.
この指示を受けた測定結果編集出力制御部24は、命令
語解析部25に対して81番地からEn番地までの全命
令語のアドレスを報告するように指示する。命令語解析
部25はこれに応答−して、31番地からEn番地まで
の全命令語を解釈して全命令語のアドレスを測定結果編
集出力制御部24に逐次報告する。Upon receiving this instruction, the measurement result editing output control section 24 instructs the instruction word analysis section 25 to report the addresses of all instruction words from address 81 to address En. In response to this, the instruction word analysis section 25 interprets all the instruction words from address 31 to En address and sequentially reports the addresses of all instruction words to the measurement result editing output control section 24.
測定結果編集出力制御部24は、命令語解析部25から
命令語のアドレスが報告されると、その報告されたアド
レスと、実行済命令領域情報記憶部23内のビットの状
態とに基づき、ビットがオフであるアドレス即ち未実行
命令のアドレスだけを出力すべきアドレスとして選択す
る。この選択されたアドレスは絶対アドレスであり、後
述するようにモジュールサーチ部27とアドレス変換部
28とを使用して、その絶対アドレスをモジュール名と
モジュール内相対アドレスに変換し、出力装置5から出
力する。When the instruction word address is reported from the instruction word analysis section 25, the measurement result editing output control section 24 edits the bit based on the reported address and the state of the bit in the executed instruction area information storage section 23. Only addresses for which OFF is selected, that is, addresses of unexecuted instructions, are selected as addresses to be output. This selected address is an absolute address, and as described later, the module search section 27 and address conversion section 28 are used to convert the absolute address into a module name and an intra-module relative address, and output them from the output device 5. do.
更に、測定結果編集出力制御部24は、命令語解析部2
5により逐次報告される命令語の個数をカウントすると
共に、報告された命令語のアドレスに対応する実行済命
令領域情報記憶部のビットがオンである回数つまり実行
法命令語数をカウントしており、最後にそれらのカウン
ト値に基づいて実行法命令語数の全命令語数に対する比
率を網羅率算出部26に求めさせる。mti率算出部2
6は、上記のカウント値に基づき、例えば実行法命令語
数を全命令語数で除算した結果を百分率などの形式で求
め、測定結果編集出力制御部24に通知する。測定結果
編集出力制御部24は、この算出結果を評価対象プログ
ラム41に対するプログラム網羅率として出力装置5に
出力する。Furthermore, the measurement result editing output control section 24 controls the instruction word analysis section 2.
5 counts the number of instruction words that are sequentially reported, and also counts the number of times that the bit of the executed instruction area information storage unit corresponding to the address of the reported instruction word is on, that is, the number of execution method instruction words. Finally, based on these count values, the coverage calculation unit 26 calculates the ratio of the number of execution method command words to the total number of command words. mti rate calculation unit 2
6 calculates, for example, the number of execution method command words divided by the total number of command words in the form of a percentage, based on the above count value, and notifies the measurement result editing output control section 24 . The measurement result editing output control unit 24 outputs this calculation result to the output device 5 as a program coverage rate for the evaluation target program 41.
次に、絶対アドレスをモジュール名とモジュール内相対
アドレスに変換する際の動作を、仮に、モジュール41
の先頭アドレスS1が1000番地で、モジュール42
の先頭アドレスS2が1500番地であるとし、絶対ア
ドレス1234番地を変換する場合を例に挙げて説明す
る。Next, we will explain the operation when converting an absolute address into a module name and an intra-module relative address, assuming that the module 41
The start address S1 of the module is 1000, and the module 42
Assuming that the start address S2 of the file is address 1500, an example will be explained in which the absolute address address 1234 is to be converted.
測定結果編集出力制御部24は、絶対アドレス1234
番地を変換する場合、その絶対アドレス1234番地を
モジュールサーチ部27に通知してサーチを指示する。The measurement result editing output control unit 24 uses the absolute address 1234
When converting an address, the absolute address 1234 is notified to the module search unit 27 and a search is instructed.
このサーチ指示が与えられると、モジュールサーチ部2
7は、絶対アドレス1234番地を含むモジュールの先
頭アドレスを見つけるため、1234番地から1番地ず
つアドレスを減少してモジュール先頭識別語をサーチし
ていく。When this search instruction is given, module search section 2
7, in order to find the start address of the module that includes the absolute address 1234, the address is decreased one by one from address 1234 and the module start identification word is searched.
これにより、31(今の例では1000)番地から始ま
るモジュール41のモジュール先!!!識別語41Mが
最初に見つかる。モジュールサーチ部27はモジュール
先頭識別語41Mを見つけると、その先頭アドレスSl
とモジュール先頭識別語41Mを測定結果編集出力制御
部24に通知する。As a result, the module destination of module 41 starts from address 31 (1000 in the current example)! ! ! Identification word 41M is found first. When the module search unit 27 finds the module header identification word 41M, its header address Sl
and the module header identification word 41M are notified to the measurement result editing output control section 24.
次に、測定結果編集出力制御部24はこの通知された内
容と共に絶対アドレス1234番地をアドレス変換部2
8に通知して変換指示を出す、アドレス変換部28はこ
れに応答して、通知されたモジュール先N識別語41M
内からモジュール名(aaaaa)を抽出し、且つ先頭
アドレスS1と絶対アドレス1234番地とからモジュ
ール内相対アドレス234 (−1234−31)番地
を算出し、これを測定結果編集出力制御部24に通知す
る。Next, the measurement result editing output control section 24 transfers the absolute address 1234 along with the notified contents to the address conversion section 24.
In response, the address conversion unit 28 issues a conversion instruction to the module destination N identification word 41M.
Extracts the module name (aaaaa) from within, calculates the relative address within the module 234 (-1234-31) from the start address S1 and the absolute address 1234, and notifies this to the measurement result editing output control unit 24. .
測定結果編集出力制御部24は、以上のような処理を、
未実行命令の全ての絶対アドレスに対し繰返し行なうも
のである。The measurement result editing output control unit 24 performs the above processing,
This is repeated for all absolute addresses of unexecuted instructions.
上述のようにして求められた評価対象プログラムPRの
プログラム網羅率、及び未実行命令のモジュール内相対
アドレスとモジュール名とは、測定結果編集出力制御部
24で編集された後、例えば第4図に示すような形式で
出力装置5から出力される。The program coverage rate of the evaluation target program PR and the intra-module relative address and module name of unexecuted instructions obtained as described above are edited by the measurement result editing output control unit 24, and then are shown in FIG. 4, for example. It is output from the output device 5 in the format shown.
以上の動作は、一つの評価対象プログラム網羅率独の測
定例であるが、本実施例では分岐後アドレス記憶部22
に分岐後アドレスを優先レベル毎に記憶させることがで
きるため、入力装置1から複数の優先レベルを指定する
ことにより、複数の異なる優先レベルの評価対象プログ
ラムについて同時にプログラム網羅率等の測定が可能で
ある。このとき、複数の評価対象プログラムの実行終了
後、入力装置1から複数の優先レベルの分岐命令割込み
モード解除指令が入力されることにより、網羅率測定制
御部21は逐次各評価対象プログラムのプログラム網羅
率、未実行命令アドレスの算出処理を制御するものであ
る。The above operation is an example of measuring the coverage rate of one evaluation target program, but in this embodiment, the post-branch address storage unit 22
Since post-branch addresses can be stored for each priority level, by specifying multiple priority levels from the input device 1, it is possible to simultaneously measure program coverage, etc. for evaluation target programs with multiple different priority levels. be. At this time, after the execution of the plurality of evaluation target programs is completed, branch instruction interrupt mode release commands of a plurality of priority levels are input from the input device 1, so that the coverage measurement control unit 21 sequentially covers the program of each evaluation target program. This controls the calculation process of the rate and unexecuted instruction address.
以上説明したように、本発明は、分岐命令割込みを利用
して実行済命令領域情報を評価対象プログラムの実行過
程で逐次記憶し、評価対象プログラムの実行終了後、そ
の記憶された実行済命令領域情報をもとに、評価対象プ
ログラムの実行済命令の比率を算出するようにしたもの
であり、評価対象プログラムに細工を行なうことなく、
実行法命令数の比率をプログラム!1ull率として測
定することができる。従って、評価対象プログラムの評
価度合を正確に把握することができる効果がある。As explained above, the present invention uses branch instruction interrupts to sequentially store executed instruction area information during the execution process of the evaluation target program, and after the execution of the evaluation target program is completed, the executed instruction area information is stored in the stored executed instruction area. Based on the information, the ratio of executed instructions of the program to be evaluated is calculated, without any modification to the program to be evaluated.
Program the ratio of the number of execution method instructions! It can be measured as a 1ull rate. Therefore, it is possible to accurately grasp the evaluation level of the program to be evaluated.
また、評価対象プログラムの実行法命令数の比率を出力
する以外に、実行済命令と未実行命令とが識別できるよ
うにして命令語のアドレスを併せて出力したことにより
、評価対象プログラムのどの命令が未実行命令であるか
等の判別ができる。In addition to outputting the ratio of the number of execution method instructions of the program to be evaluated, we also output the address of the instruction word so that executed instructions and unexecuted instructions can be distinguished. It is possible to determine whether the command is an unexecuted instruction, etc.
従って、次の評価ステップでは未実行命令に着目した評
価を行なうことができ、効率良(プログラムの評価度合
を向上することができる。Therefore, in the next evaluation step, it is possible to perform evaluation focusing on unexecuted instructions, and it is possible to efficiently (improve the degree of evaluation of the program).
更に、未実行命令のアドレスは、モジュール名とモジュ
ール内相対アドレスとに変換した形式で出力しているの
で、リンカによって出力されるアドレスマツプからモジ
ュールの先頭アドレスを捜した後、モジュール内相対ア
ドレスを人手によって計算する必要がなくなり、より一
層簡単且つ正確に未実行命令の特定が可能となる。Furthermore, the address of an unexecuted instruction is output in a format converted into a module name and a relative address within the module, so after searching for the start address of the module from the address map output by the linker, the relative address within the module is output. There is no need for manual calculation, and unexecuted instructions can be identified more easily and accurately.
第1図は本発明の実施例のブロック図、第2図は実行済
命令領域情報を実行済命令領域情報記憶部23に記憶す
る際の動作説明図、第3図は実行済命令領域情報記憶部
23の記憶内容の一例を示す図および、
第4図は測定結果の出力例を示す図である。
図において、
1・・・入力装置
2・・・プログラム!il車側測定装置3・・・中央処
理装置
4・・・主記憶装置
5・・・出力装置
20・・・入力情報解析部
21・・・′fi4羅率測定率測定
制御部22分岐後アドレス記憶部
23・・・実行済命令領域情報記憶部
24・・・測定結果編集出力制御部
25・・・命令語解析部
26・・・網羅率算出部
27・・・モジュールサーチ部
28・・・アドレス変換部
30・・・分岐命令割込機構
41〜4n・・・モジュール
PR・・・評価対象プログラムFIG. 1 is a block diagram of an embodiment of the present invention, FIG. 2 is an explanatory diagram of the operation when storing executed instruction area information in the executed instruction area information storage section 23, and FIG. 3 is an executed instruction area information storage FIG. 4 is a diagram showing an example of the storage contents of the unit 23, and FIG. 4 is a diagram showing an example of output of measurement results. In the figure: 1... Input device 2... Program! IL vehicle side measuring device 3...Central processing unit 4...Main storage device 5...Output device 20...Input information analysis section 21...'fi4 rate measurement rate measurement control section 22 Address after branching Storage unit 23...Executed instruction area information storage unit 24...Measurement result editing output control unit 25...Instruction word analysis unit 26...Coverage rate calculation unit 27...Module search unit 28... Address translation unit 30...Branch instruction interrupt mechanism 41-4n...Module PR...Evaluation target program
Claims (1)
の分岐命令の実行により、分岐後最初の命令が実行され
る前に分岐前アドレスと分岐後アドレスとを保持して内
部割込みを発生させる分岐命令割込機構を有する計算機
システムにおいて、絶対アドレスを基に、主記憶上に存
在する一つ以上のモジュールから構成され且つ全モジュ
ールの先頭部に該モジュールの先頭を示し且つモジュー
ル名を含むモジュール先頭識別語が付加された評価対象
プログラムをサーチし、前記絶対アドレスを含むモジュ
ールの前記モジュール先頭識別語を得るモジュールサー
チ手段と、 該モジュールサーチ手段によって得られた前記モジュー
ル先頭識別語に基づき、絶対アドレスをモジュール名と
モジュール内相対アドレスとに変換するアドレス変換手
段と、 前記分岐後アドレスを記憶する分岐後アドレス記憶手段
と、 実行済命令領域情報記憶手段と、 前記分岐命令割込機構による内部割込み発生時、前記分
岐命令割込機構に保持された分岐前アドレスと、前記分
岐後アドレス記憶手段に記憶された分岐後アドレスとで
示される範囲を実行済命令領域情報として前記実行済命
令領域情報記憶手段に記憶させると共に、前記分岐命令
割込機構に保持された分岐後アドレスを前記分岐後アド
レス記憶手段に記憶させる網羅率測定制御手段と、 主記憶上での評価対象プログラムの全命令語のアドレス
を得る命令語解析手段と、 該命令語解析手段で得られた評価対象プログラムの全命
令語のアドレスと、前記実行済命令領域情報記憶手段に
記憶された実行済命令領域情報とに基づいて、評価対象
プログラムにおける実行済命令の比率をプログラム網羅
率として算出して出力装置から出力すると共に、実行済
命令と未実行命令とが識別できるように且つ前記アドレ
ス変換手段によりモジュール名とモジュール内相対アド
レスとに変換した命令語のアドレスを前記出力装置から
出力する測定結果編集出力制御手段とを含むことを特徴
とするプログラム網羅率測定方式。[Claims] In response to the branch instruction interrupt mode setting, by executing a branch instruction in the program, the pre-branch address and post-branch address are held and internally stored before the first instruction after the branch is executed. In a computer system having a branch instruction interrupt mechanism that generates an interrupt, the module is composed of one or more modules existing in main memory based on an absolute address, and the beginning of the module is indicated at the beginning of all modules. module search means for searching an evaluation target program to which a module header identifier including a name is added, and obtaining the module header identifier of a module including the absolute address; and the module header identifier obtained by the module search means. address conversion means for converting an absolute address into a module name and an intra-module relative address based on the branch address; post-branch address storage means for storing the post-branch address; executed instruction area information storage means; and the branch instruction interrupt. When an internal interrupt occurs by the branch instruction interrupt mechanism, the range indicated by the pre-branch address held in the branch instruction interrupt mechanism and the post-branch address stored in the post-branch address storage means is used as executed instruction area information to store the executed instruction. coverage measurement control means for storing in the instruction area information storage means and the post-branch address held in the branch instruction interrupt mechanism in the post-branch address storage means; instruction word analysis means for obtaining the addresses of instruction words; addresses of all instruction words of the evaluation target program obtained by the instruction word analysis means; and executed instruction area information stored in the executed instruction area information storage means. Based on this, the ratio of executed instructions in the program to be evaluated is calculated as the program coverage rate and outputted from the output device. A method for measuring program coverage rate, comprising: a relative address within a module; and a measurement result editing/output control means for outputting an address of a command word converted into an intra-module relative address from the output device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62276358A JPH01118936A (en) | 1987-10-31 | 1987-10-31 | Measurement system for program comprehension rate |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62276358A JPH01118936A (en) | 1987-10-31 | 1987-10-31 | Measurement system for program comprehension rate |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH01118936A true JPH01118936A (en) | 1989-05-11 |
Family
ID=17568317
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP62276358A Pending JPH01118936A (en) | 1987-10-31 | 1987-10-31 | Measurement system for program comprehension rate |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH01118936A (en) |
-
1987
- 1987-10-31 JP JP62276358A patent/JPH01118936A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20030005416A1 (en) | Fault search method and apparatus | |
CN108845556A (en) | A kind of automatic driving vehicle test method and test device | |
JPH01118936A (en) | Measurement system for program comprehension rate | |
JP4766926B2 (en) | Electronic control device and data storage method for electronic control device | |
JPH02130673A (en) | Data retrieving system | |
JPH01118938A (en) | Measurement system for program comprehension rate | |
JPH01118937A (en) | Measurement system for program comprehension rate | |
CN114116503A (en) | Test method, test device, electronic equipment and storage medium | |
JPH01118935A (en) | Measurement system for program comprehension rate | |
JPS63300332A (en) | Measurement system for number of times of instruction execution of program | |
JPS63223841A (en) | Measuring system for program including rate | |
JPH0795293B2 (en) | Information processing equipment | |
JP2658699B2 (en) | Method of managing device under test of input / output device test program | |
JPH05119824A (en) | Robot task planning device | |
JPS6257053A (en) | Deduction intelligence managing system | |
JPS6368939A (en) | Analytic processing system for program transition | |
JPH03278241A (en) | Program debugging system | |
JPH04540A (en) | Debugging device | |
JPH0575841U (en) | Program converter | |
JPH01119837A (en) | Program evaluating system | |
JPH1173217A (en) | Interface agent for plant | |
JPH0315952A (en) | Inter-task communication information judging device | |
JPS6132115A (en) | Apparatus control system | |
JPS5971556A (en) | Data collection system | |
JPH01248243A (en) | Diagnosis of computer system |