JPH01286026A - Realization specification analyzing system for program - Google Patents

Realization specification analyzing system for program

Info

Publication number
JPH01286026A
JPH01286026A JP11462388A JP11462388A JPH01286026A JP H01286026 A JPH01286026 A JP H01286026A JP 11462388 A JP11462388 A JP 11462388A JP 11462388 A JP11462388 A JP 11462388A JP H01286026 A JPH01286026 A JP H01286026A
Authority
JP
Japan
Prior art keywords
program
specifications
execution
data
branch
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
JP11462388A
Other languages
Japanese (ja)
Inventor
Takefumi Shindo
武文 進藤
Makoto Hiramoto
誠 平本
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 Ltd
Original Assignee
Hitachi 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 Ltd filed Critical Hitachi Ltd
Priority to JP11462388A priority Critical patent/JPH01286026A/en
Publication of JPH01286026A publication Critical patent/JPH01286026A/en
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)
  • Stored Programmes (AREA)

Abstract

PURPOSE:To drastically curtail the collating man-day of request specifications and the realization specifications of a program by analyzing automatically the realization specification information of the program from the program and collating it with request specifications. CONSTITUTION:At request specifications 1, a cause and a result, which are the contents to be realized as a program, are expressed in a pair. A source program 2 is designed based on the request specifications 1 and stored into a program library 3 ordinarily. A data holding part 4b is composed of an area to store, with a list construction, a name definition record group to register a type variable name and data attribute and an execution definition record group to register the coupling from a branching to a branching and an arithmetic item and a data area to store the value of the variable. A realization specification analyzing program 4 inputs and operates a source program 2, analyzes a syntax and outputs an analysis list 6 to an editing output part 4d.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はソフトウェアのテストに係り、特にソフトウェ
アの要求仕様と実現仕様を突き合わせるためのプログラ
ムの実現仕様情報生成に好適なプログラムの実現仕様解
析方式に関する。
[Detailed Description of the Invention] [Field of Industrial Application] The present invention relates to software testing, and in particular to program realization specification analysis suitable for generating program realization specification information for matching software requirement specifications and realization specifications. Regarding the method.

〔従来の技術〕[Conventional technology]

従来技術として、例えば、rAQENT:@能テストの
ためのテスト項目作成の一手法」情報処理学会論文誌、
Voi25.Na5,1984−9では要求仕様から論
理的な状態を切り出し、その状態毎に原因と結果を設定
し、AGENTの記述言語で記述する。これをAGEN
Tの入力データとして実行すると、「全状態を通過し、
ループの繰返しは0回と1回」という基準を満足し、全
状態の連鎖で表される原因と結果の流れを出力する。
As a conventional technique, for example, rAQENT: A method for creating test items for @ability tests,” Journal of Information Processing Society of Japan,
Voi25. Na5, 1984-9, logical states are extracted from the requirement specifications, causes and effects are set for each state, and described in the AGENT description language. AGEN this
When executed as input data of T, "passes through all states,
It satisfies the criterion that the loop repeats 0 and 1 times, and outputs a flow of causes and effects expressed as a chain of all states.

この出力からプログラムの記述レベル(仕様がデータと
手続きに分解されたレベル)対応に変換し。
This output is converted to correspond to the program description level (the level at which specifications are broken down into data and procedures).

テストデータを作成し、プログラムをテスト実行してプ
ログラムの実現仕様の確認を行うものであった。
The purpose was to create test data, test execute the program, and confirm the implementation specifications of the program.

