JP2010238057A - Apparatus, method and program for extracting test restriction - Google Patents
Apparatus, method and program for extracting test restriction Download PDFInfo
- Publication number
- JP2010238057A JP2010238057A JP2009086575A JP2009086575A JP2010238057A JP 2010238057 A JP2010238057 A JP 2010238057A JP 2009086575 A JP2009086575 A JP 2009086575A JP 2009086575 A JP2009086575 A JP 2009086575A JP 2010238057 A JP2010238057 A JP 2010238057A
- Authority
- JP
- Japan
- Prior art keywords
- logical
- function
- control
- test
- golden
- 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
Images
Abstract
Description
本発明は、機能検証に用いるテスト制約を自動抽出する装置、方法およびプログラムに関するものである。 The present invention relates to an apparatus, a method, and a program for automatically extracting test constraints used for function verification.
あるシステムを実現するための要求条件(仕様S)があり、その機能を実現するソフトウェア(実装D1)があり、さらに、高性能化などの理由のために、同等の機能をLSI等のハードウェア(実装D2)で実現する場合を考える。このとき、機能検証とは、実装したシステムが、その仕様に計画された所望の動作と完全一致することを保証することである。機能検証は、大きく分けて2つのアプローチがある。 There is a requirement (specification S) for realizing a certain system, there is software (implementation D1) that realizes the function, and, for reasons such as higher performance, hardware such as LSI is provided with an equivalent function. Consider a case where it is realized by (Mounting D2). In this case, the function verification is to ensure that the mounted system completely matches the desired operation planned for the specification. Functional verification can be broadly divided into two approaches.
1つはフォーマル検証と呼ばれる方法である。これは機能検証の問題を数学的な証明問題に帰着することにより解決を図る。産業的に広く浸透しているとは言いがたいが、技術的には十分実用レベルに達しているものが出ている。特に、論理関数の充足可能性判定問題を解くSAT手法は、フォーマル検証の中核エンジンとして定着していて、例えばソフトウェアの静的解析技術への応用が挙げられる(非特許文献1参照)。これは実装D1の検証を対象としたもので、ソフトウェアが一般的に満たすべき性質の検証問題をSAT手法により効率的に解決する。 One is a method called formal verification. This is solved by reducing the function verification problem to a mathematical proof problem. Although it cannot be said that it is widely spread industrially, there are some technically sufficient practical levels. In particular, the SAT method for solving the satisfiability determination problem of a logical function has been established as a core engine of formal verification, and can be applied to, for example, software static analysis technology (see Non-Patent Document 1). This is intended for verification of the implementation D1, and efficiently solves the verification problem of the property that the software should generally satisfy by the SAT method.
一方、従来から広く行われている方法にシミュレーションがある。仕様Sの要件を完全に満たす実装D1があると仮定したとき、実装D1のプログラムをゴールデンと呼ぶ。実装D2が機能的に正しく実現されているかどうかを調べる場合、通常はテストパタンをゴールデンと実装D2に入力し、シミュレーションによって双方の出力の一致を確認する。このとき、ゴールデンは、実装D2が正しく実現できているかどうかを判断するためのリファレンス・プログラムとして動作している。一致検証を行うためには、テストベンチと呼ばれる周辺モジュールが必要になる。 On the other hand, there is simulation as a widely used method. When it is assumed that there is an implementation D1 that completely satisfies the requirements of the specification S, the program of the implementation D1 is called golden. When checking whether or not the mounting D2 is functionally correctly realized, usually, a test pattern is input to the golden and the mounting D2, and a match between both outputs is confirmed by simulation. At this time, Golden operates as a reference program for determining whether or not the implementation D2 has been correctly realized. In order to perform matching verification, a peripheral module called a test bench is required.
思いつく限りの検証項目をシミュレーションする場合、検証者が仕様を熟知していれば、ピンポイントで動作確認ができるので効果的である。しかし、テストベンチとテストパタンの作成工数が問題となる。また、検証を行う上で前提となる複雑なテスト制約を仕様Sから洗い出す必要があるが、必ずしも仕様や設計の意図を完全には知りえない第三者が、動作要件を満たすテスト制約を作成することは容易ではない。さらに、テスト制約やテスト制約に基づくテストパタンを可能な限り多く作成するのは困難な作業である。 When simulating as many verification items as possible, if the verifier is familiar with the specifications, the operation can be confirmed pinpointly, which is effective. However, the man-hours for creating the test bench and test pattern become a problem. In addition, it is necessary to identify the complex test constraints that are preconditions for verification from the specification S, but a third party who does not necessarily know the specifications and design intent completely creates test constraints that satisfy the operation requirements. It is not easy to do. Furthermore, it is difficult to create as many test patterns as possible based on test constraints and test constraints.
本発明の目的は、SAT手法を応用してゴールデンを解析することにより、動作要件を満たすテスト制約を自動抽出するできるようにすることにある。 An object of the present invention is to enable automatic extraction of test constraints satisfying operation requirements by analyzing a golden by applying a SAT method.
上記目的を達成するために、請求項1にかかる発明は、所望の仕様を満たすゴールデンの制御条件からテスト制約を抽出するテスト制約抽出装置において、対象となるゴールデンの所定機能毎に制御構造を生成する制御構造生成手段と、前記制御構造から目標に到達する分岐ノードのみを抽出した前記所定機能毎の制御経路を分析生成する制御経路分析手段と、前記所定機能毎に前記制御経路を表す論理式を生成し、得られた各論理式を組み合わせて、前記制御条件の全体を表す論理関数を構成する論理関数構成手段と、SAT手法を用いて前記論理関数の全体の値を充足する充足解を求める充足可能性判定手段と、得られた前記充足解をテスト制約として記憶するとともに、該充足解の論理否定と元の論理関数との論理積を演算し、別のテスト制約の探索を繰り返す別解探索・記憶手段と、前記各手段の制御を行う制御手段と、備えることを特徴とする。
In order to achieve the above object, the invention according to
請求項2にかかる発明は、所望の仕様を満たすゴールデンの制御条件からテスト制約を抽出するテスト制約抽出方法において、対象となるゴールデンの所定機能毎に制御構造を生成する制御構造生成ステップと、前記制御構造から目標に到達する分岐ノードのみを抽出した前記所定機能毎の制御経路を分析生成する制御経路分析ステップと、前記所定機能毎に前記制御経路を表す論理式を生成し、得られた各論理式を組み合わせて、前記制御条件の全体を表す論理関数を構成する論理関数構成ステップと、SAT手法を用いて前記論理関数の全体の値を充足する充足解を求める充足可能性判定ステップと、得られた前記充足解をテスト制約として記憶するとともに、該充足解の論理否定と元の論理関数との論理積を演算し、別のテスト制約の探索を繰り返す別解探索・記憶ステップと、を備えることを特徴とする。
The invention according to
請求項3にかかる発明は、所望の仕様を満たすゴールデンの制御条件からテスト制約を抽出するテスト制約抽出プログラムにおいて、対象となるゴールデンの所定機能毎に制御構造を生成する制御構造生成ステップと、前記制御構造から目標に到達する分岐ノードのみを抽出した前記所定機能毎の制御経路を分析生成する制御経路分析ステップと、前記所定機能毎に前記制御経路を表す論理式を生成し、得られた各論理式を組み合わせて、前記制御条件の全体を表す論理関数を構成する論理関数構成ステップと、SAT手法を用いて前記論理関数の全体の値を充足する充足解を求める充足可能性判定ステップと、得られた前記充足解をテスト制約として記憶するとともに、該充足解の論理否定と元の論理関数との論理積を演算し、別のテスト制約の探索を繰り返す別解探索・記憶ステップと、を備えることを特徴とする。 According to a third aspect of the present invention, in the test constraint extraction program for extracting test constraints from golden control conditions satisfying desired specifications, a control structure generation step for generating a control structure for each predetermined golden function, A control path analysis step for analyzing and generating a control path for each predetermined function that extracts only the branch node that reaches the target from the control structure, and a logical expression representing the control path for each predetermined function is generated, and each obtained Combining a logical expression, a logical function configuration step that configures a logical function that represents the entire control condition, and a satisfiability determination step that finds a satisfactory solution that satisfies the entire value of the logical function using a SAT technique; The obtained satisfied solution is stored as a test constraint, and a logical product of the logical negation of the sufficiency solution and the original logical function is calculated, and another test is performed. And another solution search and storing steps are repeated about the search, characterized in that it comprises a.
本発明によれば、SAT手法を応用してゴールデンを解析することにより、機能検証を行う際に、検証目的に合致するテスト制約を複数組自動抽出することができるので、複雑に入り組んだテスト制約の作成にかかる負担を軽減できる。また、必ずしも仕様を熟知していなくてもテスト制約を抽出することができるので、仕様を理解するための工数を減らすことが期待できる。抽出したテスト制約は、ソフトウェアのテストだけでなく、ハードウェアの機能検証にも用いることができる。さらに、本発明が抽出したテスト制約は、テスト・シーケンスの作成にも活用することができるため、テストパタン作成にかかる工数を削減できる可能性がある。これらの効果により検証生産性が向上し、シミュレーション環境構築に要するトータルの検証期間の短縮を図ることができる。 According to the present invention, by analyzing the golden by applying the SAT method, it is possible to automatically extract a plurality of sets of test constraints that match the verification purpose when performing functional verification. Can reduce the burden of creating In addition, test constraints can be extracted even if the specifications are not fully understood, so it can be expected to reduce the man-hours for understanding the specifications. The extracted test constraints can be used not only for software testing but also for hardware functional verification. Furthermore, since the test constraints extracted by the present invention can be used for creating test sequences, there is a possibility that the man-hours required for creating test patterns can be reduced. These effects improve the verification productivity and shorten the total verification period required for building the simulation environment.
次に、本発明の実施例について図面を参照して説明する。図1は本発明のテスト制約抽出方法を実施するシステム(装置)のブロック図である。本装置は、ゴールデン(プログラム)を入力する入力装置1と、入力されたゴールデンの所定機能毎に制御構造(後記するCFG)を生成する制御構造生成装置2と、前記制御構造から目標に到達する分岐ノードのみを抽出した前記所定機能毎の制御経路を分析生成する制御経路分析装置3と、前記所定機能毎に前記制御経路を表す論理式を生成し、得られた各論理式を組み合わせて、ゴールデンの制御条件の全体を表す論理関数を構成する論理関数構成装置4と、SAT手法を用いて前記論理関数の全体の値を充足する充足解を求める充足可能性判定器5と、論理関数の充足解が存在するとき該充足解をテスト制約の一例として表示する出力装置6と、得られた前記充足解をテスト制約として記憶するとともに、該充足解の論理否定と元の論理関数との論理積を演算し、別のテスト制約の探索を繰り返す別解探索・記憶装置7と、全体の制御を制御プログラムによって制御するコンピュータによる制御装置8と、信号線9とで構成される。このように、本システムによる処理は、コンピュータと制御プログラムによって実現でき、制御プログラムを記録媒体に記録することも、ネットワークを通して提供することも可能である。
Next, embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram of a system (apparatus) that implements the test constraint extraction method of the present invention. This device has an
図2は、図1の制御装置8の動作手順を示すフローチャートである。以下では、ステップS1〜S4を処理前半部とし、ステップS5〜S9を処理後半部として説明する。
FIG. 2 is a flowchart showing an operation procedure of the
<処理前半部>
まず、ステップS1では、入力装置1からゴールデンを図1のテスト制約抽出システムに入力する。制御構造生成装置2はゴールデンを入力として、制御フローグラフ(以下CFG)を生成する。図3では、ゴールデンを構成する一関数の制御構造(以下機能1)のプログラムを(a)に、該機能1の関数から自動生成したCFGを(b)に示した。CFGの自動生成には、プログラム・フロントエンドとして広く知られているものを用いることができる。
<First half of processing>
First, in step S1, golden is input from the
次に、ステップS2ではCFGの制御ノードの位置を示すポインタ(位置)Piを定義する。制御ノードとは、プログラムの実行経路の制御情報を表す単位で、図3(b)では番号付きで示されている(i=933〜948)。制御ノード同士は一方向の矢印で接続され、制御のベクトルを示す。矢印を制御エッジと呼ぶ。iの値が大きいほど、CFGにおける機能的な位置が深いことを意味する。機能1の関数では、i=933が当該関数の開始ノードを示し、i=948が当該関数の終端ノードを示している。本実施例は、i=947に到達する、すなわち機能1が関数の最終段まで実行し、何らかの計算結果を返すことを機能確認の目標として指定しており、i=948に到達するためのプログラムの実行経路を分析し、テスト制約を抽出するものである。
In step S2, a pointer (position) Pi indicating the position of the control node of the CFG is defined. A control node is a unit representing control information of a program execution path, and is indicated with a number in FIG. 3B (i = 933 to 948). Control nodes are connected by a one-way arrow to indicate a control vector. The arrow is called a control edge. A larger value of i means a deeper functional position in the CFG. In the
また、通常、ゴールデンは複数機能の集合体として構成されるため、複数の関数を保持しているが、関数は互いに呼び出し合う等の機能的な依存関係を持っており、それによりゴールデン全体の動作が決まる。図5(a)は図3(b)のcond4で呼び出される関数の制御構造(以下機能2)のプログラムを示し、図5(b)は該機能2の関数から自動生成したCFGを示す。機能2では、i=912が関数の開始ノードを示し、i=930が終端ノードで機能確認の目標として指定している。
Also, since Golden is usually configured as a collection of multiple functions, it holds multiple functions, but the functions have functional dependencies such as calling each other, which makes the entire Golden operation Is decided. FIG. 5A shows a program of a control structure (hereinafter function 2) of a function called by
ステップS3では、制御経路分析装置3がCFGに基づいて制御経路の分析を行う。図3(b)と図5(b)に、分岐条件を表すCFGの制御ノードに着目した様子を示す。該当する分岐ノードにおいて、条件式condの評価値がTRUEなら左エッジを、FALSEなら右エッジを示す。図4と図6は、機能1と機能2について、分岐ノードのみ抽出した制御関係を示す有向グラフである。つまり、順次実行文やその他経路の増減に直接関係のないノードを除外し、抽象化したCFGになっている。繰返し制御文については、基本的に同じ順次実行文を繰返すだけであるため、展開したループの中身を1回だけ辿ると考え、抽象化したCFGモデル上では扱わない。
In step S3, the control path analyzer 3 analyzes the control path based on the CFG. FIG. 3B and FIG. 5B show a state in which attention is paid to the CFG control node representing the branch condition. In the corresponding branch node, a left edge is indicated if the evaluation value of the conditional expression cond is TRUE, and a right edge is indicated if it is FALSE. 4 and 6 are directed graphs showing the control relationships in which only branch nodes are extracted for
論理関数構成装置4は、ステップS4で関数の開始〜終端ノード間の経路情報を、条件式の値TRUE/FALSEと、論理演算AND(∧)、OR(∨)、NOT(〜)の関係式で記述する。これを論理式Enとする。具体的には、図4と図6のCFG各分岐ノードに論理変数を割り当てる。この論理変数をリテラルLnとする。リテラルは論理変数の肯定形(Ln)または否定形(〜Ln)を表す。図4のリテラルはL5=(a、b、c、d、e)、図6のリテラルはL7=(m、n、o、p、q、r、s)と割り当てられている。このとき、図4と図6のCFGはそれぞれ以下の論理式(1)、(2)で表される。
Efunc1=〜a∧〜b∧〜c∧d∧(e∨〜e) (1)
Efunc2=〜m∧〜n∧〜o∧p∧(q∨〜q)∧r∧(s∨〜s) (2)
In step S4, the logical
E func1 = ~ a∧ ~ b∧ ~ c∧d∧ (e∨ ~ e) (1)
E func2 = ~ m∧ ~ n∧ ~ o∧p∧ (q∨ ~ q) ∧r∧ (s∨ ~ s) (2)
すなわち、ノード間の経路が1本であれば各肯定/否定リテラルを項としてANDでとりまとめ、2本なら肯定リテラルと否定リテラルをORでとりまとめたものを項としてANDでつなげばよい。このようにすべての関数についてステップS3とS4の処理を繰り返すことにより、制御経路情報を論理式で表現することができる。 That is, if there is a single path between nodes, each positive / negative literal is combined as a term with AND, and if two paths are combined, a positive literal and a negative literal are combined with OR as a term. In this way, by repeating the processes of steps S3 and S4 for all functions, the control path information can be expressed by a logical expression.
<処理後半部>
図2のステップS5では、前処理として、ステップS4までで得られた論理式Enからゴールデン全体を構成する論理関数Fを作成する。論理関数Fの表現形式は、後段の処理の都合上、何らかの規則に従って記述されている方式を採る必要がある。表現形式としては、積和形論理式や和積形論理式のような標準形がある。公知の充足可能性判定器の多くは和積形論理式を受け付けるようになっているが、利用シーンに応じて適切な表現形式を使い分ければよい。本実施例では、式(1)と式(2)に示すように、和積形論理式で表現する。論理関数Fの作成例を図7に示す。論理関数Fは論理式Enの論理積で表される。すなわち、本実施例における機能1と機能2の論理式から作成される論理関数Fは以下の通りである。
F=Efunc1∧Efunc2 (3)
<Second half of processing>
In step S5 of FIG. 2, as preprocessing, a logical function F constituting the entire golden is created from the logical expression En obtained up to step S4. The expression format of the logical function F needs to adopt a method described according to some rules for the convenience of subsequent processing. There are standard forms such as sum-of-products formulas and sum-of-products formulas. Many of the known satisfiability determiners accept sum-product type logical expressions, but an appropriate expression format may be used depending on the usage scene. In this embodiment, it is expressed by a sum product type logical expression as shown in Expression (1) and Expression (2). An example of creating the logical function F is shown in FIG. The logical function F is represented by a logical product of the logical expression En. That is, the logical function F created from the logical expressions of
F = E func1 ∧ E func2 (3)
ここで、機能2は図3において機能1のi=942で呼び出されている。図4によると、i=942ノードには論理変数dが割り当てられている。そのため、論理変数dは機能2の論理式Efunc2で置き換えることができる。つまり、機能1が機能2を呼び出し、それらの依存関係全体を表現した論理関数Fは以下のように記述することができる。
F=〜a∧〜b∧〜c∧〜m∧〜n∧〜o∧p∧(q∨〜q)∧r∧(s∨〜s)∧ (e∨〜e) (4)
Here,
F = ˜a∧-b∧-c∧-m∧-n∧-o∧p∧ (q∨-q) ∧r∧ (s∨-s) ∧ (e∨-e) (4)
次にステップS7では、式(4)の論理関数Fを充足可能性判定器5に与える。充足可能性判定器5には、SAT手法を用いた公知の充足可能性判定器を利用することができる。充足可能性判定器5は、論理関数F全体を1とするような入力論理変数の組合せが存在するか否か判定を行う。そのような論理変数の組が存在する場合には、充足可能(SATisfiable)と出力装置6に表示し、反対に、そのような変数の組合せが存在しない場合には、充足不可能(UNSATisfiable)と出力装置6に表示する。
Next, in step S7, the logical function F of Expression (4) is given to the
ステップS8で、もしSATisfiableと表示されれば、論理関数Fを充足する充足解が存在するので、充足解がひとつ例示される。この充足解がテスト制約ということになる。テスト制約はTRUE/FALSEの組合せで表される制御情報であり、ステップS2で指定した機能確認目標に到達することが保証されている。すなわち、ここで得られた制御情報が機能検証の目的を満たすテスト制約そのものを意味する。図8に例を示す。ここでは、充足解A8が表示されたので、充足解A8として別解探索・記憶装置7に保存する。充足可能性判定器5は通常、充足解をひとつしか表示しないため、別の充足解を例示させたい場合は以下のステップS9を実施する。
In step S8, if SATisfiable is displayed, since there is a satisfactory solution that satisfies the logical function F, one satisfactory solution is exemplified. This satisfactory solution is a test constraint. The test constraint is control information represented by a combination of TRUE / FALSE, and is guaranteed to reach the function confirmation target specified in step S2. That is, the control information obtained here means the test constraint itself that satisfies the purpose of function verification. An example is shown in FIG. Here, since satisfaction solution A 8 is displayed and stored in a separate solution search-
複数の充足解Aiが存在するとき、別解を表示させるためには、ステップS9で「F=F∧〜Ai」を演算して、新たな論理関数F’を生成し、再度ステップS7で充足可能性判定器5に解かせる必要がある。
In order to display another solution when there are a plurality of satisfactory solutions Ai, “F = F∧˜Ai” is calculated in step S9 to generate a new logical function F ′, and is satisfied again in step S7. It is necessary to let the
具体例を図8に示す。充足解A8は既に1度出力されたので、もう一度同じ解を表示する必要はない。しかし、論理関数Fのままでは充足可能性判定器5は再び充足解A8を出力する可能性がある。そこで、以下のように表示される充足解の候補から充足解A8を除外する。
F’=F∧〜A8 (5)
図8の表から、「A8=〜a∧〜b∧〜c∧〜m∧〜n∧〜o∧p∧q∧r∧s∧e」なので、「〜A8=〜(〜a∧〜b∧〜c∧〜m∧〜n∧〜o∧p∧q∧r∧s∧e)」となり、二重否定をなくすと、ド・モルガンの法則により、以下のように表される。
〜A8=a∨b∨c∨m∨n∨o∨〜p∨〜q∨〜r∨〜s∨〜e (6)
式(6)を式(5)に代入してF’を解くと、充足解A8以外の別解を得ることができる。図8は、充足解A8の次に充足解A3が得られた例を示している。
A specific example is shown in FIG. Since satisfaction solution A 8 is outputted already once, there is no need to display again the same solution. However, satisfiability determiner remains
F '= F∧ ~ A 8 (5)
From the table of FIG. 8, since “A 8 = ˜a ∧˜b ∧˜c ∧˜m ∧˜n ∧˜o ∧p ∧q ∧r ∧s ∧e”, “˜A 8 = ˜ (˜a ∧ ~ B∧ ~ c∧ ~ m∧ ~ n∧ ~ o∧p∧q∧r∧s∧e) "and without double negation, it is expressed as follows according to De Morgan's law.
~A 8 = a∨b∨c∨m∨n∨o∨~p∨~q∨~r∨~s∨~e (6)
By substituting equation (6) into equation (5) and solving F ′, another solution other than the satisfactory solution A 8 can be obtained. Figure 8 is satisfaction solution A 3 shows an example obtained next to the satisfaction solution A 8.
以下、同様に一度表示出力された充足解を除外し、UNSATisfiableが表示されるまで繰り返し充足可能性判定のステップS7を実施する。充足解が存在する限り新たなテスト制約を生成し、別解探索・記憶装置7に保存することができる。本実施例では、A1〜A8のすべてを出力後、UNSATisfiableと表示されるので、その時点で処理を終了する。
Similarly, the satisfiability solution that has been once displayed and output is excluded, and step S7 of the satisfiability determination is repeatedly performed until UNSATisable is displayed. As long as a satisfactory solution exists, a new test constraint can be generated and stored in another solution search /
以上のように、本実施例は、SAT手法を応用してゴールデンを解析することにより、機能検証を行う際に、検証目的に合致するテスト制約を複数組自動抽出することができる。また、必ずしも仕様を熟知していなくてもテスト制約を抽出することができる。抽出したテスト制約は、ソフトウェアのテストだけでなく、ハードウェアの機能検証にも用いることができる。さらに、抽出したテスト制約は、テスト・シーケンスの作成にも活用することができるる。 As described above, in this embodiment, by analyzing the golden by applying the SAT method, it is possible to automatically extract a plurality of sets of test constraints that match the verification purpose when performing functional verification. In addition, test constraints can be extracted without necessarily knowing the specifications. The extracted test constraints can be used not only for software testing but also for hardware functional verification. Furthermore, the extracted test constraints can be used to create a test sequence.
1:入力装置
2:制御構造生成装置
3:制御経路分析装置
4:論理関数構成装置
5:充足可能性判定器
6:出力装置
7:別解探索・記憶装置
8:制御装置
9:信号線
1: Input device 2: Control structure generation device 3: Control path analysis device 4: Logic function configuration device 5: Satisfiability determiner 6: Output device 7: Alternative solution search / storage device 8: Control device 9: Signal line
Claims (3)
対象となるゴールデンの所定機能毎に制御構造を生成する制御構造生成手段と、
前記制御構造から目標に到達する分岐ノードのみを抽出した前記所定機能毎の制御経路を分析生成する制御経路分析手段と、
前記所定機能毎に前記制御経路を表す論理式を生成し、得られた各論理式を組み合わせて、前記制御条件の全体を表す論理関数を構成する論理関数構成手段と、
SAT手法を用いて前記論理関数の全体の値を充足する充足解を求める充足可能性判定手段と、
得られた前記充足解をテスト制約として記憶するとともに、該充足解の論理否定と元の論理関数との論理積を演算し、別のテスト制約の探索を繰り返す別解探索・記憶手段と、
前記各手段の制御を行う制御手段と、
を備えることを特徴とするテスト制約抽出装置。 In a test constraint extraction device that extracts test constraints from golden control conditions that meet desired specifications,
Control structure generating means for generating a control structure for each predetermined function of the target golden;
Control path analysis means for analyzing and generating a control path for each of the predetermined functions in which only the branch node that reaches the target is extracted from the control structure;
Generating a logical expression representing the control path for each of the predetermined functions, and combining the obtained logical expressions to form a logical function representing the entire control condition;
Satisfiability determination means for obtaining a satisfiable solution that satisfies the entire value of the logic function using a SAT method;
Storing the obtained sufficiency solution as a test constraint, calculating a logical product of the logical negation of the sufficiency solution and the original logic function, and repeating a search for another test constraint;
Control means for controlling each means;
A test constraint extraction device comprising:
対象となるゴールデンの所定機能毎に制御構造を生成する制御構造生成ステップと、
前記制御構造から目標に到達する分岐ノードのみを抽出した前記所定機能毎の制御経路を分析生成する制御経路分析ステップと、
前記所定機能毎に前記制御経路を表す論理式を生成し、得られた各論理式を組み合わせて、前記制御条件の全体を表す論理関数を構成する論理関数構成ステップと、
SAT手法を用いて前記論理関数の全体の値を充足する充足解を求める充足可能性判定ステップと、
得られた前記充足解をテスト制約として記憶するとともに、該充足解の論理否定と元の論理関数との論理積を演算し、別のテスト制約の探索を繰り返す別解探索・記憶ステップと、
を備えることを特徴とするテスト制約抽出方法。 In a test constraint extraction method for extracting test constraints from golden control conditions that satisfy a desired specification,
A control structure generation step for generating a control structure for each predetermined function of the target golden;
A control path analyzing step for analyzing and generating a control path for each of the predetermined functions, in which only the branch nodes reaching the target are extracted from the control structure;
A logical function configuration step of generating a logical expression representing the control path for each predetermined function and combining the obtained logical expressions to form a logical function representing the entire control condition;
A satisfiability determination step for obtaining a sufficiency solution that satisfies the entire value of the logical function using a SAT method;
Storing the obtained sufficiency solution as a test constraint, calculating a logical product of the logical negation of the sufficiency solution and the original logic function, and repeating a search for another test constraint;
A test constraint extraction method characterized by comprising:
対象となるゴールデンの所定機能毎に制御構造を生成する制御構造生成ステップと、
前記制御構造から目標に到達する分岐ノードのみを抽出した前記所定機能毎の制御経路を分析生成する制御経路分析ステップと、
前記所定機能毎に前記制御経路を表す論理式を生成し、得られた各論理式を組み合わせて、前記制御条件の全体を表す論理関数を構成する論理関数構成ステップと、
SAT手法を用いて前記論理関数の全体の値を充足する充足解を求める充足可能性判定ステップと、
得られた前記充足解をテスト制約として記憶するとともに、該充足解の論理否定と元の論理関数との論理積を演算し、別のテスト制約の探索を繰り返す別解探索・記憶ステップと、
を備えることを特徴とするテスト制約抽出プログラム。 In a test constraint extraction program that extracts test constraints from golden control conditions that meet the desired specifications,
A control structure generation step for generating a control structure for each predetermined function of the target golden;
A control path analyzing step for analyzing and generating a control path for each of the predetermined functions, in which only the branch nodes reaching the target are extracted from the control structure
A logical function configuration step of generating a logical expression representing the control path for each predetermined function and combining the obtained logical expressions to form a logical function representing the entire control condition;
A satisfiability determination step for obtaining a sufficiency solution that satisfies the entire value of the logical function using a SAT method;
Storing the obtained sufficiency solution as a test constraint, calculating a logical product of the logical negation of the sufficiency solution and the original logic function, and repeating a search for another test constraint;
A test constraint extraction program characterized by comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009086575A JP2010238057A (en) | 2009-03-31 | 2009-03-31 | Apparatus, method and program for extracting test restriction |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009086575A JP2010238057A (en) | 2009-03-31 | 2009-03-31 | Apparatus, method and program for extracting test restriction |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010238057A true JP2010238057A (en) | 2010-10-21 |
Family
ID=43092302
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009086575A Pending JP2010238057A (en) | 2009-03-31 | 2009-03-31 | Apparatus, method and program for extracting test restriction |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010238057A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016001982A1 (en) * | 2014-06-30 | 2016-01-07 | 株式会社 日立製作所 | Test data generation assistance device and test data generation assistance method |
JP2020088718A (en) * | 2018-11-29 | 2020-06-04 | ソフトバンク株式会社 | System structure analysis device, system structure analysis method, and system structure analysis program |
CN117056203A (en) * | 2023-07-11 | 2023-11-14 | 南华大学 | Numerical expression type metamorphic relation selection method based on complexity |
-
2009
- 2009-03-31 JP JP2009086575A patent/JP2010238057A/en active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016001982A1 (en) * | 2014-06-30 | 2016-01-07 | 株式会社 日立製作所 | Test data generation assistance device and test data generation assistance method |
JP2020088718A (en) * | 2018-11-29 | 2020-06-04 | ソフトバンク株式会社 | System structure analysis device, system structure analysis method, and system structure analysis program |
CN117056203A (en) * | 2023-07-11 | 2023-11-14 | 南华大学 | Numerical expression type metamorphic relation selection method based on complexity |
CN117056203B (en) * | 2023-07-11 | 2024-04-09 | 南华大学 | Numerical expression type metamorphic relation selection method based on complexity |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Brayton et al. | ABC: An academic industrial-strength verification tool | |
Gosain et al. | Static analysis: A survey of techniques and tools | |
US7665072B2 (en) | Generating test cases for software with complex preconditions | |
US9207935B2 (en) | Early analysis of software design diagrams | |
Carmona et al. | New region-based algorithms for deriving bounded Petri nets | |
US10719645B1 (en) | Model structure analysis with integration of transformed slice | |
Hooimeijer et al. | StrSolve: solving string constraints lazily | |
US11314225B2 (en) | Systems and methods for evaluating assessments | |
Karfa et al. | Verification of datapath and controller generation phase in high-level synthesis of digital circuits | |
Redl | The dlvhex system for knowledge representation: recent advances (system description) | |
Černý et al. | Segment abstraction for worst-case execution time analysis | |
Deantoni et al. | Towards a meta-language for the concurrency concern in DSLs | |
US9043746B2 (en) | Conducting verification in event processing applications using formal methods | |
Meinke | Learning-based testing: recent progress and future prospects | |
US8909579B2 (en) | Identifying invariant candidates based on proofs | |
Penczek et al. | Abstractions and partial order reductions for checking branching properties of time Petri nets | |
JP2010238057A (en) | Apparatus, method and program for extracting test restriction | |
JP2017522639A5 (en) | ||
Rashid et al. | Exploring the platform for expressing SystemVerilog assertions in model based system engineering | |
JP5328987B2 (en) | Method and process computer for calculating state quantities of hybrid differential algebra process model | |
Swain et al. | Test case generation based on state machine diagram | |
Morin-Allory et al. | Efficient and correct by construction assertion-based synthesis | |
WO2019142266A1 (en) | Test case generation device, test case generation method, and test case generation program | |
Lun et al. | Automatic generation of basis component path coverage for software architecture testing | |
Doan et al. | Towards a developer-oriented process for verifying behavioral properties in UML and OCL models |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20101228 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110812 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120124 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120326 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120626 |