JPH04237341A - インタフェース検証処理方式 - Google Patents
インタフェース検証処理方式Info
- Publication number
- JPH04237341A JPH04237341A JP3020575A JP2057591A JPH04237341A JP H04237341 A JPH04237341 A JP H04237341A JP 3020575 A JP3020575 A JP 3020575A JP 2057591 A JP2057591 A JP 2057591A JP H04237341 A JPH04237341 A JP H04237341A
- Authority
- JP
- Japan
- Prior art keywords
- information
- module
- unit
- interface
- modules
- 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.)
- Granted
Links
- 238000012545 processing Methods 0.000 title abstract description 29
- 238000007689 inspection Methods 0.000 title abstract 3
- 238000012795 verification Methods 0.000 claims description 47
- 238000004364 calculation method Methods 0.000 claims description 16
- 238000003672 processing method Methods 0.000 claims description 12
- 238000012360 testing method Methods 0.000 abstract description 14
- 238000013461 design Methods 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 28
- 230000006870 function Effects 0.000 description 13
- 238000000034 method Methods 0.000 description 11
- 239000013256 coordination polymer Substances 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 239000000284 extract Substances 0.000 description 4
- 230000010354 integration Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 235000001418 Echinochloa stagnina Nutrition 0.000 description 1
- 240000001327 Echinochloa stagnina Species 0.000 description 1
- 235000001797 Lavandula macra Nutrition 0.000 description 1
- 235000001803 Lavandula setifera Nutrition 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000000700 radioactive tracer Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
め要約のデータは記録されません。
Description
ル等が外部と情報を授受するインタフェースにおける,
モジュール間等の整合性を検証するために用いられるイ
ンタフェース検証処理方式に関する。また,未インプリ
メントの仮想モジュール間,モジュール内部の宣言と内
部処理間,仕様とプログラム間等の整合性の検証を実現
する方式に関する。
,一部の決められた処理を担当するモジュールが複数個
集まってシステムを構成するようになっている。そして
,これらのモジュールがお互いに影響を及ぼし合って処
理が行われる。
み合わせ,結合して一つのシステムを作成していく場合
,例えば以下の検証を通して,一つのシステムとして与
えられた仕様通り(要求通り)の正しい動作結果が得ら
れていることを確認する必要がある。 ・好ましいモジュール構成であるかの検証。 ・各モジュール内が仕様(設計)通りであるかの検証。 ・各モジュールが外部に対して余計な影響を及ぼさない
かどうかの検証。 ・お互いの各モジュール間でのインタフェースが正しい
ものかどうかの検証。
グラムの規模が大きくなると,周知のように,■ そ
れを複数のモジュールに分割し,■ モジュール間で
授受する情報をモジュール間のインタフェースとして規
定して,■ そのインタフェース条件を満足するよう
に各モジュールを個別に作成した後,■ それらのモ
ジュールを結合して,■ 所要のプログラムを完成す
る,というような手法が通常採られる。
わゆる単体テストで,充分にエラーを除いておかないと
,モジュール結合後のテストでは,エラーが検出されて
もその原因の探索は,結合が進めば進むほど困難となり
,また,エラーの検出自体も困難になることは良く知ら
れているとおりである。
ュールに誤りが無いことをできるだけ確認する必要があ
る。しかし,そのテスト段階では,対象のモジュールと
インタフェースを持つ他のモジュールも,一般に同じ開
発段階にあるので,インタフェースについては,プログ
ラムの解読によるチェックと,テスト用に設ける仮モジ
ュールと結合した実行テスト,等によることになる。
ルの作成は,被テストモジュールや隣接モジュールにつ
いて想定している処理に基づいて行われるので,テスト
漏れが生じやすく,さらに比較的大きな工数が必要にな
るという問題がある。
を持つ他のモジュールについて,実現済みの機能を基に
,段階的に結合テストを行うことも可能ではある。この
場合においても,実現済みの機能,テスト項目に必要な
機能等の情報について,一時的な結合テストに必要な機
能が実現されていることを確かめる問題は,前記と同様
のインタフェース整合性の問題として扱うことができる
。
ュールに分割する場合において,分割する目安というも
のは,今のところ存在せず,設計者の経験や,解決する
問題や要求の分析によって行われている。このシステム
の設計時に行なわれるモジュール分割に対して,実際の
要求通りに動作するか,好ましいシステム構成(モジュ
ール分割)であるかなどの検証も,プログラムの開発と
同様のインタフェースの整合性の問題として扱うことが
できる。
編集作業で文書を挿入したり,削除したりする場合にお
いても,文書の文字サイズ,フォント,行下がり,その
他の文書制御情報について,挿入・削除による他の文書
への影響を確かめる問題は,前記と同様のインタフェー
スの整合性の問題として扱うことができる。
構成するモジュールを結合した場合の処理結果の検証を
,・モジュール単体で,他と結合せずに,外部への影響
を調べたり,・仕様にはない,余計な外部への影響を検
出したり,・級数的に増加してしまいがちなモジュール
間の検証の組み合わせを,少ないコストで抑えたり,す
ることを目的とする。
ルを実現したか,・仕様に記述していること以外の影響
を他に対して行っていないか,等の検証や,設計時にお
けるモジュール間インタフェースの検証,文書作成時に
おける挿入,削除による他文書への影響の検証,の実現
を目的とする。
トおよび設計のために,インタフェースの整合性を効率
良く検証できるインタフェース検証処理方式を提供する
ことを目的とする。
明の構成を示すブロック図である。図1は,請求項1記
載の発明に対応する構成を示すブロック図であり,図中
,10はCPUやメモリなどからなる処理装置,11は
プログラムや文書等の管理単位であるモジュールまたは
それらが集まったモジュール群,12は情報収集部,1
3は情報収集部12が収集した情報の集合,14は検証
部,15は集合演算機構,16は判定部,17は検証結
果の出力情報を表す。
4とを有する。情報収集部12は,与えられた複数のモ
ジュールまたはモジュール群11から,それぞれ,その
内部に記述されている所定のオペレーションの対象とな
る情報の識別情報を収集し,それを要素とする集合13
をそれぞれ入力した複数のモジュール(またはモジュー
ル群)ごとに作成する。
するものがプログラムである場合,例えば定義,宣言,
参照,設定,割り当て,呼び出し等といった命令の種類
などであり,オペレーションの対象となる情報とは,変
数,配列・構造体・データベース等のデータ,機能,関
数等である。
判定部16とを持つ。集合演算機構15にて,二つ以上
の集合13を入力し,所定の集合演算を行い,対応する
オペレーション間の関係を示すその演算結果を判定部1
6にて取り出して診断し,所定の結果の出力情報17を
出力する。
6の(a) 〜(d) に示すような関係が成り立つ。 ここで,図6(a) における(x) の部分はA−B
図6(a) における(y) 部分はA∩B図6(a)
における(z) の部分はB−Aであり,A={a,
b,c,d},B={b,d,e,f}であるとした場
合には, A∪B={a,b,c,d,e,f},A∩B={b,
d}, A−B={a,c}, となる。
の特殊な場合の状態を示している。ここで,図6の(
b) はA=Bの状態を示し,図6の(c) はB⊂A
を,図6の(d) はA⊂Bを,示している。
を示しているが,特に,演算対象とする集合は二つであ
る必要はなく,例えば図6の(e) に示すように,複
数の集合に対して集合演算を行っても同様の関係が得ら
れる。
成を示すブロック図であり,図中の符号は,図1に示す
ものに対応する。この発明では,情報収集部12は,与
えられた一つのモジュールまたはモジュール群11から
,その内部に記述されている,所定のオペレーション(
定義,宣言,参照,設定,割り当て,呼び出し等)ごと
に,その対象となる情報(変数,データ〔配列,構造体
,データベース等〕,機能,関数等)の識別情報を収集
し,それを要素とする集合13をそれぞれ作成する。
判定部16とを持つ。集合演算機構15にて,二つ以上
の集合13を入力し,所定の集合演算を行い,所与のモ
ジュール(モジュール群)内で,対応するオペレーショ
ン間の関係を示すその演算結果を判定部16により取り
出して診断し,所定の結果の出力情報17を出力する。
成を示すブロック図であり,図中の符号は,図1または
図2に示すものに対応する。また,30は情報収集部1
2が行う情報収集の基準となる収集基準情報,31は集
合演算機構15が行う集合演算の種類を示す演算指示情
報,32は判定部16が行う判定の基準を示す判定基準
情報を表す。
報収集の基準となる収集基準情報30を入力し,一つま
たは複数のモジュール(またはモジュール群11)から
,その収集基準情報30に示されたオペレーションの対
象となる情報の識別情報を収集し,これを要素とする集
合13を作成する。
判定部16とを持つ。集合演算機構15は,集合演算基
準となる演算指示情報31と二つ以上の集合13とを入
力し,集合演算基準に則った集合演算を行い,判定部1
6は,判定基準情報32と前記集合演算の結果とを入力
し,判定基準を基に,モジュールまたはモジュール群1
1間に跨がった,あるいは,その内部での,対応するオ
ペレーション間の関係を示すその演算結果を取り出して
診断し,所定の結果の出力情報17を出力する。
成を示すブロック図であり,図中の符号は,図1または
図2に示すものに対応する。また,40は情報収集部1
2が行う情報収集の範囲を指定する位置指定を表す。
報収集範囲の位置指定40を入力し,一つまたは複数の
モジュール(またはモジュール群11)から,その情報
収集範囲に示された範囲における所望の識別情報を収集
し,それを要素とする集合13を複数作成する。
成を示すブロック図であり,図中の符号は,図1または
図2に示すものに対応する。また,50はモジュール群
11を実行する,またはその実行のシミュレーションを
行う実行部,51は実行部50の出力である実行ログと
収集する識別情報とを対応させた情報を記憶する対応表
を表す。
を有する。実行部50は,入力モジュール(またはモジ
ュール群11)内のオペレーションの実行(シミュレー
ト実行を含む)を行い,実行単位時間ごとに実行された
オペレーションの実行ログを収集し,情報収集部12へ
渡す。
別情報とを対応させ,実行ログを収集する識別情報に付
加し,それを要素とする集合13を作成する。
,得られた演算結果に対して,判定部16にて,その各
要素に対して実行ログ(実行単位)を基準とした判定を
行い,実行の移り変わりを考慮したオペレーション間の
関係を示す結果の出力情報17を出力する。
情報の識別情報を収集し,それらを要素とする集合を作
成し,それらの集合間で集合演算を行うことにより,モ
ジュール間またはモジュール内のインタフェースの整合
性を,一律に汎用的に検証できるようになる。
テム構成図である。また,図12は本発明の実施例によ
る文書編集時の検証の説明図,図13は情報収集部の処
理フロー,図14は集合演算の処理フローである。
例を図7に従って説明する。・実現例〔情報収集部の実
現〕図7に示す情報収集部12の処理フローは,図13
に示すとおりである。なお,他の実施例についても同様
である。
以下の処理を与えられたすべてのモジュール70(また
はモジュール群)に対して行い,それぞれ集合13を作
成していく。与えられた一つ以上のモジュール70(ま
たは,モジュール群)に対して,そこに記述されている
オペレーションを読み込む。この読み込んだオペレーシ
ョンに対して,一つずつ,このモジュール(またはモジ
ュール群)における所定のオペレーションかどうかを判
定する。所定のオペレーションならば,これの対象とし
ている情報の識別情報を取り出し,同じ識別情報が既に
格納されていないならば,集合13にその要素として格
納する。もし,既に同じ識別情報が格納されているなら
ば,その識別情報は格納しない。上記の処理を,与えら
れた一つ以上のモジュール70(またはモジュール群)
のすべてのオペレーションに対して行う。
いる要素には同じものは存在せず,その要素間には順序
といった概念がない。そこで,重複格納を許さない順序
のないプール構造体を集合として利用する。このプール
構造体に対しては,−そこにxという要素が格納されて
いるか否かの判定 −そこにxという要素を格納 −格納されている要素の取り出し −格納されている要素の削除 といった処理が可能であるとする。
(A∪B),積集合(A∩B),差集合(A−B),を
求める演算があり,集合演算機構15ではこれらを実現
する。また,これらの演算を複数の(三つ以上の)入力
に対しても,また,これらの演算を組み合わせた複合演
算も行なえるものとする。これらはソフトウェアによっ
て実現しても,また既存の集合演算装置を用いて実現し
てもよい。
ルゴリズムを図14の(a) に示す。まず集合A(o
rB)のすべての要素を,結果として生成される集合(
を実現するプール構造体)に格納し,もう一方の集合B
(orA)の各要素に対して,以下の処理を要素がなく
なるまで繰り返し行う。取り出した要素が,結果の集合
にすでに同一のものが格納されていなければ,その要素
を結果の集合に格納し,すでに格納済みならば格納しな
い。
ルゴリズムを図14の(b) に示す。集合A(orB
)の各要素に対して,以下の処理をそのすべての要素に
対して行う。取り出した要素と同じものが,もう一方の
集合B(orA)内に格納されているなら,その要素を
結果として生成される集合(を実現するプール構造体)
に格納し,同一のものがなければ,格納しない。
ルゴリズムを図14の(c) に示す。まず集合Aのす
べての要素を,結果として生成される集合(を実現する
プール構造体)に格納し,集合Bの各要素に対して,以
下の処理をそのすべての要素に対して行う。取り出した
要素と同一のものが,結果の集合内にすでに格納されて
いるなら,その要素を結果の集合から削除し,同一のも
のがなければ何もしない。
で得られた集合に対して, (1) 集合が,空集合(要素がない集合)であるか否
かの判定を行ない, (2) もし要素があるなら,その集合のすべての要素
を取り出し, (3) 行なった集合演算に対応する意味づけを付加し
て,(4) 判定,行なった集合演算,要素,等を出力
する。
ム前記のような内部構成で実現したモジュール間インタ
フェース検証システムについて示す。図7において,情
報収集部12にて以下のような情報を収集する。−ある
モジュール(Module A)の内部で設定される変
数名を収集し,これを要素とする集合Aを作成する。−
別のあるモジュール(Module B)の内部で参照
される変数名を収集し,これを要素とする集合Bを作成
する。
うな記述があった場合, a=b 変数aは値設定される変数であり,変数bは値参照され
る変数であるとする。また,以下のような比較演算があ
った場合, a==b さらに,以下のような関数呼出しがあった場合,fun
c(a,b,c) 各変数a,b,cは値参照される変数であるとする。
以下のような集合演算を行う。 A∩B この演算結果(二つの集合の積集合)の要素がこのモジ
ュール(ModuleA)から別のモジュール(Mod
ule B)にデータを流す変数である,とみなすこと
ができる。そこで,判定部16では,この集合演算の結
果を出力する。
Module Bがあったとする。 Module A( ){ P=pct + STORAGE (*pct);CP
=pct + 1; DET = 1; L++; }
pct);point−>ret_env =E; p
utvalue(point−> ret_code,
DET,CP); point−>b_frame =
B; point−>lebel=L; E=point ; Y=ST+E_FRAME _SIZE; ST=Y+
STORAGE(*pct);P++; }
P,CP,DET,L} B={ ST, pct, E, point, DE
T, CP, B, L, E_ FRAME_SIZ
E, Y }が得られ,集合演算機構15によって,A
∩B={CP,L} が得られる。判定部16では,この結果を出力し,本シ
ステムの使用者に対して注意を促す。
ル(Module A)として複数のモジュールからな
るモジュール群を想定してもよく,また,別のあるモジ
ュール(Module B)として先のモジュール(ま
たはモジュール群)を含まない複数のモジュールからな
るモジュール群を想定してもよい。
ジュール内インタフェースの検証システムの例について
,図8に従って説明する。
ム図8において,情報収集部12は,以下のような情報
を収集する。 −このモジュール70の内部で定義(割り当て)された
変数名を収集し,それを要素とする集合Aを作成する。 −このモジュール70の内部で値が参照される変数名を
収集し,それを要素とする集合Bを作成する。 −このモジュール70の内部で値が設定される変数名を
収集し,それを要素とする集合Cを作成する。
れたこれらの変数名を要素とする集合に対して,検証部
14に図6の(e) に示すような集合演算を行う。
分。モジュールの外で定義(割当て)されているものを
利用(値参照,値設定)している変数。 (2) A−(B∪C)の要素:図15(b) の斜線
部分。モジュールの外で利用(値参照,値設定)されて
いる変数。あるいは,他では未使用である変数。 (3) B−Cの要素:図15(c) の斜線部分。モ
ジュール外で値設定している(それを内部で値参照して
いる)変数。 (4) C−Bの要素:図15(d) の斜線部分。(
この内部での値設定を)モジュール外で参照している変
数。判定部16では,このような判定結果,並びに,そ
の要素を出力する。
char *file _name=”test.d
at”; fd=fopen(file_name,”
r”);… printf(”%s”, my_buffer);… }
して情報収集すると,以下のような集合が作成される。 内部定義A={fd, my_buffer, fil
e_name}値参照B={BUFSIZ, file
_name, my_buffer}値設定C={fi
le_name, fd}
}C−B={fd} が得られる。また,結果として図16のような出力をお
こなう。
た発明を利用した,モジュール内およびモジュール間イ
ンタフェースの検証システムについて説明する。これは
,陽にモジュール外への入出力を明示するようなモジュ
ールにおける,その指示の正当性を検証する検証システ
ムである。
ような情報を収集する。・このモジュール70の内部で
定義(割当て)された変数名を収集し,それを要素とす
る集合Aを作成する。・このモジュール70の内部で値
設定される変数名を収集し,それを要素とする集合Cを
作成する。・このモジュール70の内部で明示されたモ
ジュール外部への出力の変数名を収集し,それを要素と
する集合Dを作成する。・このモジュール70以外の全
てのモジュールで参照される変数名を収集し,それを要
素とする集合Fを作成する。・このモジュール70以外
の全てのモジュールで設定される変数名を収集し,それ
を要素とする集合Gを作成する。
15にて,集合演算 H1 =(A∪C)∩(F∪G)−D H2 =D−(A∪C)∩(F∪G) を行う。判定部16では,この演算結果H1 ,H2
に対して, H1 =H2 =φ であるかどうかをチェックし,そうであれば,陽に明示
されているモジュール外への出力表示とモジュール内の
処理との整合性がとれているものであるとの情報を出力
する。そうでなければ,整合性がとれていない旨のメッ
セージを出力し,必要に応じて,前記の集合演算結果を
も出力する。
下のような処理を行う。 ・このモジュール70の内部で定義(割り当て)された
変数名を収集し,それを要素とする集合Aを作成する。 ・このモジュール70の内部で値参照される変数名を収
集し,それを要素とする集合Bを作成する。 ・このモジュール70の内部で値設定される変数名を収
集し,それを要素とする集合Cを作成する。 ・このモジュール70の内部で明示されたモジュール外
からの入力の変数名を収集し,それを要素とする集合E
を作成する。 ・このモジュール70以外の全てのモジュールで設定さ
れる変数名を収集し,それを要素とする集合Gを作成す
る。
15にて,集合演算 H1 =((( B∪C)∩G)−A)−EH2 =E
−((( B∪C)∩G)−A)を行う。判定部16で
は,この演算結果H1 ,H2 に対して, H1 =H2 =φ であるかどうかをチェックし,そうであれば,陽に明示
されているモジュール内への入力表示とモジュール内の
処理との整合性がとれているものであるとの情報を出力
する。そうでなければ,整合性がとれていない旨のメッ
セージを出力し,必要に応じて,前記の集合演算結果を
も出力する。
との入出力の記述が正しいものであるかどうかが検証さ
れる。
ついて説明する。図10に本実現例のシステム構成図を
示す。
,情報収集基準の収集基準情報30,集合演算基準の演
算指示情報31,判定基準の判定基準情報32を作成す
るものである。基準作成のアルゴリズムを以下に示す。 (1) ユーザ入力100を読み込み,(2) その入
力を解析し, (3) そこから,必要な情報収集の基準,集合演算の
基準,判定の基準の情報を取り出し, (4) 各基準をそれぞれの形式に従って作成し,(5
) 情報収集基準,集合演算基準,判定基準として,そ
れぞれ,情報収集部12,集合演算機構15,判定部1
6へ渡す。また,この基準作成部101にて,一括して
ユーザ入力100を得るのではなく,ユーザに逐次必要
な基準を問い合わせて,それから情報収集基準,集合演
算基準,判定基準を,それぞれ作成してもよい。
示するものである。ここには,生成する集合に対して,
それぞれ収集対象のモジュール(またはモジュール群)
と,オペレーションとその対象となる情報とが指定され
る。
定するものである。指定可能な集合演算として,A∪B
,A∩B,A−Bといった基本演算と,これらを複数結
合した複合演算があり,これらが指定可能であるとする
。
る判断材料である。指定した集合演算結果に対する判定
が指定される。また必要に応じて,その意味付けが指定
されてもよい。
の例を以下に示す。これは以下のことを意味する。集合
Aは,モジュールModule A,Module B
内に出現するオペレーションset/2 に対して,そ
の第0引数に出現するデータを要素とする。
に出現するオペレーションget/2 に対して,その
第0引数に出現するデータを要素とする。(例において
,オペレーション引数中の“−”は,その引数値は無視
することを示すものである。)
ある必要がある。 SET:A={x|set(x,
−)∈(Module A∪Module B)}
SET:B={y|get(y,−)
∈(Module C} RESU
LT:A∩B==φ
を得た場合,各情報収集基準,集合演算基準,判定基準
は,それぞれ,以下のような形式となる。 情報収集基準: BEGIN A READ:Module A,Module BOPE
RATION:set/3 DATA:ARITY(0) END BEGIN B READ:Module C OPERATION:get/3 DATA:ARITY(0) END 集合演算基準: RESULT=A∩B 判定基準: RESULT==φ
成する集合に対するモジュールを読み込む。この読み込
んだオペレーションに対して,一つずつ,情報判定基準
で指定されたオペレーションかどうかを判定する。指定
されたオペレーションならば,情報判定基準で指定され
た,対象となる情報の識別情報を取り出し,同じ識別情
報が既に格納されていないならば,作成する集合にその
要素として格納する。もし,既に同じ識別情報が格納さ
れているならば,その識別情報は格納しない。
モジュール(またはモジュール群)のすべてのオペレー
ションに対して行う。これを,情報収集基準で指定され
た,作成すべき全ての集合に対して行い,それぞれ集合
を作成していく。
,集合演算基準に示された集合演算を行う。判定部16
: 判定部16では,判定基準に示す通りの結果であるかど
うか判定し,その趣旨を出力する。また必要に応じて,
集合演算結果,ユーザが指定したコメント,等を出力し
てもよい。
検証システムの実行例を,以下に示す。 入力モジュールの例: Module A: (1) A(i) の値をY(n) に設定する。 (2) pct を進める。
定する。 (3) Gへのreference をA(n) に設
定する。 (4) pct を進める。 (5) Gを進める。
ference をA(i) に設定する。 (3) そうでなければ,Y(n) の値をA(i)
に設定する。 (4) pct を進める。
∈(Module A∪Module B)}
SET:B={y|yの値を∈Modul
e C} RESULT:PRIN
TOUT:=A∩B
RATION:設定する DATA:PRE(に) END BEGIN B READ:Module C OPERATION:値を DATA:PRE(の) END
}B={A(i),Y(n) } 集合演算結果並びに出力結果: A∩B={Y(n),A(i) }
情報収集基準,集合演算基準,判定基準それぞれが何も
指定されなくてもよい。また,各基準情報が接続してい
なくてもよい。この場合,ユーザ入力中にデフォルト値
を指定する旨が記述されているか,または各基準を作成
するのに必要な情報がない場合,基準作成部101にて
,必要に応じてデフォルト値で処理を行う旨をユーザに
示し,基準作成部101が保持するデフォルト値を各基
準の値として対応する処理部へそれぞれの基準を渡す。 または,各基準内にデフォルト値である趣旨を記述する
。
の例を以下に示す。情報収集基準: BEGIN A DEFAULT END BEGIN B DEFAULT END 集合演算基準: RESULT=DEFAULT 判定基準: DEFAULT
さらに,各情報収集部12,集合演算機構15,判定部
16にて,それぞれユーザ入力を受け付けることで,そ
れぞれの実行をリアルタイムに変更させてもよい。
説明する。その構成は,図4に示すとおりである。
を行う範囲を指定するものである。範囲の指定方法とし
て,ここでは,生成する集合ごとに,それぞれ,モジュ
ール名とそれぞれの収集開始位置と収集終了位置とを指
定する。範囲の指定を,入力した全てのモジュールに対
する先頭から最後までとすると,請求項1または請求項
2記載の発明と同様の結果が得られる。
指示が可能とする。 BEGIN A READ:Module A:=TOP T
O CALL(func/3)
Module B:=ALL END BEGIN B READ:Module C:=DEFINI
TION(func/3)
Module B:=ALLEND
作成する場合,モジュールModule A内の先頭か
ら関数func/3の呼び出しまでと,モジュールMo
dule B内の全てに出現するオペレーションが情報
収集対象である。集合Bを作成する場合,モジュールM
odule C内の関数func/3の定義に出現する
オペレーションが情報収集対象である。
囲指定に示された各モジュールに対して,それぞれ情報
収集開始位置まで読み飛ばし,そこから,前記実施例に
示した方法等により情報を収集する。読み取りながらそ
れが情報収集終了位置であるかどうか判断し,情報収集
終了位置であるなら読込みを終了する。そうでなければ
,情報の収集を繰り返す。
ム〕以下に,請求項2,請求項4で記載した発明の実現
例として,文書制御情報インタフェース検証システムを
説明する。
システムの一部として組み込まれ,図12に示すように
ある文書110Aと文書110Bとが連続してなる第一
の文書の,文書と文書との間に文書110Cを挿入する
場合,または連続する文書から,部分的に文書を削除す
る場合に,文書の挿入または削除の前後で,文書に対す
るモジュールサイズ,フォント,行下がり,章番号,そ
の他の文書制御情報が一貫性を保持するかをチェックす
る機能を構成するものである。
れている文書制御情報と,文書内で設定されている文書
制御情報とを受け取ると,文書制御情報から文書に入力
される文書制御情報の集合としてA集合を生成する。ま
た文書に入力される文書制御情報と文書で設定されてい
る文書制御情報とから,文書の終了点で保存され,文書
に入力されるべき文書制御情報の集合としてB集合を生
成する。
が前記と同様に集合演算機構15による集合演算を実行
し,判定部16がその演算結果と,演算結果による判定
を出力情報として出力する。但し,この場合には,共通
集合 C=A∩B 差集合 D1 =A−B および D2 =B−A を求め, C≠φ,D1 =D2 =φ であれば問題はないが,その他の結果を得た場合には,
D1 およびD2 についての影響の有無を調べる必要
があることの警告を発する。
説明する。その構成は,図5に示すとおりである。
モジュール(またはモジュール群)に記述されたオペレ
ーションの実行を行い,実行単位時間ごとに実行された
オペレーションの実行ログを収集し,情報収集部12へ
渡す。この実行部50について,図17にその構成図を
,図18にその処理フローを示す。
レーション解析部172と,オペレーション実行部17
3とを持つ。また,オペレーション・ポインタ171を
持ち,実行スタック175と,変数名とその値とを格納
する変数情報テーブル176を持つ。また,実行結果を
出力する実行ログ出力部174を持つ。
初に実行すべきオペレーションを指すように,オペレー
ション・ポインタ171を設定する。そして,以下の処
理を,最後のオペレーション(或いは,実行すべきオペ
レーションがなくなる)まで繰り返す。
ペレーションを取り出し,そのオペレーションをオペレ
ーション解析部172で解析することにより,その処理
を決定し,オペレーション実行部173でそのオペレー
ションを実行する。この時,実行したオペレーションの
情報を実行ログ出力部174で出力する。
る処理ならば,その結果を変数情報テーブル176へ反
映させる。また,実行制御の処理なら,オペレーション
・ポインタ171と実行スタック175に反映させる。 なお,この実行部50は既存のトレーサを用いて実現し
てもよい。
argv) {2:Module A(6) :if(
1<argc){3:Module A(7) :fu
ncA(num,argv,&argument);
4:Module B(1) :funcA(num,
argv,argument_ p) { 5:Module B(5) :for(i=1;6:
Module B(5) :i<num; i++)
{7:Module B(10):return(1)
8:Module A(8) :funcB(num
,argument); …
行部50で作成された実行ログと実行したモジュール(
モジュール群)とを対応させ,所定の識別情報(ここで
は変数名)を収集し,この対応を対応表51として作成
し,識別情報を要素とする集合を作成する。
合の例を示す。ここで,集合Aは設定される変数名を要
素とする集合であり,集合Bは参照する変数名を要素と
する集合であるとする。 A={argc,argv,num,argument
_p,i,...}B={argc,num,argv
,i,argument,...}
51:
=B−A={argument,…}C3 =A∩B=
{argc,argv,num,i,... }が得ら
れる。
して,対応表から, argc:A(1),B(2),… argv:A(1),B(3),… num :B(3),A(4),B(6),B(8),
…i :A(5),B(6),… … という情報を得る。これより,変数num が設定より
先に参照していると判断でき,警告メッセージを出力す
る。
,情報収集部12にて,プログラム中の変数名を識別情
報として,これを要素とする集合を作成したが,特に,
変数名でなくてもよい。データベース,配列,構造体,
等の意味を持ってまとめられたデータの識別子を,変数
名と同様に,要素とする集合を作成することでも,同様
の効果をあげることができる。
,プログラムや仕様書等の記述を基に情報収集している
が,プログラムの実行中における割り当てられたメモリ
上のアドレスを基に情報収集を行ってもよい。
説明したシステムでは,情報収集部12は一つであるが
,収集する情報ごとに,複数の情報収集部12が存在し
てよく,これらで同時に集合を作成してもよい。
複数のモジュールから構成されるようなシステムにおい
て,・あるモジュールに注目して,そのモジュールが与
えるシステム内,あるいは他モジュールへの影響,・あ
るモジュールに関する仕様と実際の処理プログラムとの
違い,・設計におけるモジュール間のインタフェース,
等の検証を行うことが容易に実現でき,大規模システム
の開発に寄与するところが大きい。
である。
明図である。
ーを示す図である。
を示す図である。
係図である。
である。
。
示す図である。
Claims (5)
- 【請求項1】 それぞれ,種類と対象とを持つような
オペレーションが複数個集まって一つのモジュールを構
成し,このようなモジュールが複数存在して,一つのシ
ステムを構成している検証対象物のインタフェースの整
合性を,計算機により検証するインタフェース検証処理
方式であって,モジュールまたは一つ以上のモジュール
から構成されるモジュール群(11)を一つ以上入力し
,それぞれのモジュールまたはモジュール群(11)の
入力ごとに,所定のオペレーションの対象となる情報の
識別情報を収集し,これを要素とする集合(13)を作
成する情報収集部(12)と,集合演算機構(15)と
判定部(16)とを持ち,集合演算機構(15)により
,前記情報収集部(12)で作成された二つ以上の集合
(13)を入力して所定の集合演算を行い,判定部(1
6)により,対応するオペレーション間の関係が得られ
る演算結果を出力する検証部(14)とを備え,モジュ
ール間のインタフェースを検証することを特徴とするイ
ンタフェース検証処理方式。 - 【請求項2】 それぞれ,種類と対象とを持つような
オペレーションが複数個集まって一つのモジュールを構
成し,このようなモジュールが一つ以上存在して,一つ
のシステムを構成している検証対象物のインタフェース
の整合性を,計算機により検証するインタフェース検証
処理方式であって,与えられたモジュールから,所定の
オペレーションごとに,その対象となる情報の識別情報
を収集し,この識別情報を要素とする集合(13)をオ
ペレーションごとに複数個作成する情報収集部(12)
と,集合演算機構(15)と判定部(16)とを持ち,
集合演算機構(15)により,前記情報収集部(12)
で作成された二つ以上の集合(13)を入力して所定の
集合演算を行い,判定部(16)により,モジュール内
で対応するオペレーション間の関係が得られる演算結果
を出力する検証部(14)とを備え,モジュール内のイ
ンタフェースを検証することを特徴とするインタフェー
ス検証処理方式。 - 【請求項3】 請求項1または請求項2記載のインタ
フェース検証処理方式において,前記情報収集部(12
)は,情報収集の基準となる収集基準情報(30)を入
力することにより,ユーザ定義オペレーションの対象と
なる情報の識別情報を収集し,これを要素とする集合(
13)を複数作成する手段を持ち,前記検証部(14)
における集合演算機構(15)は,前記情報収集部(1
2)で作成された二つ以上の複数の集合(13)と集合
演算の基準となる演算指示情報(31)とを入力し,そ
の演算指示情報(31)で指定された集合演算を行う手
段を持ち,前記検証部(14)における判定部(16)
は, 集合演算結果と判定の基準となる判定基準情報(
32)とを入力し,これらを基に,対応するオペレーシ
ョン間の関係が得られる判定結果を出力する手段を持つ
ことを特徴とするインタフェース検証処理方式。 - 【請求項4】 請求項1または請求項2記載のインタ
フェース検証処理方式において,前記情報収集部(12
)は,各モジュールまたはモジュール群(11)内の情
報を収集する範囲を指定する位置指定(40)を入力し
,その範囲内で所定のオペレーションの対象となる情報
の識別情報を収集し,これを要素とする集合(13)を
作成する手段を持つことを特徴とするインタフェース検
証処理方式。 - 【請求項5】 請求項1または請求項2記載のインタ
フェース検証処理方式において,モジュールまたはモジ
ュール群(11)内のオペレーションを実行し,その実
行ログを出力する実行部(50)を備え, 前記情報収
集部(12)は,収集する識別情報に,それぞれ対応す
る実行ログを付加させ,それを要素とする集合(13)
を作成する手段を持ち,前記検証部(14)における判
定部(16)は,集合演算機構(15)で得られた集合
演算の結果から,その結果の集合の各要素に対して,実
行ログを基準とした判定を行ない,実行単位時間ごとに
変化するオペレーション間の関係を示す結果を出力する
手段を持つことを特徴とするインタフェース検証処理方
式。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3020575A JP2735698B2 (ja) | 1991-01-21 | 1991-01-21 | インタフェース検証処理方式 |
US07/823,115 US5355479A (en) | 1991-01-21 | 1992-01-21 | Interface conformance verification system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3020575A JP2735698B2 (ja) | 1991-01-21 | 1991-01-21 | インタフェース検証処理方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH04237341A true JPH04237341A (ja) | 1992-08-25 |
JP2735698B2 JP2735698B2 (ja) | 1998-04-02 |
Family
ID=12031004
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3020575A Expired - Lifetime JP2735698B2 (ja) | 1991-01-21 | 1991-01-21 | インタフェース検証処理方式 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5355479A (ja) |
JP (1) | JP2735698B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008203977A (ja) * | 2007-02-16 | 2008-09-04 | Nec Corp | ソフトウェア検証装置、ソフトウェア検証方法およびソフトウェア検証プログラム |
JP5967225B2 (ja) * | 2013-01-21 | 2016-08-10 | 日産自動車株式会社 | データ更新漏れ検査装置、データ更新漏れ検査方法、データ更新漏れ検査プログラム |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999042935A1 (en) * | 1998-02-23 | 1999-08-26 | Ip Warehouse, Inc. | System for searching and monitoring information on a computer network |
US6973560B1 (en) * | 1999-07-16 | 2005-12-06 | Lamarck, Inc. | Fault tolerant and combinatorial software environment system, method and medium |
US6895551B1 (en) | 1999-09-23 | 2005-05-17 | International Business Machines Corporation | Network quality control system for automatic validation of web pages and notification of author |
US7076767B1 (en) * | 1999-12-30 | 2006-07-11 | Unisys Corporation | Method for controlling and collecting information in a data processing system |
GB2365156B (en) * | 2000-07-24 | 2003-08-20 | Motorola Inc | Generating Co-Ordination Messages for use in Distributed Test Scripts |
US7363618B2 (en) * | 2001-02-14 | 2008-04-22 | International Business Machines Corporation | Software testing |
US7296228B2 (en) * | 2002-12-17 | 2007-11-13 | International Business Machines Corporation | Document editing by blocks and groups |
JP2005258964A (ja) * | 2004-03-12 | 2005-09-22 | Nec Corp | データ処理システム、データ処理方法及びデータ処理プログラム |
US9396095B2 (en) * | 2014-05-15 | 2016-07-19 | Fujitsu Limited | Software verification |
CN106874181B (zh) * | 2016-06-28 | 2020-09-29 | 阿里巴巴集团控股有限公司 | 一种接口转换的验证方法和装置 |
US11074069B2 (en) | 2019-06-06 | 2021-07-27 | International Business Machines Corporation | Replaying interactions with transactional and database environments with re-arrangement |
US11036619B2 (en) * | 2019-06-06 | 2021-06-15 | International Business Machines Corporation | Bypassing execution of a module in real-time |
US10915426B2 (en) * | 2019-06-06 | 2021-02-09 | International Business Machines Corporation | Intercepting and recording calls to a module in real-time |
US11016762B2 (en) * | 2019-06-06 | 2021-05-25 | International Business Machines Corporation | Determining caller of a module in real-time |
US10929126B2 (en) | 2019-06-06 | 2021-02-23 | International Business Machines Corporation | Intercepting and replaying interactions with transactional and database environments |
CN110503341A (zh) * | 2019-08-27 | 2019-11-26 | 云汉芯城(上海)互联网科技股份有限公司 | 一种基于bom选型的校验方法、装置 |
CN112306879A (zh) * | 2020-11-02 | 2021-02-02 | 平安普惠企业管理有限公司 | 接口参数校验方法、装置、设备及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4553261A (en) * | 1983-05-31 | 1985-11-12 | Horst Froessl | Document and data handling and retrieval system |
US4906988A (en) * | 1987-01-27 | 1990-03-06 | Rand Mcnally & Co. | Object verification system and method |
US5159548A (en) * | 1988-06-17 | 1992-10-27 | Banctec, Inc. | Apparatus and method for priority processing of financial documents using video image capture |
-
1991
- 1991-01-21 JP JP3020575A patent/JP2735698B2/ja not_active Expired - Lifetime
-
1992
- 1992-01-21 US US07/823,115 patent/US5355479A/en not_active Expired - Lifetime
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008203977A (ja) * | 2007-02-16 | 2008-09-04 | Nec Corp | ソフトウェア検証装置、ソフトウェア検証方法およびソフトウェア検証プログラム |
JP5967225B2 (ja) * | 2013-01-21 | 2016-08-10 | 日産自動車株式会社 | データ更新漏れ検査装置、データ更新漏れ検査方法、データ更新漏れ検査プログラム |
Also Published As
Publication number | Publication date |
---|---|
JP2735698B2 (ja) | 1998-04-02 |
US5355479A (en) | 1994-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH04237341A (ja) | インタフェース検証処理方式 | |
CA2107833C (en) | Regeneration of process control flow diagrams for programmable logic controllers | |
Zage et al. | Evaluating design metrics on large-scale software | |
CN110554958A (zh) | 图数据库测试方法、系统、设备和存储介质 | |
US5862382A (en) | Program analysis system and program analysis method | |
WO2011060655A1 (zh) | 软件业务功能覆盖率的统计方法及系统 | |
CN106682036A (zh) | 一种数据交换系统及其交换方法 | |
CN111324540B (zh) | 一种接口测试方法及装置 | |
CN111290956A (zh) | 基于脑图的测试方法、装置、电子设备及存储介质 | |
CN111767227A (zh) | 一种录制回放测试的方法及装置 | |
CN111353754A (zh) | 流程模板的生成方法、装置、电子设备及可读存储介质 | |
CN113703739B (zh) | 基于omiga引擎的跨语言融合计算方法、系统及终端 | |
JPH096628A (ja) | 並列処理手続き選定装置及び方法 | |
CN112685316A (zh) | 代码执行路径的获取方法、装置、计算机设备及存储介质 | |
CN112527573A (zh) | 一种接口测试方法、装置及存储介质 | |
CN113282496B (zh) | 接口自动测试方法、装置、设备及存储介质 | |
CN115470106A (zh) | 一种可重构芯片的验证方法和系统 | |
JP2009193488A (ja) | ソフトウェアテスト項目編集支援装置およびソフトウェアテスト項目編集支援方法 | |
CN109685453B (zh) | 智能识别工作流有效路径的方法 | |
US20050114736A1 (en) | Methods and systems for testing software development | |
JP2751539B2 (ja) | インタフェース検証処理方式 | |
CN108984390B (zh) | 用于信号系统离线工具的自动化测试通用框架及其应用 | |
JP3322129B2 (ja) | 情報自動生成方法 | |
JP6949441B2 (ja) | ベクタ適正化装置及びベクタ適正化用プログラム | |
CN1069354A (zh) | 控制程序的准备方法及其准备设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 19971216 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080109 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090109 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100109 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110109 Year of fee payment: 13 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110109 Year of fee payment: 13 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120109 Year of fee payment: 14 |