(発明が解決しようとする課題〕 上記従来技術では、要求仕様から論理的な状態を切り出
し、その状態毎に原因と結果を設定するための知的作業
を要するため、AGENTの入力データを容易には記述
できない、AGENTの出力情報(テストケース)はプ
ログラムの記述レベルに対応したものでないため、出力
情報をプログラムの記述レベル対応に変換しながらテス
トデータを作成しなければならない、更にプログラムの
実現仕様の確認は非常に工数のかかるテスト実行によら
ねばらない、という問題があった。
(Problem to be solved by the invention) The above conventional technology requires intellectual work to extract logical states from the requirement specifications and set causes and effects for each state. cannot be written, because the output information (test case) of AGENT does not correspond to the program description level, test data must be created while converting the output information to correspond to the program description level, and the program implementation specifications There was a problem in that confirmation of this required a very time-consuming test run.

本発明の目的は、従来方式の要求仕様からテストケース
を作成し、テストケースからテストデータを作成し、テ
スト実行によってプログラムの実現仕様の確認を行うの
に対して、プログラムからプログラムの実現仕様情報を
自動的に解析し、要求仕様と突き合わせることにより、
要求仕様とプログラムの実現仕様との突き合わせ工数の
大幅削減を可能とするプログラムの実現仕様解析方式を
提供することにある。
The purpose of the present invention is to create test cases from the requirement specifications, create test data from the test cases, and confirm the realization specifications of the program by test execution. By automatically analyzing the information and matching it with the required specifications,
The object of the present invention is to provide a program realization specification analysis method that makes it possible to significantly reduce the number of man-hours required for comparing required specifications and program realization specifications.

(課題を解決するための手段〕 上記目的を達成するため1本発明は、ソースプログラム
ライブラリに記憶しである言語のソースプログラムのデ
ータ定義記述を基に型・変数名称。
(Means for Solving the Problems) In order to achieve the above object, the present invention stores type/variable names in a source program library based on the data definition description of a source program in a certain language.

データ属性を、実行定義記述を基に分岐から分岐への結
合と演算項目を解析し、これに基づいて入力変数に文字
列で示される記号値を代入し、実行パスにそって、即ち
、条件分岐定義での分岐方向を選択し1条件論理記号式
の連接をとり、分岐方向に登録された演算項目を記号値
で順次演算し。
Data attributes are analyzed from branch to branch and operation items based on the execution definition description, and based on this, symbolic values indicated by character strings are assigned to input variables, and data attributes are Select the branch direction in the branch definition, connect the one-condition logical symbolic expressions, and sequentially calculate the operation items registered in the branch direction using symbolic values.

実行パスの終端での条件論理記号式の連接、出力変数値
を出力することに特徴がある。
It is characterized by the concatenation of conditional logical symbolic expressions at the end of the execution path and the output of output variable values.

〔作用] 上述した言語解析手段では、該i°語のソースプログラ
ムのデータ定義記述や実行定義記述に対する字句解析、
構文解析により、型・変数名称、データ属性及び分岐か
ら分岐への結合と演算項目を解析できるので、プログラ
ムの有向グラフ構造を構築する。
[Operation] The language analysis means described above performs lexical analysis on the data definition description and execution definition description of the source program of the i° word,
Through syntax analysis, type/variable names, data attributes, connections from branch to branch, and operation items can be analyzed, so the directed graph structure of the program is constructed.

また、記号実行手段では、プログラムの有向グラフ構造
に対し、入力変数に文字列で示される記号値を代入して
該プログラムを模擬実行することにより、1実行パスに
対する連接された条件論理記号式と出力変数に対する記
号値が人的に理解できる文字列で得られることにより、
これを要求仕様と突き合わせてプログラムの実現仕様の
一片を検証することができる。これを各実行パスの全て
に対して出力された該情報に基づいて要求仕様の全てに
繰り返すことにより、プログラムの実現仕様を要求仕様
と突き合わせることができる。
In addition, the symbolic execution means simulates execution of the program by assigning symbolic values indicated by character strings to input variables for the directed graph structure of the program, and outputs concatenated conditional logical symbolic expressions for one execution path. By obtaining symbolic values for variables as human-understandable character strings,
By comparing this with the required specifications, it is possible to verify a piece of the program's implementation specifications. By repeating this for all required specifications based on the information output for all execution paths, it is possible to match the implementation specifications of the program with the required specifications.

〔実施例〕〔Example〕

1        以下1本発明の一実施例を第1図〜
第9図により説明する。第1図は本発明を実現する情報
処理システムの機能ブロック図、第2図は本実施例のハ
ードウェア環境を示す、要求仕様1にはプログラムとし
て実現されるべき内容である原因と結果の対が表現され
ている。ソースプログラム2は要求仕様1に基づいて設
計され、プログラミングされたものであり、通常、ソー
スプログラムライブラリ3に記憶される。データ保持部
4bは型・変数名称、データ属性を登録する名称定義レ
コード群、分岐から分岐への結合と演算項目を登録する
実行定義レコード群、をリスト構造で格納する領域、変
数の値を格納するデータ領域で構成される。
1 Below, one embodiment of the present invention is shown in Figures 1 to 1.
This will be explained with reference to FIG. Fig. 1 is a functional block diagram of an information processing system that implements the present invention, and Fig. 2 shows the hardware environment of this embodiment. is expressed. The source program 2 is designed and programmed based on the required specifications 1, and is normally stored in a source program library 3. The data holding unit 4b is an area for storing type/variable names, a group of name definition records for registering data attributes, a group of execution definition records for registering connections from branch to branch and operation items, in a list structure, and values of variables. It consists of a data area.

本発明のプログラムの実現仕様解析方式を適用した実現
仕様解析プログラム4は、ソースプログラム2を入力・
走査して、該ソースプログラムのデータ定義記述と実行
定義記述に対する字句解析。
The realization specification analysis program 4 to which the program realization specification analysis method of the present invention is applied inputs the source program 2 and
Scan and perform lexical analysis on the data definition description and execution definition description of the source program.

構文解析を行い1名称定義や実行定義をデータ保持部4
bに出力する言語解析部4aと、データ保持部4bの名
称定義及び実行定義レコード5をもとに有向グラフ構造
のプログラムのパスを記号実行させる記号実行部4cと
、記号実行した結果の実現仕様解析リスト6を出力する
編集出力部4dとで構成する。
The syntax is analyzed and the name definition and execution definition are stored in the data holding unit 4.
a language analysis unit 4a that outputs the output to b, a symbolic execution unit 4c that symbolically executes a path of a program with a directed graph structure based on the name definition and execution definition record 5 of the data holding unit 4b, and an implementation specification analysis of the result of the symbolic execution. It consists of an editing output section 4d that outputs the list 6.

第2図において、本発明が適用されるシステム構成を示
すもので、CPUII、メモリ12.入力装置13.出
力装置14.外部記憶装置15からなる。
FIG. 2 shows a system configuration to which the present invention is applied, including a CPU II, memory 12. Input device 13. Output device 14. It consists of an external storage device 15.

第3図にデータ保持部4bの各定義レコードの構造を示
す0名称定義レコードは型・変数名称。
FIG. 3 shows the structure of each definition record in the data holding unit 4b. The 0 name definition record is a type/variable name.

データ属性、データ領域インデックス、前名称定義レコ
ードポインタ、次名称定義レコードポインタで構成する
。実行定義レコードには単方向実行定義、2方向実行定
義、多方向実行定義があり、単方向実行定義レコードは
実行文へのポインタ。
It consists of data attributes, data area index, previous name definition record pointer, and next name definition record pointer. Execution definition records include unidirectional execution definitions, bidirectional execution definitions, and multidirectional execution definitions, and unidirectional execution definition records are pointers to executable statements.

次実行定義レコードへのポインタで構成する。2方向実
行定義レコードは条件式へのポインタ、条件式が真のと
きの実行文へのポインタ及び分岐先実行定義レコードへ
のポインタ、条件式が偽のときの実行文へのポインタ及
び分岐先実行定義レコードへのポインタで構成する。多
方向実行定義レコードは演算式へのポインタ、多方向分
岐レコードへのポインタで構成する。多方向分岐レコー
ドはデータ領域インデックス、実行文へのポインタ。
Consists of a pointer to the next execution definition record. A two-way execution definition record is a pointer to the conditional expression, a pointer to the executable statement when the conditional expression is true, a pointer to the branch destination execution definition record, a pointer to the executable statement and the branch destination execution when the conditional expression is false. Consists of a pointer to a definition record. A multidirectional execution definition record consists of a pointer to an arithmetic expression and a pointer to a multidirectional branch record. A multi-way branch record is a data area index, a pointer to an executable statement.

分岐先実行定義レコードへのポインタ、数多分岐レコー
ドへのポインタで構成する。実行文9条件式、演算式を
構成する演算レコードはデータ領域インデックス、演算
子9次演算レコードへのポインタで構成する。
It consists of a pointer to the branch destination execution definition record and a pointer to the multiple branch record. The operation record that constitutes the executable statement 9 conditional expression and operation expression consists of a data area index and a pointer to the operator 9th operation record.

実現仕様解析プログラムは、第4図に示す手順で、要求
仕#41.より設計したソースプログラム2の名称定義
及び実行定義をデータ保持部4bに登録し、データ保持
部4bのデータ領域の入力変数に記号値を代入し1条件
分岐定義での分岐方向を選択し1条件論理記号式を連接
し、その分岐方向に登録された演算項目を記号値で演算
し、これを実行パスの終端に達するまで繰り返す、記号
実行の結果の連接された条件論理記号式と出力変数値の
実現仕様解析リスト6を出力する。
The realization specification analysis program analyzes required specification #41. in the procedure shown in FIG. Register the name definition and execution definition of the more designed source program 2 in the data holding unit 4b, assign symbolic values to input variables in the data area of the data holding unit 4b, select the branch direction in the 1-condition branch definition, and select the 1-condition branch definition. The concatenated conditional logical symbolic expressions and output variable values are the result of symbolic execution, in which logical symbolic expressions are concatenated, the operation items registered in the branching direction are operated on symbolic values, and this is repeated until the end of the execution path is reached. The implementation specification analysis list 6 is output.

第5図に示した要求仕様1に対し、設計され。Designed for requirement specification 1 shown in Figure 5.

作成されたソースプログラム2を第6図に示す。The created source program 2 is shown in FIG.

言語解析部4aは第6図に示したソースプログラム2を
入力・走査し、字句解析、構文解析を施し、データ定義
文2aの変数Aに対して、第7図に示すように変数名で
整数型の名称定義レコード5aを生成し、データ領域を
割り当て、そのデータ領域インデックスを登録する。変
数B、C,MAXに対しても同様に、変数名で整数型の
名称定義レコード5b、5c、5dを生成し、データ領
域を割り当て、そのデータ領域インデックスを登録する
。実行定義文のREADyIi数2bに対して、単方向
実行定義レコード5eを生成し、演算レコード5fを生
成してポイントする。演算項目は演算子単位に作成した
演算レコードをポインタで連結して表現する。この場合
、先頭の演算レコード5fに関数名’READ’を演算
子として登録し、次の演算レコード5gに引数となる変
数Aのデータ領域インデックスを登録し、条件文を入力
するまで順次実行文の演算レコードを生成して連結する
0条件文2cに対して、2方向実行定義レコード5hを
生成し、前の実行定義レコード5eからポイントし1条
件式’A>B’ の演算レコード53、を生成してポイ
ントする。真である側の実行文’MAX: =A’の演
算レコード5jを生成してポイントし、偽である側の実
行文’MAX::=B′の演算レコード5kを生成して
ポイントする。
The language analysis unit 4a inputs and scans the source program 2 shown in FIG. 6, performs lexical analysis and syntactic analysis, and converts the variable A of the data definition statement 2a into an integer with a variable name as shown in FIG. A type name definition record 5a is generated, a data area is allocated, and the data area index is registered. Similarly, for variables B, C, and MAX, integer type name definition records 5b, 5c, and 5d are generated using variable names, data areas are allocated, and the data area indexes are registered. A unidirectional execution definition record 5e is generated for the READyIi number 2b of the execution definition statement, and an operation record 5f is generated and pointed to. Operation items are expressed by connecting operation records created for each operator using pointers. In this case, the function name 'READ' is registered as an operator in the first calculation record 5f, the data area index of variable A, which is the argument, is registered in the next calculation record 5g, and the execution statements are executed sequentially until the conditional statement is input. Generates a two-way execution definition record 5h for the zero conditional statement 2c that generates and concatenates a calculation record, points from the previous execution definition record 5e, and generates a calculation record 53 for the conditional expression 'A>B'. and point. An operation record 5j of the executable statement 'MAX:=A' which is true is generated and pointed to, and an operation record 5k of the executable statement 'MAX::=B' which is false is generated and pointed to.

同様に条件文2dに対して、2方向実行定義レコード5
mを生成し、前の実行定義レコード5hの真である側の
分岐先ポインタと偽である側の分岐先ポインタからポイ
ントし、条件式’C>MAX’の演算レコード、5nを
生成してポイントする。真である側の実行文’MAX:
 =C’の演算レコード50を生成してポイントし、偽
である側の実行文の演算レコードへのポインタ値を空に
する。ライト(WRITE)関数20に対して、単方向
実行定義レコード5pを生成し、前の実行定義レコード
5mの真である側の分岐先ポインタと偽である側の分岐
先ポインタからポイントし、リード(RE A D)関
数2bと同様に、関数名と引数が登録されているデータ
領域インデックスの演算レコード5qを生成してポイン
トする0次実行定義レコードへのポインタ値を空にする
Similarly, for conditional statement 2d, two-way execution definition record 5
Generate m, point from the branch destination pointer on the true side and the branch destination pointer on the false side of the previous execution definition record 5h, generate a calculation record 5n for the conditional expression 'C>MAX' and point to it. do. True executable statement 'MAX:
An operation record 50 of =C' is generated and pointed to, and the pointer value to the operation record of the executable statement on the false side is made empty. For the write (WRITE) function 20, a unidirectional execution definition record 5p is generated, points from the branch destination pointer on the true side and the branch destination pointer on the false side of the previous execution definition record 5m, and read ( RE A D) Similarly to function 2b, generate an operation record 5q of the data area index in which the function name and arguments are registered, and empty the pointer value to the zero-order execution definition record pointed to.

記号実行部4cでは、代入文の左辺に現れない変数を入
力変数の候補とし、READ関数は右辺WRITE関数
は左辺の扱いとして各変数を評価する。単方向実行定義
レコード5eがポイントする演算レコード5fの演算子
が’READ’であるので1次の演算レコード5gがポ
イントする変数Aを入力変数とみなし、変数Aのデータ
領域に記号値8を代入する。同様に変数B、Cも入力変
数とみなし、変数B、Cのデータ領域にそれぞれ記号値
す、oを代入する(第8図(1))、次実行定義レコー
ドへのポインタがポイントする2方向実行定義レコード
5hの条件式へのポインタがポイントする演算レコード
51に対して1分岐方向として真の方向を選択し1分岐
条件’a>bftfl を分岐条件論理式領域に連接す
る。このとき真である側の実行文の演算レコード5jに
対して、変数MAXのデータ領域に変数Aのデータ領域
の記号値を代入する〔第8図(2)] 、真である側の
分岐先実行定義レコードへのポインタがポイントする2
方向実行定義レコード5mに対しても同様に1分岐方向
として真の方向を選択し、分、  岐条件’a>aft
ビを分岐条件論理式領域に連接する。このとき変数MA
Xのデータ領域に変数Cのデータ領域の記号値を代入す
る[第8図(3)] 、真である側の分岐先実行定義レ
コードへのポインタがポイントする単方向実行定義レコ
ード5pがポイントする演算レコード5qの演算子が’
WRITE’であるので、変数MAXを出力変数とする
01次実行定義レコードへのポインタは空なので、記号
実行処理を終了する。
The symbolic execution unit 4c treats variables that do not appear on the left side of the assignment statement as input variable candidates, and evaluates each variable by treating the READ function as the right side and the WRITE function as the left side. Since the operator of the calculation record 5f pointed to by the unidirectional execution definition record 5e is 'READ', the variable A pointed to by the primary calculation record 5g is regarded as an input variable, and the symbolic value 8 is assigned to the data area of variable A. do. Similarly, variables B and C are regarded as input variables, and symbol values ``s'' and ``o'' are assigned to the data areas of variables B and C, respectively (Figure 8 (1)), and the two directions pointed by the pointer to the next execution definition record are For the operation record 51 pointed to by the pointer to the conditional expression of the execution definition record 5h, the true direction is selected as the 1st branch direction, and the 1st branch condition 'a>bftfl' is linked to the branch condition logical expression area. At this time, for the operation record 5j of the executable statement on the side that is true, the symbolic value of the data area of variable A is assigned to the data area of variable MAX [Figure 8 (2)], and the branch destination on the side that is true is 2 pointed to by the pointer to the execution definition record
Similarly, for the direction execution definition record 5m, select the true direction as the 1 branch direction, and set the branch condition 'a>aft'.
Connect Bi to the branch condition logical expression area. At this time, the variable MA
Assign the symbolic value of the data area of variable C to the data area of The operator of operation record 5q is '
Since it is WRITE', the pointer to the 01st execution definition record with variable MAX as the output variable is empty, so the symbolic execution process ends.

