JP2012185539A - Software verification support device, software verification support method, and software verification support program - Google Patents
Software verification support device, software verification support method, and software verification support program Download PDFInfo
- Publication number
- JP2012185539A JP2012185539A JP2011046409A JP2011046409A JP2012185539A JP 2012185539 A JP2012185539 A JP 2012185539A JP 2011046409 A JP2011046409 A JP 2011046409A JP 2011046409 A JP2011046409 A JP 2011046409A JP 2012185539 A JP2012185539 A JP 2012185539A
- Authority
- JP
- Japan
- Prior art keywords
- verification
- software
- model
- requirement
- function
- 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
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000012795 verification Methods 0.000 claims abstract description 205
- 238000012360 testing method Methods 0.000 claims description 46
- 239000000284 extract Substances 0.000 claims description 2
- 230000006870 function Effects 0.000 description 73
- 238000012544 monitoring process Methods 0.000 description 12
- 238000000354 decomposition reaction Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 4
- 238000012821 model calculation Methods 0.000 description 4
- 238000012806 monitoring device Methods 0.000 description 4
- 238000007796 conventional method Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 101100058970 Arabidopsis thaliana CALS11 gene Proteins 0.000 description 2
- 201000005569 Gout Diseases 0.000 description 2
- 102100040974 Paraspeckle component 1 Human genes 0.000 description 2
- 101100341076 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) IPK1 gene Proteins 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 101100058961 Arabidopsis thaliana CALS2 gene Proteins 0.000 description 1
- 101100058964 Arabidopsis thaliana CALS5 gene Proteins 0.000 description 1
- 102100027557 Calcipressin-1 Human genes 0.000 description 1
- 241000282412 Homo Species 0.000 description 1
- 101100287040 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) ARG82 gene Proteins 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 239000010432 diamond Substances 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
Description
本発明は、検証要件に基づくソフトウェアの検証を支援するソフトウェア検証支援装置、ソフトウェア検証支援方法及びソフトウェア検証支援プログラムに関する。 The present invention relates to a software verification support apparatus, a software verification support method, and a software verification support program that support software verification based on verification requirements.
ソフトウェアを開発した場合、そのソフトウェアが正常に動作するかを検証する必要がある。ソフトウェアを検証するためには、検証すべき要件を決定し、その検証要件に基づいて検証を行う。検証要件は、主として人によって決定され、装置によってソフトウェアの構造に基づいて自動生成される場合もある。特許文献1には、ハードウェア設計された検証対象回路に含まれるレジスタに対する検証処理を支援する検証支援について開示されており、検証対象回路の構成から検証対象となる検証対象レジスタを特定し、その特定された検証対象レジスタについてカバレッジ基準となる検証を要するパターンを抽出し、この抽出する際に検証対象回路に含まれるレジスタにおいてDeclare、Initialize、Read及びWriteの4つの状態の中から生じる可能性のある状態遷移をあらわしたDIRWマトリックスを用意し、そのDIRWマトリックスを利用してマトリックスカバレッジ基準と実装カバレッジ基準との2種類のカバレッジ基準を決定する。
When software is developed, it is necessary to verify whether the software operates normally. In order to verify the software, the requirements to be verified are determined, and verification is performed based on the verification requirements. Verification requirements are primarily determined by a person and may be automatically generated by the device based on the structure of the software.
ソフトウェアは、計算負荷低減や関連の無い機能をひとつのプログラムにまとめるなど、実装上の理由で必ずしも各機能を人が理解し易い形で記述されていない。また、ある一つのシステムのソフトウェアが、異なる複数の言語で記述されている場合もある。このような理由などからソフトウェアから各機能を読み解くのは難しく、スキルを要する作業である。そのため、人が検証要件を決定する場合、人によって検証要件の品質がばらつく。また、ソフトウェアの構造のみに基づいて検証要件を決定する場合、検証で網羅すべき基準がソフトウェアの構造に基づいたものになるため、検証すべき機能を網羅した検証要件を抽出できない。その結果、検証モレが生じる。また、上記の特許文献1の検証支援は検証対象がハードウェアの回路であり、レジスタの状態変化に着目して検証要件を抽出しているので、ソフトウェアの検証要件の抽出には適用できない。
Software is not necessarily described in a form that is easy for humans to understand because of implementation reasons, such as reducing computational load and unrelated functions in one program. In some cases, software of a certain system is written in a plurality of different languages. For these reasons, it is difficult to read and understand each function from software, and it is a work that requires skill. Therefore, when a person determines verification requirements, the quality of the verification requirements varies from person to person. Further, when the verification requirement is determined based only on the software structure, since the standard to be covered by the verification is based on the software structure, the verification requirement covering the function to be verified cannot be extracted. As a result, verification leakage occurs. Further, the verification support of
そこで、本発明は、検証モレを抑制したソフトウェアの検証を可能とするソフトウェア検証支援装置、ソフトウェア検証支援方法及びソフトウェア検証支援プログラムを提供することを課題とする。 Therefore, an object of the present invention is to provide a software verification support apparatus, a software verification support method, and a software verification support program that enable verification of software with suppressed verification leakage.
本発明に係るソフトウェア検証支援装置は、検証要件に基づくソフトウェアの検証を支援するソフトウェア検証支援装置であって、ソフトウェアから機能モデルを生成する機能モデル生成手段と、機能モデル生成手段で生成した機能モデルに基づいて検証要件を生成する検証要件生成手段とを備えることを特徴とする。 A software verification support apparatus according to the present invention is a software verification support apparatus that supports software verification based on verification requirements, and includes a function model generation unit that generates a function model from software, and a function model generated by the function model generation unit And verification requirement generation means for generating verification requirements based on the above.
このソフトウェア検証支援装置では、機能モデル生成手段によって検証対象のソフトウェアから機能モデルを生成する。機能モデルは、ソフトウェアの機能を網羅したモデルであり、ソフトウェアの検証すべきある一面(ポイント)を抽出してモデル化したものである。また、機能モデルは、人に目に見える形で示すことができ、人がソフトウェアの機能を容易に読み解けるようにモデル化したものである。このような機能モデルを生成すると、ソフトウェア検証支援装置では、検証要件生成手段によってその機能モデルに基づいて検証要件を生成する。このように、ソフトウェア検証支援装置は、ソフトウェアから機能モデルを生成して、機能モデルから検証要件を生成することにより、機能モデルから検証すべき機能を網羅した検証要件を簡単かつ自動で生成でき、その検証要件に基づいてソフトウェアを検証することによって検証モレを抑制することができる。また、ソフトウェアが異なる複数の言語で記述されている場合でも、そのソフトウェアを機能モデルで統一的に扱うことができ、機能モデルから検証要件を簡単に生成できる。 In this software verification support apparatus, a function model is generated from software to be verified by a function model generation means. The function model is a model that covers the functions of the software, and is obtained by extracting a certain aspect (point) of the software to be verified. In addition, the function model can be shown in a form that is visible to the person, and is modeled so that the person can easily read and understand the function of the software. When such a function model is generated, the software verification support apparatus generates a verification requirement based on the function model by the verification requirement generation means. In this way, the software verification support device generates a functional model from software and generates a verification requirement from the functional model, thereby easily and automatically generating a verification requirement covering the functions to be verified from the functional model, The verification leakage can be suppressed by verifying the software based on the verification requirement. Even when software is described in a plurality of different languages, the software can be handled uniformly by the function model, and verification requirements can be easily generated from the function model.
なお、検証対象のソフトウェアの記述言語としては、様々な言語が適用可能であり、例えば、C言語等の手続き型言語、Simulinkなどのモデリング言語がある。機能モデルとしては、例えば、制御フローであればデータフローグラフ[Data flow graph]モデル、制御モードの切り替えであれば状態遷移モデル、タイミングの問題であればTimed Automataがある。 Note that various languages can be applied as the description language of the verification target software, for example, a procedural language such as C language and a modeling language such as Simulink. As the function model, for example, there is a data flow graph model for control flow, a state transition model for control mode switching, and Timed Autodata for timing problems.
本発明の上記ソフトウェア検証支援装置では、検証要件生成手段は、機能モデルから検証対象のパターンとマッチングする機能要素を抽出し、当該抽出した機能要素に基づいて検証要件を生成する構成としてもよい。このソフトウェア検証支援装置では、機能モデルから検証対象のパターン(すなわち、検証したい機能のパターン)にマッチングする機能要素を抽出して検証要件を生成することにより、機能モデルから検証すべき機能を網羅した検証要件を簡単かつ高精度に抽出できる。 In the software verification support apparatus according to the present invention, the verification requirement generation unit may extract a functional element that matches the pattern to be verified from the functional model and generate the verification requirement based on the extracted functional element. This software verification support device covers the functions that should be verified from the functional model by generating verification requirements by extracting functional elements that match the pattern to be verified (ie, the pattern of the function to be verified) from the functional model. Verification requirements can be extracted easily and with high accuracy.
本発明の上記ソフトウェア検証支援装置では、検証要件生成手段は、機能モデルをスナップショットに分解し、当該分解したスナップショットに基づいて検証要件を生成する構成としてもよい。このソフトウェア検証支援装置では、機能モデルをスナップショットに分解して検証要件を生成することにより、機能モデルから検証すべき機能を網羅した検証要件を簡単かつ高精度に抽出できる。 In the software verification support apparatus of the present invention, the verification requirement generation unit may be configured to decompose the functional model into snapshots and generate verification requirements based on the decomposed snapshots. In this software verification support device, verification requirements covering functions to be verified can be easily and accurately extracted from the function model by generating verification requirements by breaking down the functional model into snapshots.
本発明の上記ソフトウェア検証支援装置では、検証要件生成手段で生成した検証要件からソフトウェアに入力するテストを生成するテスト生成手段を備える構成としてもよい。このソフトウェア検証支援装置では、検証要件からテストを自動生成し、このテストを入力してソフトウェアを検証することにより、検証すべき機能を効率的に検証することができる。 The software verification support apparatus according to the present invention may include a test generation unit that generates a test to be input to software from the verification requirement generated by the verification requirement generation unit. In this software verification support apparatus, a function to be verified can be efficiently verified by automatically generating a test from verification requirements and inputting the test to verify the software.
本発明の上記ソフトウェア検証支援装置では、各生成手段で生成されるものを表示する表示手段を備える構成としてもよい。表示手段で表示するものとしては、例えば、機能モデル、検証要件、検証対象パターン、分解されたスナップショット、検証要件に応じたテストがある。このソフトウェア検証支援装置では、各生成手段で生成したものを表示することにより、検証を行う人に機能モデルや検証要件などを明示することができ、人がソフトウェアの機能構成や検証すべき要件などを容易に認識できる。 The software verification support apparatus of the present invention may be configured to include display means for displaying what is generated by each generation means. Examples of display by the display means include a function model, verification requirements, verification target patterns, decomposed snapshots, and tests according to the verification requirements. In this software verification support device, by displaying what is generated by each generation means, it is possible to clearly indicate the functional model, verification requirements, etc. to the person performing the verification, such as the functional configuration of the software, the requirements to be verified, etc. Can be easily recognized.
本発明に係るソフトウェア検証支援方法は、検証要件に基づくソフトウェアの検証を支援するソフトウェア検証支援方法であって、ソフトウェアから機能モデルを生成する機能モデル生成ステップと、機能モデル生成ステップで生成した機能モデルに基づいて検証要件を生成する検証要件生成ステップとを含むことを特徴とする。このソフトウェア検証支援方法によれば、各ステップの処理を行うことにより、上記ソフトウェア検証支援装置の作用及び効果を奏する。 A software verification support method according to the present invention is a software verification support method for supporting software verification based on verification requirements, a function model generation step for generating a function model from software, and a function model generated in the function model generation step And a verification requirement generation step of generating verification requirements based on the above. According to this software verification support method, the operations and effects of the software verification support apparatus are achieved by performing the processing of each step.
本発明に係るソフトウェア検証支援プログラムは、検証要件に基づくソフトウェアの検証を支援するためのソフトウェア検証支援プログラムであって、コンピュータに、ソフトウェアから機能モデルを生成する機能モデル生成機能と、機能モデル生成機能で生成した機能モデルに基づいて検証要件を生成する検証要件生成機能とを実現させることを特徴とする。このソフトウェア検証支援プログラムによれば、このプログラムをコンピュータに実行させることによって、上記ソフトウェア検証支援装置の作用及び効果を奏する。 A software verification support program according to the present invention is a software verification support program for supporting verification of software based on verification requirements, and a functional model generation function for generating a functional model from software in a computer, and a functional model generation function And a verification requirement generation function for generating verification requirements based on the functional model generated in (1). According to the software verification support program, by causing the computer to execute this program, the operation and effect of the software verification support apparatus can be achieved.
本発明によれば、ソフトウェアから機能モデルを生成して、機能モデルから検証要件を生成することにより、機能モデルから検証すべき機能を網羅した検証要件を簡単かつ自動で生成でき、その検証要件に基づいてソフトウェアを検証することによって検証モレを抑制することができる。 According to the present invention, by generating a functional model from software and generating a verification requirement from the functional model, it is possible to easily and automatically generate a verification requirement that covers the function to be verified from the functional model. The verification leakage can be suppressed by verifying the software based on the verification.
以下、図面を参照して、本発明に係るソフトウェア検証支援装置、ソフトウェア検証支援方法及びソフトウェア検証支援プログラムの実施の形態を説明する。なお、各図において同一又は相当する要素については同一の符号を付し、重複する説明を省略する。 Hereinafter, embodiments of a software verification support apparatus, a software verification support method, and a software verification support program according to the present invention will be described with reference to the drawings. In addition, the same code | symbol is attached | subjected about the element which is the same or it corresponds in each figure, and the overlapping description is abbreviate | omitted.
本実施の形態では、本発明を、任意のシステムを制御する制御ソフトウェアを検証する制御ソフトウェア検証装置に適用する。本実施の形態に係る制御ソフトウェア検証装置は、検証対象の制御ソフトウェアが入力されると、制御ソフトウェアの検証要件を自動で生成し、その検証要件に応じて制御ソフトウェアを検証する。本実施の形態には、2つの形態があり、第1の実施の形態が基本の形態であり、第2の実施の形態が基本の形態に加えて制御ソフトウェアに入力するテストを自動生成する機能も有する形態である。本実施の形態に係る制御ソフトウェア検証装置は、制御ソフトウェアの検証だけを行う専用装置でもよいし、あるいは、汎用コンピュータで制御ソフトウェア検証用のアプリケーションを実行することによって構成されてもよい。 In the present embodiment, the present invention is applied to a control software verification apparatus that verifies control software that controls an arbitrary system. When the control software to be verified is input, the control software verification apparatus according to the present embodiment automatically generates control software verification requirements and verifies the control software according to the verification requirements. In this embodiment, there are two forms, the first embodiment is a basic form, and the second embodiment is a function that automatically generates a test to be input to the control software in addition to the basic form. It is a form which also has. The control software verification apparatus according to the present embodiment may be a dedicated apparatus that performs only control software verification, or may be configured by executing a control software verification application on a general-purpose computer.
なお、検証対象のソフトウェアは、単一の言語で記述されてものでもよいし、あるいは、異なる複数の言語で記述されたものでもよい。記述言語としては、様々な言語が適用可能であり、例えば、C言語などの手続き型言語、Simulinkなどのデータフロー型のモデリング言語がある。 The verification target software may be described in a single language or may be described in a plurality of different languages. Various languages can be applied as the description language. For example, there are a procedural language such as C language and a data flow type modeling language such as Simulink.
まず、図1を参照して、本実施の形態に係る制御ソフトウェア検証装置の概要について説明する。図1は、本実施の形態に係る制御ソフトウェア検証装置の概念図である。図1では、実線で接続する構成が制御ソフトウェア検証装置の最大の構成であり、破線で接続する各構成(各組み合わせ)が制御ソフトウェア検証装置の最小の構成である。 First, an overview of the control software verification apparatus according to the present embodiment will be described with reference to FIG. FIG. 1 is a conceptual diagram of a control software verification apparatus according to this embodiment. In FIG. 1, the configuration connected by a solid line is the maximum configuration of the control software verification apparatus, and each configuration (each combination) connected by a broken line is the minimum configuration of the control software verification apparatus.
まず、制御ソフトウェア検証装置では、検証対象の制御ソフトウェアから機能モデルを生成する。機能モデルは、制御ソフトウェアの機能を網羅したモデルであり、制御ソフトウェアの検証すべきある一面(ポイント)を抽出してモデル化したものである。また、機能モデルは、人の目に見える形で示すことができ、人が制御ソフトウェアの機能を容易に読み解けるようにモデル化したものである。このように機能モデルという形で人に明示することができるので、人が機能モデルを見て検証すべき機能が網羅されているかが容易に判る。 First, the control software verification device generates a function model from the control software to be verified. The function model is a model that covers the functions of the control software, and is obtained by extracting a certain aspect (point) to be verified of the control software. The function model can be shown in a form visible to the human eye, and is modeled so that the person can easily understand the functions of the control software. Thus, since it can be clearly shown to the person in the form of a function model, it can be easily understood whether the functions that the person should verify by looking at the function model are covered.
制御ソフトウェアを実現している制御機能は様々な側面を持つので、機能モデルとしては、その制御機能の各側面に応じたものでモデル化され、例えば、制御フローであればデータフローグラフモデル(DFGモデル)、制御モードの切り替えであれば状態遷移モデル、タイミングの問題であればTimed Automataがある。なお、本実施の形態では、データフローグラフモデルの場合を例にして説明する。 Since the control function realizing the control software has various aspects, the function model is modeled according to each aspect of the control function. For example, in the case of a control flow, a data flow graph model (DFG Model), a state transition model for switching the control mode, and Timed Automata for timing problems. In the present embodiment, the case of a data flow graph model will be described as an example.
次に、制御ソフトウェア検証装置では、機能モデルから検証要件を生成する。検証要件は、制御ソフトウェアにおいて検証すべき機能の要件である。この検証要件の生成手法には、パターンマッチングとスナップショット分解の2つの手法がある。パターンマッチング手法では、機能モデルから検証パターンとマッチングする機能要素を抽出し、その抽出した機能要素に基づいて検証要件を生成する。検証パターンは、機能モデルの中で検証したい機能のパターンであり、人によって決められる。スナップショット分解手法では、機能モデルをスナップショットに分解し、その分解したスナップショットに基づいて検証要件を生成する。機能モデルのスナップショットは、機能モデルの中で特定の瞬間(タイミング)で成立しているパターンであり、機能モデルの中で可能な全てのパターンでもよいしあるいは一部のパターンでもよい。一部のスナップショットだけを用いる場合、制御機能の重要性などから、人によって決められる。 Next, the control software verification device generates verification requirements from the function model. The verification requirements are requirements for functions to be verified in the control software. There are two methods for generating the verification requirement: pattern matching and snapshot decomposition. In the pattern matching method, functional elements that match the verification pattern are extracted from the functional model, and verification requirements are generated based on the extracted functional elements. The verification pattern is a function pattern to be verified in the functional model, and is determined by a person. In the snapshot decomposition method, a functional model is decomposed into snapshots, and verification requirements are generated based on the decomposed snapshots. The snapshot of the functional model is a pattern established at a specific moment (timing) in the functional model, and may be all possible patterns or a part of the patterns in the functional model. When only a part of the snapshot is used, it is determined by the person because of the importance of the control function.
次に、制御ソフトウェア検証装置では、生成した検証要件に応じて制御ソフトウェアを検証する。ここでは、検査パスを決定するために、カバレッジモニタやテスト自動生成を利用する。カバレッジモニタでは、カバレッジ基準として制御ソフトウェアの検証すべき機能をどの程度網羅しているかを明示するために生成された検証要件をモニタに表示する。テスト自動生成では、生成された検証要件から制御ソフトウェアのテスト入力をモデル検査器を用いて自動生成する。そして、この生成されたテスト入力を制御ソフトウェアに入力して検証を行う。なお、検証については、通常は専用の装置や汎用コンピュータによって行うが、検証要件に基づいて人が行ってもよい。 Next, the control software verification device verifies the control software according to the generated verification requirement. Here, a coverage monitor or automatic test generation is used to determine the inspection path. In the coverage monitor, verification requirements generated to clearly indicate how much the functions to be verified of the control software are covered as a coverage standard are displayed on the monitor. In the automatic test generation, the test input of the control software is automatically generated using the model checker from the generated verification requirements. Then, the generated test input is input to the control software for verification. The verification is usually performed by a dedicated device or a general-purpose computer, but may be performed by a person based on verification requirements.
図2を参照して、第1の実施の形態に係る制御ソフトウェア検証装置1について説明する。図2は、第1の実施の形態に係る制御ソフトウェア検証装置の構成図である。
A control
制御ソフトウェア検証装置1は、検証対象の制御ソフトウェアSが入力されると、制御ソフトウェアSからデータフローグラフ(機能モデルM)を生成し、データフローグラフから検証要件を生成し、制御ソフトウェアSに対して検証要件に応じた検証を行い、検証結果Rを出力する。そのために、制御ソフトウェア検証装置1は、機能モデル生成手段10、検証要件生成手段11、検証手段12を備えている。
When the control software S to be verified is input, the control
入力される制御ソフトウェアSは、任意の言語によって記述され、ソフトウェアモデルSMやプログラムSPとして構成される。また、制御ソフトウェアSは、単一の言語で記述されたものでもよいし、あるいは、複数の異なる言語で記述されたものでもよい。例えば、図3には、ある制御について、単一のC言語で記述されたCコードプログラムSP1の一例を示している。このCコードプログラムSP1では、変数t以外は全てグローバル変数である。また、図5には、図3と同じ制御について2つの言語で記述された場合の一例を示しており、図(b)に前半部がSimulinkで記述されたSimulinkモデルSM2と図(c)に後半部がC言語で記述されたCコードプログラムSP2を示している。 The input control software S is described in an arbitrary language, and is configured as a software model SM or a program SP. The control software S may be written in a single language, or may be written in a plurality of different languages. For example, FIG. 3 shows an example of a C code program SP1 written in a single C language for a certain control. In the C code program SP1, all variables except for the variable t are global variables. FIG. 5 shows an example in which the same control as that in FIG. 3 is described in two languages. FIG. 5B shows a Simulink model SM2 whose first half is described in Simulink and FIG. The second half shows a C code program SP2 written in C language.
機能モデル生成手段10では、制御ソフトウェアSが入力されると、制御ソフトウェアSから機能モデルMとしてデータフローグラフを生成する。制御ソフトウェアSは上記したように部分的に異なる言語で記述されることもあるが、データフローグラフという機能モデルを定義することにより、記述言語にかかわらず、「入力から出力へのデータフローとその切り替え」という制御機能の一面を抽出することができる。データフローグラフは、プログラムの演算や分岐をノード、変数をエッジで表現されたグラフとしてモデリングされたものである。この生成されたデータフローグラフ(機能モデルM)は、モニタ(表示手段)に表示され、検証対象の人が視覚的に確認できる。
When the control software S is input, the function
データフローグラフの生成は、従来の手法を適用する。例えば、手続き型のプログラムの場合、プログラムの構文を解析し、そのプログラムの構文解析結果に基づいてプログラムのコントロールフローグラフ[Control flow graph]を生成し、コントロールフローグラフを用いてグローバル変数についての到達定義を算出し、各ノードの到達定義集合を用いて出力変数から到達定義を逆順に追跡し、その追跡結果に基づいて出力変数を出力とするデータフローグラフを生成する。 A conventional method is applied to the generation of the data flow graph. For example, in the case of a procedural program, the program syntax is analyzed, a program control flow graph is generated based on the program syntax analysis result, and global variables are reached using the control flow graph. The definition is calculated, the arrival definitions are traced in reverse order from the output variables using the arrival definition set of each node, and a data flow graph is generated that outputs the output variables based on the tracking results.
図4には、図3に示すCコードプログラムSP1のデータフローグラフDFG1を示している。データフローグラフは、演算が四角形で表され、セレクタが菱形で表され、入出力ポートが楕円で表され、参照する変数が矢印(エッジ)に付加され、参照する定数値が矢印の末端に付加される。このデータフローグラフDFG1は、「gout」を出力変数とするものである。したがって、データフローグラフDFG1では、「gout」に関連する演算フローだけが理解し易い形で抽出されている。 FIG. 4 shows a data flow graph DFG1 of the C code program SP1 shown in FIG. In the data flow graph, operations are represented by squares, selectors are represented by diamonds, input / output ports are represented by ellipses, reference variables are added to arrows (edges), and reference constant values are added to the ends of arrows. Is done. The data flow graph DFG1 uses “gout” as an output variable. Therefore, in the data flow graph DFG1, only the operation flow related to “gout” is extracted in an easily understandable form.
また、図5に示すSimulinkモデルSM2とCコードプログラムSP2で構成される制御ソフトウェアについても、図4と同様のデータフローグラフDFG1となる。図5(a)に示すように、このデータフローグラフDFG1のうち、破線で区切られる左上部分がSimulinkモデルSM2に対応する部分DFG1Mであり、右下部分がCコードプログラムSP2に対応する部分DFG1Pである。 Further, the control software composed of the Simulink model SM2 and the C code program SP2 shown in FIG. 5 is the same data flow graph DFG1 as in FIG. As shown in FIG. 5A, in the data flow graph DFG1, the upper left part divided by the broken line is a part DFG1 M corresponding to the Simulink model SM2, and the lower right part is a part DFG1 corresponding to the C code program SP2. P.
検証要件生成手段11では、機能モデルMとしてデータフローグラフが生成されると、そのデータフローグラフから検証要件Cを生成する。検証要件の生成手法としては、上記したようにパターンマッチングによる手法とスナップショット分解による手法があり、いずれか一方の手法を用いるか、あるいは、2つの手法を組み合わせて用いる。
When a data flow graph is generated as the function model M, the verification
まず、パターンマッチングについて説明する。まず、データフローグラフの中から検証パターンにマッチングする部分(機能要素)を抽出する。検証パターンは、検証が必要とされるパターン(分岐、演算等)であり、局所的なパターンを持つ機能要素に相当する。検証パターンは、検証する人が予め決めて、制御ソフトウェア検証装置1に予め登録されているものでもよいし、あるいは、検証する人がモニタ表示されるデータフローグラフを見て選択されるものでもよい。検証パターンを容易に決めるために、制御ソフトウェア検証装置1内にデータベースを構築し、そのデータベースに定型的な検証パターンを登録しておき、データベースから検証パターンを選択できるようにするとよい。図6には、検証パターンの例として、図(a)に検証パターンIP1と図(b)に検証パターンIP2を示している。このような検証パターンを、モニタに表示してもよい。図7には、図4に示すデータフローグラフDFG1において図6(a)に示す検証パターンIP1にマッチングする部分IP1’と図6(b)に示す検証パターンIP2にマッチングする部分IP2’を示している。このようなデータフローグラフにおいて検証パターンにマッチングする部分を強調してモニタに表示してもよい。
First, pattern matching will be described. First, a portion (functional element) that matches the verification pattern is extracted from the data flow graph. The verification pattern is a pattern that requires verification (branch, calculation, etc.) and corresponds to a functional element having a local pattern. The verification pattern may be determined in advance by the person to be verified and registered in advance in the control
次に、制御ソフトウェアSから、データフローグラフにおいて検証パターンにマッチングする部分(機能要素)に相当する部分を抽出し、その制御ソフトウェアSにおいて検証パターンに相当する部分から検証要件Cを生成する。このように人の目に見える形で判り易くモデル化されているデータフローグラフ(機能モデルM)から抽出される検証パターンにマッチングする部分を利用することにより、検証要件Cを容易に生成でき、検証モレを抑制できる。図8には、CコードプログラムSP1において、図7で示される検証パターンIP1にマッチングする部分(機能要素)IP1’と検証パターンIP2にマッチングする部分(機能要素)IP2’に相当する各行を示しており、機能要素IP1’に相当する行が5−7行であり、機能要素IP2’に相当する部分が17−18行である。この例の場合、「CコードプログラムSP1の5−7行と17−18行をカバーする検証を実行すること」が検証要件Cとなり、5−7行のパスの成立条件は(P==TRUE and R==TRUE)であり、17−18行のパスの成立条件は(Q==TRUE)である。生成された検証要件Cは、モニタに表示され、検証対象の人が視覚的に確認できる。 Next, a portion corresponding to a portion (functional element) matching the verification pattern in the data flow graph is extracted from the control software S, and a verification requirement C is generated from the portion corresponding to the verification pattern in the control software S. By using a portion that matches the verification pattern extracted from the data flow graph (functional model M) that is easily modeled in a human-visible form in this way, the verification requirement C can be easily generated. Verification leakage can be suppressed. FIG. 8 shows lines corresponding to a portion (functional element) IP1 ′ matching the verification pattern IP1 shown in FIG. 7 and a portion (functional element) IP2 ′ matching the verification pattern IP2 in the C code program SP1. The line corresponding to the functional element IP1 ′ is 5-7 lines, and the part corresponding to the functional element IP2 ′ is 17-18 lines. In this example, “execution of verification covering lines 5-7 and 17-18 of C code program SP1” is the verification requirement C, and the condition for establishing the path of line 5-7 is (P == TRUE). and R == TRUE), and the conditions for establishing a path on lines 17-18 are (Q == TRUE). The generated verification requirement C is displayed on a monitor and can be visually confirmed by a person to be verified.
次に、スナップショット分解について説明する。図9の例で、スナップショット分解の概要を説明する。データフローDFは、処理Aの出力変数e1と処理Bの出力変数e2がセレクタSL1で切り替えられ、セレクタSL1の出力変数が処理Cに入力され、処理Cの出力変数e3と処理Dの出力変数e4がセレクタSL2で切り替えられて出力される。ここで、各セレクタSL1,SL2で切り替えられるデータフローに対し、セレクタSL1,SL2毎にエッジを一つずつ選択すると(すなわち、スナップショット分解)、入力から出力まで切り替えの無いデータフロー(スナップショット)が得られる。スナップショットSS1は、セレクタSL1で処理Aの出力変数e1が選択されかつセレクタSL2で処理Cの出力変数e3が選択されたデータフローである。スナップショットSS2は、セレクタSL1で処理Bの出力変数e2が選択されかつセレクタSL2で処理Cの出力変数e3が選択されたデータフローである。スナップショットSS3は、セレクタSL2で処理Dの出力変数e4が選択されたデータフローである。制御機能の観点からこれらスナップショットはある瞬間に成立している機能(制御モード)と考えることができ、制御機能全体はこれらの制御モードを適宜切り替えることで実現されていると考えることができる。したがって、このようなスナップショットはデータフローにおける各機能を構成要素に分解したものとして考えることができ、機能要素に応じて検証を行うことによりモレの無い検証ができる。 Next, snapshot decomposition will be described. The outline of snapshot decomposition will be described with reference to the example of FIG. In the data flow DF, the output variable e1 of the process A and the output variable e2 of the process B are switched by the selector SL1, the output variable of the selector SL1 is input to the process C, the output variable e3 of the process C and the output variable e4 of the process D Are switched by the selector SL2 and output. Here, if one edge is selected for each of the selectors SL1 and SL2 with respect to the data flow switched by the selectors SL1 and SL2 (that is, snapshot decomposition), the data flow without switching from input to output (snapshot) Is obtained. The snapshot SS1 is a data flow in which the output variable e1 of the process A is selected by the selector SL1 and the output variable e3 of the process C is selected by the selector SL2. The snapshot SS2 is a data flow in which the output variable e2 of the process B is selected by the selector SL1 and the output variable e3 of the process C is selected by the selector SL2. The snapshot SS3 is a data flow in which the output variable e4 of the process D is selected by the selector SL2. From the viewpoint of the control function, these snapshots can be considered as functions (control modes) that are established at a certain moment, and the entire control function can be considered to be realized by appropriately switching these control modes. Therefore, such a snapshot can be considered as a function in which each function in the data flow is decomposed into constituent elements, and verification without leakage can be performed by performing verification according to the functional elements.
そこで、まず、データフローグラフに含まれるセレクタ毎にエッジを一つずつ選択し、入力から出力まで切り替えの無いスナップショットデータフローグラフを生成する。ここでは、全てのセレクタについての全ての切り替えの組み合わせを構成した場合の全てのパターンについてのスナップショットデータフローグラフを生成してもよいし、あるいは、一部のパターンについてのスナップショットデータフローグラフを生成してもよい。一部のパターンの場合には、検証する人が、生成するパターンを制御モードの重要性に応じて決めるようにするとよい。例えば、検証する人がインタラクティブに、モニタに表示されるデータフローグラフを見ながらデータフローグラフの中で切り替えられるエッジ等を選択できるようにするとよい。生成されたスナップショットデータフローグラフは、モニタに表示され、検証対象の人が視覚的に確認できる。 Therefore, first, one edge is selected for each selector included in the data flow graph, and a snapshot data flow graph without switching from input to output is generated. Here, snapshot data flow graphs for all patterns in the case of configuring all switching combinations for all selectors may be generated, or snapshot data flow graphs for some patterns may be generated. It may be generated. In the case of some patterns, it is preferable that the person who verifies determines the pattern to be generated according to the importance of the control mode. For example, it is preferable that the person to be verified can interactively select an edge to be switched in the data flow graph while looking at the data flow graph displayed on the monitor. The generated snapshot data flow graph is displayed on a monitor and can be visually confirmed by a person to be verified.
図10には、図4に示すデータフローグラフDFG1をスナップショット分解した例を示しており、3つのセレクタGSL1、GSL2,GSL3について各エッジの切り替えの全ての組み合わせを考えることで、4つのスナップショットデータフローグラフSSDFG1,SSDFG2,SSDFG3,SSDFG4が得られる。図(a)に示すスナップショットデータフローグラフSSDFG1は、セレクタGSL3で定数値0のエッジが選択された場合である。図(b)に示すスナップショットデータフローグラフSSDFG2は、セレクタGSL1で変数x=0のエッジが選択された場合である。図(c)に示すスナップショットデータフローグラフSSDFG3は、セレクタGSL1で変数x=ginのエッジが選択された場合である。図(d)に示すスナップショットデータフローグラフSSDFG4は、セレクタGSL2で変数x=ginのエッジが選択された場合である。
FIG. 10 shows an example in which the data flow graph DFG1 shown in FIG. Data flow graphs SSDFG1, SSDFG2, SSDFG3, SSDFG4 are obtained. The snapshot data flow graph SSDFG1 shown in FIG. 1A is a case where an edge having a
次に、スナップショットデータフローグラフに相当する部分を制御ソフトウェアSから抽出し、その制御ソフトウェアSにおいてスナップショットデータフローグラフに相当する部分から検証要件Cを生成する。このように人の目に見える形で判り易く各機能要素に分解されたスナップショットデータフローグラフを利用することにより、検証要件を容易に抽出でき、検証モレも抑制できる。図11には、CコードプログラムSP1において、図10(d)に示されるスナップショットデータフローグラフSSDFG4に相当する行を示しており、四角形で囲んだ2、4、11−12、16、20行である。この例の場合、このパスの成立条件は(P==FALSE and Q==FALSE)であり、これが検証要件Cとなる。生成されたこの検証要件Cは、モニタに表示され、検証対象の人が視覚的に確認できる。
Next, a portion corresponding to the snapshot data flow graph is extracted from the control software S, and a verification requirement C is generated from the portion corresponding to the snapshot data flow graph in the control software S. As described above, by using the snapshot data flow graph that is easily understandable in a form visible to human eyes and decomposed into functional elements, verification requirements can be easily extracted, and verification leakage can be suppressed. FIG. 11 shows the lines corresponding to the snapshot data flow graph SSDFG4 shown in FIG. 10D in the C code program SP1, and the
検証手段12では、検証要件Cが生成されると、検証要件Cに応じて制御ソフトウェアSを検証し、検証結果Rを出力する。ここでは、生成された検証要件Cをガバレッジ基準として適用し、検証を行う。検証方法としては、従来の様々な方法を適用でき、例えば、検証要件C(すなわち、機能要素)に応じて、実機試験、HILS[Hardware In the Loop Simulator]やSILS[Software In the LoopSimulator]などの閉ループシミュレーション、ユニットテストなどの制御ソフトウェアSの一部分を切り出したテスト、モデル検査がある。出力される検証結果Rは、モニタに表示され、検証対象の人が視覚的に確認できる。
When the verification requirement C is generated, the
図12(a)には検証手段12の構成の一例として、実機検証試験における内部状態の監視システムを示している。この検証手段12Aは、制御対象12aを制御装置12bで制御する実機システムに対して、試験条件入力装置12cと内部状態監視装置12dを備える。例えば、検証対象の制御ソフトウェアSが自動車のエンジンを制御するためのソフトウェアの場合、制御対象12aはエンジンであり、制御装置12bはエンジンを制御するためのECU[Electronic Control Unit]である。制御装置12bには、検証対象の制御ソフトウェアSの実行ファイルが組み込まれる。試験条件入力装置12cは、検証要件C毎に、検証要件Cを満たすための試験条件(テスト入力)を入力するための装置である。内部状態監視装置12dは、試験条件を入力後、制御装置12bによって制御対象12aを制御しているときに、制御装置12bのRAM値などを監視することによって内部状態を監視する装置である。このように内部状態を監視することによって、検証要件Cが網羅された試験となっているか、検証要件C毎に制御ソフトウェアSが検証要件Cを満たすように正常に動作しているかなどを検証する。この内部状態は、モニタに表示され、検証対象の人が視覚的に確認できる。
FIG. 12A shows an internal state monitoring system in an actual machine verification test as an example of the configuration of the
図12(b)には検証手段12の構成の他の例として、HILS試験における内部状態の監視システムを示している。この検証手段12Bは、制御対象モデル演算装置12eを制御装置12bで制御するシミュレーションシステムに対して、試験条件入力装置12cと内部状態監視装置12dを備える。制御対象モデル演算装置12eは、制御対象の動作をシミュレートするシミュレータである。このように、検証手段12Bでは、検証手段12Aと比較すると実機の代わりにシミュレータ(制御対象モデル演算装置12e)を用いて検証を行う。
FIG. 12B shows an internal state monitoring system in the HILS test as another example of the configuration of the
内部状態を監視する方法としては、様々な方法がある。その一例として、図13を参照して、検証対象のプログラムSPに監視すべき情報を組み込む方法について説明する。まず、検証対象プログラムSPに監視コードを埋め込み、監視コード付プログラムCSPを作成する。図14には、図4に示すCコードプログラムSP1に、図10(d)に示されるスナップショットデータフローグラフSSDFG4から生成された検証要件Cであるパス成立条件(P==FALSE and Q==FALSE)が成立したことを検証するために必要な監視コードWC1,WC2,WC3,WC4,WC5,WC6,WC7を埋め込んだ監視コード付プログラムCSP1を示している。そして、その監視コード付プログラムCSPをクロスコンパイルして実行ファイルEFを作成し、その実行ファイルEFを制御装置12bに転送して、制御装置12bに組み込む。これによって、図12に示すような試験環境において、制御装置12bに組み込まれた検証対象プログラムSPが検証要件Cを満たすように動作しているか否かを監視することが可能となる。
There are various methods for monitoring the internal state. As an example, a method for incorporating information to be monitored into the verification target program SP will be described with reference to FIG. First, a monitoring code is embedded in the verification target program SP to create a monitoring code-added program CSP. FIG. 14 shows the path establishment condition (P == FALSE and Q ==) which is the verification requirement C generated from the snapshot data flow graph SSDFG4 shown in FIG. 10 (d) in the C code program SP1 shown in FIG. The monitoring code-added program CSP1 in which the monitoring codes WC1, WC2, WC3, WC4, WC5, WC6, and WC7 necessary for verifying that FALSE is established is shown. Then, the monitoring code-added program CSP is cross-compiled to create an execution file EF, and the execution file EF is transferred to the
なお、上記のような実機やシミュレータを用いた検証について説明したが、制御ソフトウェアSのユニットテストなどでも、同様に、検証要件Cをガバレッジ基準として適用した検証を行うことができる。 In addition, although the verification using the above-mentioned actual machine and simulator was demonstrated, the verification which applied the verification requirement C as a coverage standard can be similarly performed in the unit test etc. of the control software S.
この制御ソフトウェア検証装置1によれば、制御ソフトウェアSの機能構成を網羅しかつ視覚的に把握し易い機能モデルMを生成し、機能モデルMから検証要件Cを生成することにより、機能モデルMから検証すべき機能を網羅した検証要件Cを簡単かつ自動で生成でき、その検証要件Cに基づいて制御ソフトウェアSを検証することによって検証モレを抑制することができる。また、制御ソフトウェアSが異なる複数の言語で記述されている場合でも、その制御ソフトウェアSを機能モデルMで統一的に扱うことができるので、機能モデルMから検証要件Cを簡単に生成できる。また、機能モデルMを用いて検証要件Cを生成することにより、人のスキルに依存しないで検証要件Cを生成して検証を行うことができる。
According to this control
また、制御ソフトウェア検証装置1によれば、機能モデルMから検証要件Cを生成するためにパターンマッチングやスナップショット分解を用いることにより、機能モデルMから検証すべき機能を網羅した検証要件Cを簡単かつ高精度に抽出できる。また、制御ソフトウェア検証装置1によれば、各生成手段10,11,12で生成したものをモニタ表示することにより、検証を行う人に機能モデルMや検証要件Cなどを明示することができ、人が制御ソフトウェアSの機能構成や検証すべき要件などを容易に理解できる。
Further, according to the control
図15を参照して、第2の実施の形態に係る制御ソフトウェア検証装置2について説明する。図15は、第2の実施の形態に係る制御ソフトウェア検証装置の構成図である。
With reference to FIG. 15, the control
制御ソフトウェア検証装置2は、第1の実施の形態に係る制御ソフトウェア検証装置1と比較すると、検証要件Cからテスト入力(テストベクタ)Tを自動で生成して検証を行う点が異なる。そのために、制御ソフトウェア検証装置2は、機能モデル生成手段20、検証要件生成手段21、検証手段22及びテスト入力生成手段23を備えている。なお、機能モデル生成手段20、検証要件生成手段21、検証手段22は、第1の実施の形態に係る機能モデル生成手段10、検証要件生成手段11、検証手段12と同様のものなので、説明を省略する。
The control
テスト入力生成手段23では、検証要件Cが生成されると、検証要件Cを満たすテスト入力Tを自動的に生成する。この生成手法としては、従来の手法を適用でき、例えば、ランダムテスト生成、モデル検査器を利用した手法がある。生成されたテスト入力Tは、モニタに表示され、検証対象の人が視覚的に確認できる。
When the verification requirement C is generated, the test
一例として、図16を参照して、モデル検査器を利用したテスト入力の生成について説明する。ここでは、図4に示すCコードプログラムSP1について、図10(d)に示されるスナップショットデータフローグラフSSDFG4から生成された検証要件Cのパス成立条件(P==FALSE and Q==FALSE)を成立させるためのテスト入力Tを生成する場合について説明する。まず、図16に示すように、CコードプログラムSP1に、パス成立条件(P==FALSE and Q==FALSE)を否定するような論理式を満たすべきプロパティP1及びその論理式に関連して必要な各コードTC1,TC2,TC3,TC4,TC5,TC6を埋め込み、プロパティ付プログラムPSP1を作成する。そして、このプロパティ付プログラムPSP1をモデル検査器にかけ、論理式の条件が成立しない入力の判例として検証要件Cのパス成立条件(P==FALSE and Q==FALSE)を満たすテスト入力Tを生成する。なお、C言語で記述されたプログラムの場合、CBMCというモデル検査ツールを適用できる。 As an example, generation of a test input using a model checker will be described with reference to FIG. Here, for the C code program SP1 shown in FIG. 4, the path establishment condition (P == FALSE and Q == FALSE) of the verification requirement C generated from the snapshot data flow graph SSDFG4 shown in FIG. A case where the test input T for establishing is generated will be described. First, as shown in FIG. 16, the C code program SP1 requires a property P1 that should satisfy a logical expression that negates the path establishment condition (P == FALSE and Q == FALSE) and the logical expression. Each code TC1, TC2, TC3, TC4, TC5, TC6 is embedded to create a property-added program PSP1. Then, this property-added program PSP1 is applied to the model checker to generate a test input T that satisfies the path establishment condition (P == FALSE and Q == FALSE) of the verification requirement C as an example of an input that does not satisfy the condition of the logical expression. . In the case of a program written in C language, a model checking tool called CBMC can be applied.
なお、このように生成されたテスト入力Tを用いて検証手段22で検証を行う場合、主に、制御ソフトウェアSのユニットテストなどが対象となり、制御ソフトウェアS単体の検証を行う。 When verification is performed by the verification means 22 using the test input T generated in this way, the unit test of the control software S is mainly targeted, and the control software S alone is verified.
制御ソフトウェア検証装置2は、第1の実施の形態に係る制御ソフトウェア検証装置1と同様の効果を有する上に、以下の効果も有している。制御ソフトウェア検証装置2によれば、検証要件Cからテスト入力Tを自動生成し、このテスト入力Tを入力して制御ソフトウェアSを検証することにより、検証すべき機能を効率的に検証することができる。
The control
以上、本発明に係る実施の形態について説明したが、本発明は上記実施の形態に限定されることなく様々な形態で実施される。 As mentioned above, although embodiment which concerns on this invention was described, this invention is implemented in various forms, without being limited to the said embodiment.
例えば、本実施の形態では制御ソフトウェアの検証要件を生成し、その検証要件に基づいて制御ソフトウェアの検証まで行う制御ソフトウェア検証装置に適用したが、ソフトウェアの検証要件やその検証要件に応じたテストを生成するためのソフトウェア検証支援装置に適用してもよい。また、CD−ROMなどの記憶媒体に格納されたプログラムやインタネットなどのネットワークを介して利用可能なプログラムなどに適用し、このようなプログラムをコンピュータ上で実行することによってソフトウェアの検証要件やその検証要件に応じたテストを生成する構成としてもよい。 For example, in this embodiment, control software verification requirements are generated and applied to a control software verification apparatus that performs control software verification based on the verification requirements. However, the software verification requirements and tests according to the verification requirements are performed. You may apply to the software verification assistance apparatus for producing | generating. Also, it can be applied to programs stored in a storage medium such as a CD-ROM or a program that can be used via a network such as the Internet, and by executing such a program on a computer, software verification requirements and verification can be performed. It is good also as a structure which produces | generates the test according to requirements.
また、本実施の形態では自動車などの制御に用いられる制御ソフトウェアに適用したが、制御以外にも様々なソフトウェアに適用可能である。 In this embodiment, the present invention is applied to control software used for controlling a car or the like. However, the present invention can be applied to various software other than control.
1,2…制御ソフトウェア検証装置、10,20…機能モデル生成手段、11,21…検証要件生成手段、12,12A,12B,22…検証手段、12a…制御対象、12b…制御装置、12c…試験条件入力装置、12d…内部状態監視装置、12e…制御対象モデル演算装置、23…テスト入力生成手段。
DESCRIPTION OF
Claims (7)
ソフトウェアから機能モデルを生成する機能モデル生成手段と、
前記機能モデル生成手段で生成した機能モデルに基づいて検証要件を生成する検証要件生成手段と、
を備えることを特徴とするソフトウェア検証支援装置。 A software verification support device that supports software verification based on verification requirements,
Function model generation means for generating a function model from software;
Verification requirement generation means for generating verification requirements based on the functional model generated by the functional model generation means;
A software verification support apparatus comprising:
ソフトウェアから機能モデルを生成する機能モデル生成ステップと、
前記機能モデル生成ステップで生成した機能モデルに基づいて検証要件を生成する検証要件生成ステップと、
を含むことを特徴とするソフトウェア検証支援方法。 A software verification support method for supporting software verification based on verification requirements,
A function model generation step for generating a function model from software;
A verification requirement generation step for generating a verification requirement based on the functional model generated in the functional model generation step;
A software verification support method comprising:
コンピュータに、
ソフトウェアから機能モデルを生成する機能モデル生成機能と、
前記機能モデル生成機能で生成した機能モデルに基づいて検証要件を生成する検証要件生成機能と、
を実現させることを特徴とするソフトウェア検証支援プログラム。 A software verification support program for supporting software verification based on verification requirements,
On the computer,
A function model generation function for generating a function model from software;
A verification requirement generation function for generating verification requirements based on the functional model generated by the functional model generation function;
Software verification support program characterized by realizing
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011046409A JP5589901B2 (en) | 2011-03-03 | 2011-03-03 | Software verification support apparatus, software verification support method, and software verification support program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011046409A JP5589901B2 (en) | 2011-03-03 | 2011-03-03 | Software verification support apparatus, software verification support method, and software verification support program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012185539A true JP2012185539A (en) | 2012-09-27 |
JP5589901B2 JP5589901B2 (en) | 2014-09-17 |
Family
ID=47015600
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011046409A Expired - Fee Related JP5589901B2 (en) | 2011-03-03 | 2011-03-03 | Software verification support apparatus, software verification support method, and software verification support program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5589901B2 (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017145300A1 (en) * | 2016-02-24 | 2017-08-31 | 三菱電機株式会社 | Test case generating device and test case generating program |
KR102201150B1 (en) * | 2019-09-16 | 2021-01-12 | 한화시스템 주식회사 | Electronic warfare system based on model |
KR102201161B1 (en) * | 2019-09-16 | 2021-01-12 | 한화시스템 주식회사 | Electronic warfare es system based on model |
KR102201164B1 (en) * | 2019-09-16 | 2021-01-12 | 한화시스템 주식회사 | Electronic warfare ea system based on model |
JP2022502774A (en) * | 2018-09-28 | 2022-01-11 | ジーメンス インダストリー ソフトウェア エヌ・フェーSiemens Industry Software NV | Methods and equipment for verifying software systems |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09264938A (en) * | 1996-03-29 | 1997-10-07 | Toshiba Corp | Device and method for testing integrated circuit and device and method for designing integrated circuit |
JP2001188822A (en) * | 2000-11-13 | 2001-07-10 | Nec Corp | Method and device for functional synthesis |
JP2009181549A (en) * | 2008-02-01 | 2009-08-13 | Toyota Motor Corp | Coverage measurement unit, coverage measurement method, and coverage measurement program |
-
2011
- 2011-03-03 JP JP2011046409A patent/JP5589901B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09264938A (en) * | 1996-03-29 | 1997-10-07 | Toshiba Corp | Device and method for testing integrated circuit and device and method for designing integrated circuit |
JP2001188822A (en) * | 2000-11-13 | 2001-07-10 | Nec Corp | Method and device for functional synthesis |
JP2009181549A (en) * | 2008-02-01 | 2009-08-13 | Toyota Motor Corp | Coverage measurement unit, coverage measurement method, and coverage measurement program |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017145300A1 (en) * | 2016-02-24 | 2017-08-31 | 三菱電機株式会社 | Test case generating device and test case generating program |
JP6289778B2 (en) * | 2016-02-24 | 2018-03-07 | 三菱電機株式会社 | Test case generation apparatus and test case generation program |
JPWO2017145300A1 (en) * | 2016-02-24 | 2018-04-12 | 三菱電機株式会社 | Test case generation apparatus and test case generation program |
JP2022502774A (en) * | 2018-09-28 | 2022-01-11 | ジーメンス インダストリー ソフトウェア エヌ・フェーSiemens Industry Software NV | Methods and equipment for verifying software systems |
JP7230186B2 (en) | 2018-09-28 | 2023-02-28 | シーメンス インダストリー ソフトウェア インコーポレイテッド | Method and apparatus for validating software systems |
KR102201150B1 (en) * | 2019-09-16 | 2021-01-12 | 한화시스템 주식회사 | Electronic warfare system based on model |
KR102201161B1 (en) * | 2019-09-16 | 2021-01-12 | 한화시스템 주식회사 | Electronic warfare es system based on model |
KR102201164B1 (en) * | 2019-09-16 | 2021-01-12 | 한화시스템 주식회사 | Electronic warfare ea system based on model |
Also Published As
Publication number | Publication date |
---|---|
JP5589901B2 (en) | 2014-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2007012003A (en) | System for providing development environment of feature-oriented software product line | |
KR101345068B1 (en) | System and method for workflow modeling and simulation | |
JP5589901B2 (en) | Software verification support apparatus, software verification support method, and software verification support program | |
US10521550B2 (en) | Planning and engineering method, software tool and simulation tool for an automation solution | |
CN108572892B (en) | PowerPC multi-core processor-based offline test method and device | |
Seiger et al. | Test modeling for context-aware ubiquitous applications with feature petri nets | |
US20090319830A1 (en) | System and Method for Automatically Testing a Model | |
CN110928761B (en) | Demand chain and system and method for application thereof | |
US9720690B2 (en) | Software architecture by untangling undesired code level dependencies using code refactoring | |
JP2002163020A (en) | Method and device for detecting abnormality in programmable controller | |
US10579761B1 (en) | Method and system for reconstructing a graph presentation of a previously executed verification test | |
KR101933533B1 (en) | Method for virtualizing smart factory | |
KR20070049126A (en) | Asadal : system for providing feature-oriented software product line engineering environment | |
Yeganefard et al. | Problem decomposition and sub-model reconciliation of control systems in Event-B | |
CN112231062A (en) | Safety test system and method for programmable industrial controller | |
US8490069B2 (en) | Method for validating a graphical workflow translation | |
Sun et al. | A model-based testing process for enhancing structural coverage in functional testing | |
KR101601741B1 (en) | Verification apparatus for verifying the identity of programs written in different languages | |
CN109739916A (en) | Data loading or unloading method and device | |
Khan et al. | On testing and automatic mending of safety PLC code | |
JP2013206310A (en) | Model inspection device, model inspection method, and program | |
Lilli | A modeling and verification framework for security protocols | |
JP2013069086A (en) | Software component combination support device | |
JP5180809B2 (en) | Information control system and method for creating control software | |
Pinkevich et al. | DESIGNING CUSTOM COMPUTING PLATFORMS FOR CYBER-PHYSICAL SYSTEMS |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130516 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140206 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140218 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20140701 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140714 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5589901 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
LAPS | Cancellation because of no payment of annual fees |