第9図に示すように連接された分岐条件論理式%式% =Cの実現仕様解析リスト6を出力する。全パスの記号
実行が終了するまで記号実行を繰返し、分岐条件論理式
”a)b l t l c)a l f l’と出力変
数値MAX=a、’a>b f f t ova tt
ビとMAX=o、  ’a>b t f t c>a 
ff t’ とMAX=bを出力する。
As shown in FIG. 9, an implementation specification analysis list 6 of the concatenated branch condition logical formula % expression % =C is output. The symbolic execution is repeated until the symbolic execution of all paths is completed, and the branch condition logical formula "a) b l t l c) a l f l' and the output variable value MAX=a, 'a>b f f t ova tt
B and MAX=o, 'a>b t f t c>a
Output ff t' and MAX=b.

以上のように本実施例によれば、ソースプログラムを入
力・走査し、解析した名称定義、プログラム構造定義に
基づいて入力変数に文字列で示される記号値を代入して
該プログラムを模擬実行させることにより、実行パス毎
の連接された全分岐条件論理記号式と出力変数値をプロ
グラムの実現仕様として得ることができる。
As described above, according to this embodiment, a source program is input and scanned, symbolic values indicated by character strings are assigned to input variables based on the analyzed name definition and program structure definition, and the program is simulated executed. By doing this, all the concatenated branch condition logical symbolic expressions and output variable values for each execution path can be obtained as the program realization specifications.

〔発明の効果〕〔Effect of the invention〕

本発明によれば、ソータプログラムから直接に任意の1
実行パスに対する連結された条件論理記号式と出力変数
値を自動解析によって得ることができる。これをソース
プログラムの実現仕様情報として、要求仕様とプログラ
ムの実現仕様の突き合わせ確認に適用すれば、突き合わ
せ作業の効率を著しく向上できる効果がある。
According to the present invention, any one
Concatenated conditional logic symbolic expressions and output variable values for execution paths can be obtained by automatic analysis. If this information is used as source program realization specification information to check the comparison between the required specifications and the program realization specifications, the efficiency of the comparison work can be significantly improved.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は本発明の実施例の機能ブロック図、第2図は実
施例のハードウェア構成図、第3[は第11図のデータ
保持部の定義レコードの各構造図。 第4111は実現仕様解析プログラムの処理フロー図、
第5図は要求仕様1の一例を示す図、第6図は要求仕様
lより設計したソースプログラム2の詳細図、第7図は
データ保持部4bの各定義レコード5の構成図、第8図
は実現仕様解析の°実行プロセスを示す図、第9111
は実現仕様解析リストの詳細図である。 1・・・要求仕様、2・・・ソースプログラム、3・・
・ソースプログラムライブラリ、4・・・実現仕様解析
プログラム、4a・・・言語解析部、4b・・・データ
保持部。 4c・・・記号実行部、4d・・・編集出力部、5・・
・定義狸 1 図 ′# 3図 芽十図
FIG. 1 is a functional block diagram of an embodiment of the present invention, FIG. 2 is a hardware configuration diagram of the embodiment, and FIG. 3 is a structural diagram of each definition record of the data holding unit in FIG. 11. No. 4111 is a processing flow diagram of the realization specification analysis program,
5 is a diagram showing an example of the requirements specification 1, FIG. 6 is a detailed diagram of the source program 2 designed based on the requirements specification 1, FIG. 7 is a configuration diagram of each definition record 5 of the data holding unit 4b, and FIG. Figure 9111 shows the execution process of realization specification analysis.
is a detailed diagram of the realization specification analysis list. 1... Required specifications, 2... Source program, 3...
- Source program library, 4... Realization specification analysis program, 4a... Language analysis section, 4b... Data holding section. 4c... Symbol execution section, 4d... Edit output section, 5...
・Definition raccoon dog 1 figure'#3 figure 10 figure

Claims (1)

【特許請求の範囲】[Claims] 1、要求仕様に基づいて設計され、ある言語でプログラ
ミングされたプログラムを実行させる情報処理システム
において、プログラムの実現仕様が要求仕様に一致する
かの検証を援助するためのプログラムの実現仕様解析方
式であつて、該言語のソースプログラムを走査して、デ
ータ型・変数を定義するデータ定義記述を基に型・変数
名称、データ属性を解析し、条件文・代入文を定義する
実行定義記述を基に、分岐から分岐への結合と演算項目
を解析し、該ソースプログラムのデータ構造と制御構造
を定義するデータ群をリスト形式で構築する言語解析手
段と、該定義データ群に基づいて、入力変数に文字列で
示される記号値を代入し、条件分岐定義での分岐方向を
選択しながら演算項目を記号値で演算する記号実行手段
と、記号実行の結果の条件論理記号式、出力変数値を編
集印刷する出力手段とを設け、要求仕様に対して、プロ
グラムの実現仕様を突き合わせるためのプログラムの実
現仕様情報を該ソースプログラムから自動的に生成する
ことを特徴とするプログラムの実現仕様解析方式。
1. In an information processing system that executes a program designed based on requirement specifications and programmed in a certain language, a program realization specification analysis method is used to assist in verifying whether the program realization specifications match the requirement specifications. The source program of the language is scanned, types and variable names and data attributes are analyzed based on data definition descriptions that define data types and variables, and execution definition descriptions that define conditional statements and assignment statements are analyzed. a language analysis means that analyzes connections and operation items from branch to branch and constructs a data group in list form that defines the data structure and control structure of the source program; A symbolic execution means that assigns a symbolic value indicated by a character string to a character string, and operates a calculation item with a symbolic value while selecting a branch direction in a conditional branch definition, and a conditional logical symbolic expression as a result of symbolic execution, and an output variable value. A program realization specification analysis method comprising: an output means for editing and printing, and automatically generating program realization specification information from the source program for matching the program realization specifications against the required specifications. .
JP11462388A 1988-05-13 1988-05-13 Realization specification analyzing system for program Pending JPH01286026A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11462388A JPH01286026A (en) 1988-05-13 1988-05-13 Realization specification analyzing system for program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11462388A JPH01286026A (en) 1988-05-13 1988-05-13 Realization specification analyzing system for program

Publications (1)

Publication Number Publication Date
JPH01286026A true JPH01286026A (en) 1989-11-17

Family

ID=14642490

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11462388A Pending JPH01286026A (en) 1988-05-13 1988-05-13 Realization specification analyzing system for program

Country Status (1)

Country Link
JP (1) JPH01286026A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011052030A1 (en) * 2009-10-26 2011-05-05 株式会社 東芝 Precondition generator
JP2013025716A (en) * 2011-07-25 2013-02-04 Shinichi Ishida Device and program for supporting structure analysis of module

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011052030A1 (en) * 2009-10-26 2011-05-05 株式会社 東芝 Precondition generator
JP5468615B2 (en) * 2009-10-26 2014-04-09 株式会社東芝 Precondition generation apparatus and method, and program
US8707273B2 (en) 2009-10-26 2014-04-22 Kabushiki Kaisha Toshiba Precondition generating apparatus
JP2013025716A (en) * 2011-07-25 2013-02-04 Shinichi Ishida Device and program for supporting structure analysis of module
US9128807B2 (en) 2011-07-25 2015-09-08 Shinichi Ishida Module structural analysis supporting device and program

Similar Documents

Publication Publication Date Title
US6038378A (en) Method and apparatus for testing implementations of software specifications
US5870590A (en) Method and apparatus for generating an extended finite state machine architecture for a software specification
Kozen et al. Logics of programs
Hogger Derivation of logic programs
Hubert et al. Separation Analysis for Weakest Precondition-based Verification
Reps et al. Program analysis using weighted pushdown systems
Apt et al. Assessing the success and impact of Hoare’s logic
Garavel et al. Towards a second generation of formal description techniques–rationale for the design of E-LOTOS
JPH01286026A (en) Realization specification analyzing system for program
Parreaux Type-Safe Metaprogramming and Compilation Techniques For Designing Efficient Systems in High-Level Languages
Poswig et al. VisaVis-contributions to practice and theory of highly interactive visual languages
Jorgensen et al. Computer aided verification of Lamport's fast mutual exclusion algorithm using colored Petri nets and occurrence graphs with symmetries
Bernstein Static analysis for probabilistic programs
Jørgensen et al. Computer Aided Verification of Lamport's Fast Mutual Exclusion Algorithm-Using Coloured Petri Nets and Occurrence Graphs with Symmetries
Ferrando et al. Runtime verification with imperfect information through indistinguishability relations
Lew et al. Decision table programming and reliability
Dechsupa et al. An automated framework for BPMN model verification achieving branch coverage
Ulle Source Code Analysis and Type Inference for R
Pavlovic et al. Smooth coalgebra: testing vector analysis
Almagor et al. Jumping Automata over Infinite Words
Findler et al. Redex: Practical semantics engineering
JPH073655B2 (en) Organizing / editing processor
Verdejo Building tools for LOTOS symbolic semantics in Maude
Runciman et al. An incremental, exploratory and transformational environment for lazy functional programming
Amadio Operational methods in semantics