JP2010205066A - Counter example analysis support device, counter example analysis support system, counter example analysis support method therefor, and program - Google Patents

Counter example analysis support device, counter example analysis support system, counter example analysis support method therefor, and program Download PDF

Info

Publication number
JP2010205066A
JP2010205066A JP2009051093A JP2009051093A JP2010205066A JP 2010205066 A JP2010205066 A JP 2010205066A JP 2009051093 A JP2009051093 A JP 2009051093A JP 2009051093 A JP2009051093 A JP 2009051093A JP 2010205066 A JP2010205066 A JP 2010205066A
Authority
JP
Japan
Prior art keywords
model
counterexample
counterexamples
analysis support
analysis
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2009051093A
Other languages
Japanese (ja)
Inventor
Natsuko Noda
夏子 野田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2009051093A priority Critical patent/JP2010205066A/en
Publication of JP2010205066A publication Critical patent/JP2010205066A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To solve the problem that it is difficult to identify a cause of a failure from one counter example in the verification of a system using a model inspection. <P>SOLUTION: A plurality of counter examples that are generated are accumulated, and the plurality of the accumulated counter examples are analyzed so that a process that appears in the most counter examples and processing that appears in the most counter examples are output. There is a high possibility that the process or the processing that appears in the most counter examples is the cause of a failure. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、モデル検査技術を用いた並行システムまたは並行システムのソフトウェアの検証における反例解析支援装置、反例解析支援システム、それらの反例解析支援方法及びプログラムに関し、特に複数の反例を集積し、集積した複数の反例におけるプロセスや処理の出現頻度を解析することにより、不具合原因の候補群を提示できる反例解析支援装置、反例解析支援システム、それらの反例解析支援方法及びプログラムに関する。   The present invention relates to a counterexample analysis support apparatus, counterexample analysis support system, counterexample analysis support method and program for verifying a parallel system or software of a parallel system using model checking technology, and in particular, a plurality of counterexamples are integrated and integrated. The present invention relates to a counterexample analysis support device, a counterexample analysis support system, a counterexample analysis support method, and a program that can present a candidate group of failure causes by analyzing the frequency of appearance of processes and processes in a plurality of counterexamples.

システムやソフトウェアの動作仕様を検証する方法として、モデル検査法が知られている。モデル検査法とは、検証対象のシステムやソフトウェアの動作仕様を示す状態遷移系のモデルと、動作仕様が満たすべき性質(検証性質)を示す検証項目を入力し、モデルが検証項目に違反しないか否かにより、検証対象の動作仕様を検証する方法である。   A model checking method is known as a method for verifying operation specifications of a system and software. Model check method is a state transition system model that indicates the operation specifications of the system or software to be verified, and a verification item that indicates the property (verification property) that the operation specification should satisfy. Does the model violate the verification item? This is a method of verifying the operation specification to be verified depending on whether or not.

従って、モデル検査を行うエンジンであるモデル検査器への入力は、モデルと検証項目となるが、このモデルが検証対象システム・ソフトウェアの動作仕様に加えて、検証対象システム・ソフトウェアが動作する外界の環境の振舞いを含む場合もある。   Therefore, the input to the model checker, which is the engine that performs model checking, is the model and verification items. In addition to the operation specifications of the verification target system software, this model is the external environment where the verification target system software operates. May also include environmental behavior.

モデル検査法を用いて、複数のプロセスが並行して同時に実行される並行システム(やそのソフトウェア)の検証をすることができる。並行システムのモデル検査を行うことができるツール(モデル検査器)として、SPIN等が知られている。   Using the model checking method, it is possible to verify a parallel system (and its software) in which multiple processes are executed concurrently. SPIN or the like is known as a tool (model checker) that can perform model checking of a concurrent system.

モデル検査法では、モデルが検証項目に違反する(検証性質を満たしていない)場合、性質を満たさなくなっている場合の実行例(実行ログ)である反例を出力する。一般には性質を満たさなくなるような実行例は複数あり、その複数の中のひとつの例についてひとつの反例が対応する。ひとつの反例が膨大な量となることもある。特に、並行システムをモデル検査で検証した場合の反例には、複数のプロセスにおける処理が含まれ得る。   In the model checking method, when the model violates the verification item (does not satisfy the verification property), a counter example that is an execution example (execution log) when the property is not satisfied is output. In general, there are a plurality of execution examples that do not satisfy the property, and one counter example corresponds to one of the examples. One counterexample can be enormous. In particular, a counter example when a parallel system is verified by model checking may include processing in a plurality of processes.

反例は、検証性質を満たさないようなひとつの実行例を示すものであり、検証性質が満たされない原因、つまり不具合の原因を示すものではない。したがって、モデル検査法により動作仕様を検査する場合、反例が出力されると、システム(ソフトウェア)開発者がその反例を解析し、システム(ソフトウェア)の不具合を発見しなければならない。   The counter example shows one execution example that does not satisfy the verification property, and does not indicate the cause that the verification property is not satisfied, that is, the cause of the malfunction. Therefore, when the operation specification is inspected by the model checking method, if a counterexample is output, the system (software) developer must analyze the counterexample and find a defect in the system (software).

そのため、第1の問題点として、システムのモデル検査を用いた検証において、反例から不具合の原因を突き止めるのが難しいという問題がある。その理由は、反例はその量が膨大であることがあり、人間が人手だけで解析するのは困難だからである。   Therefore, as a first problem, there is a problem that it is difficult to find the cause of the malfunction from a counter example in the verification using the model check of the system. The reason is that counterexamples can be enormous, and it is difficult for humans to analyze them by hand.

また、第2の問題点は、並行システムの検証において反例から不具合の原因を突き止めるのが難しいということである。その理由は、第1の問題点の理由に加えて、並行システムの検証の場合には反例には複数のプロセスにおける処理が含まれ得るので、そのうちのどのプロセス・どの処理が不具合に関連にしているのか、反例だけではわからないからである。   The second problem is that it is difficult to find the cause of the malfunction from the counterexample in the verification of the parallel system. The reason for this is that in addition to the reason for the first problem, in the case of concurrent system verification, the counterexample can include processing in multiple processes, so which of which processes and which of these processes are related to the failure. This is because it is not known only by counterexamples.

そこで、第1の問題点に対して、この反例解析を典型的な不具合を抽出してパターン化したものを利用して支援する方法が、非特許文献1に記載されている。   Therefore, Non-Patent Document 1 describes a method for supporting the first problem using a pattern obtained by extracting a typical defect and patterning this counterexample analysis.

高田沙都子、外3名、「産業用コントローラに対するモデル検査適用事例」、ソフトウェア品質シンポジウム2008Satoko Takada, 3 others, “Application examples of model checking for industrial controllers”, Software Quality Symposium 2008

しかしながら、非特許文献1における問題点は、反例から不具合の原因を突き止めるための典型的な不具合のパターンの入手は一般には困難であるということである。その理由は、検証対象となるシステムについて類似システムがない、あるいは少ない場合には、起こりうる不具合についてパターンとして抽出するに足る十分な情報を持ち得ないからである。   However, the problem in Non-Patent Document 1 is that it is generally difficult to obtain a typical defect pattern for identifying the cause of the defect from the counterexample. The reason is that if there is no similar system or there are few similar systems as verification targets, sufficient information sufficient to extract a possible defect as a pattern cannot be obtained.

そこで本発明は、上記問題点に鑑みてなされたもので、システムの不具合の原因の特定を支援できる反例解析支援装置を提供することを目的とする。   Therefore, the present invention has been made in view of the above-described problems, and an object thereof is to provide a counterexample analysis support apparatus that can assist in identifying the cause of a system failure.

上記課題を解決するため、本発明における反例解析支援装置は、入力された複数の処理を有するシステムの動作仕様もしくはシステムの動作仕様と外部環境を示すモデルと、モデルが満たすべき性質を示す検証項目と、を参照して、モデルが前記検証項目を満たすか否かを検査して、モデルが前記検証項目を満たしていないと1つ以上の反例を生成するモデル検査手段と、一つのモデルと一つの検証項目に対してモデル検査手段が生成した複数の反例を集積し、保存する反例集積手段と、集積された複数の反例を解析し、最も多くの反例に現れる処理を求める反例解析手段と、反例解析手段で求められた処理を特定する情報を出力する出力手段と、を備えることを特徴とする。   In order to solve the above-described problem, the counterexample analysis support apparatus according to the present invention includes a system operation specification having a plurality of processes or a model indicating a system operation specification and an external environment, and a verification item indicating a property to be satisfied by the model. The model checking means for checking whether or not the model satisfies the verification item and generating one or more counterexamples if the model does not satisfy the verification item, and one model and A plurality of counterexamples generated by the model checking means for one verification item are collected and stored, and a counterexample analysis means for analyzing a plurality of accumulated counterexamples and obtaining processing appearing in the most counterexamples, Output means for outputting information for specifying the processing obtained by the counterexample analysis means.

また、本発明における反例解析支援システムは、入力された複数の処理を有するシステムの動作仕様もしくはシステムの動作仕様と外部環境を示すモデルが、満たすべき性質を示す検証項目を満たしているか否かを検査して、反例を生成するモデル検査装置と、反例を解析して出力する反例解析支援装置と、を備える反例解析支援システムであって、モデル検査装置は、モデルと、検証項目と、を参照して、モデルが検証項目を満たすか否かを検査して、モデルが検証項目を満たしていないと1つ以上の反例を生成するモデル検査手段を有し、反例解析支援装置は、一つのモデルと一つの検証項目に対してモデル検査手段にて生成された複数の反例を集積し、保存する反例集積手段と、集積された複数の反例を解析し、最も多くの反例に現れる処理を求める反例解析手段と、反例解析手段で求められた処理を特定する情報を出力する出力手段と、を備えることを特徴とする。   Further, the counterexample analysis support system in the present invention determines whether or not the input operation specification of the system having a plurality of processes or the model indicating the system operation specification and the external environment satisfies the verification item indicating the property to be satisfied. A counterexample analysis support system comprising: a model checking device that inspects and generates a counterexample; and a counterexample analysis support device that analyzes and outputs the counterexample. The model checking device refers to a model and a verification item. Then, it has a model checking means for checking whether or not the model satisfies the verification item and generating one or more counter examples if the model does not satisfy the verification item. Multiple counterexamples generated by the model checking means for one verification item are collected and stored, and the collected counterexamples are analyzed and appear in the most counterexamples. A counter example analysis means for determining the processing, characterized by comprising output means for outputting information specifying the processing obtained by the counter example analysis means.

また、本発明における反例解析支援装置の反例解析支援方法は、入力された複数の処理を有するシステムの動作仕様もしくはシステムの動作仕様と外部環境を示すモデルと、モデルが満たすべき性質を示す検証項目と、を参照して、モデルが検証項目を満たすか否かを検査して、モデルが検証項目を満たしていないと1つ以上の反例を生成するモデル検査ステップと、一つのモデルと一つの検証項目に対してモデル検査ステップにて生成した複数の反例を集積し、保存する反例集積ステップと、集積された複数の反例を解析し、最も多くの反例に現れる処理を求める反例解析ステップと、反例解析ステップで求められた処理を特定する情報を出力する出力ステップと、を備えることを特徴とする。   Further, the counterexample analysis support method of the counterexample analysis support apparatus according to the present invention includes a system operation specification having a plurality of input processes or a model indicating a system operation specification and an external environment, and a verification item indicating a property that the model should satisfy And a model checking step for checking whether or not the model satisfies the verification item and generating one or more counterexamples if the model does not satisfy the verification item, one model and one verification A plurality of counterexamples generated and stored in a model checking step for an item, a counterexample integration step for storing and storing, a counterexample analysis step for analyzing a plurality of accumulated counterexamples, and obtaining processing appearing in the most counterexamples, and counterexamples And an output step for outputting information for specifying the processing obtained in the analysis step.

また、本発明における反例解析支援システムの反例解析支援方法は、モデル検査装置による、入力された複数の処理を有するシステムの動作仕様もしくはシステムの動作仕様と外部環境を示すモデルと、モデルの満たすべき性質を示す検証項目と、を参照して、モデルが検証項目を満たすか否かを検査して、モデルが検証項目を満たしていないと1つ以上の反例を生成するモデル検査ステップと、反例解析支援装置による、一つのモデルと一つの検証項目に対してモデル検査ステップにて生成された複数の反例を集積し、保存する反例集積ステップと、集積された複数の反例を解析し、最も多くの反例に現れる処理を求める反例解析ステップと、反例解析ステップで求められた処理を特定する情報を出力する出力ステップと、を備えることを特徴とする。   Further, the counterexample analysis support method of the counterexample analysis support system according to the present invention is a model checker that is used to input a system operation specification having a plurality of processes or a model indicating a system operation specification and an external environment, and to satisfy the model. A model checking step for checking whether or not the model satisfies the verification item with reference to the verification item indicating the property, and generating one or more counterexamples if the model does not satisfy the verification item, and counterexample analysis The support device collects multiple counterexamples generated in the model checking step for one model and one verification item, analyzes the stored counterexample integration step, and analyzes the multiple counterexamples that are stored. A counterexample analysis step for obtaining a process appearing in the counterexample, and an output step for outputting information for specifying the process obtained in the counterexample analysis step. And butterflies.

また、本発明におけるプログラムは、入力された複数の処理を有するシステムの動作仕様もしくはシステムの動作仕様と外部環境を示すモデルと、モデルが満たすべき性質を示す検証項目と、を参照して、モデルが検証項目を満たすか否かを検査して、モデルが検証項目を満たしていないと1つ以上の反例を生成するモデル検査処理と、一つのモデルと一つの検証項目に対してモデル検査処理にて生成した複数の反例を集積し、保存する反例集積処理と、集積された複数の反例を解析し、最も多くの反例に現れる処理を求める反例解析処理と、反例解析処理で求められた処理を特定する情報を出力する出力処理と、をコンピュータに実行させることを特徴とする。   Further, the program according to the present invention refers to a system operation specification having a plurality of input processes or a model indicating a system operation specification and an external environment, and a verification item indicating a property to be satisfied by the model. Check whether the verification item satisfies the verification item, and if the model does not satisfy the verification item, one or more counterexamples are generated, and one model and one verification item are subjected to the model checking processing The counter-example collection process that collects and stores multiple counter-examples generated by the analysis, the counter-example analysis process that analyzes the multiple counter-examples that have been collected and finds the process that appears in the most counter-examples, and the process that was obtained in the counter-example analysis process An output process for outputting specified information is executed by a computer.

また、本発明におけるプログラムは、モデル検査装置による、入力された複数の処理を有するシステムの動作仕様もしくはシステムの動作仕様と外部環境を示すモデルと、モデルの満たすべき性質を示す検証項目と、を参照して、モデルが検証項目を満たすか否かを検査して、モデルが検証項目を満たしていないと1つ以上の反例を生成するモデル検査処理と、反例解析支援装置による、一つのモデルと一つの検証項目に対してモデル検査処理にて生成された複数の反例を集積し、保存する反例集積処理と、集積された複数の反例を解析し、最も多くの反例に現れる処理を求める反例解析処理と、反例解析処理で求められた処理を特定する情報を出力する出力処理と、をコンピュータに実行させることを特徴とする。   Further, the program according to the present invention includes: a model checking apparatus, a system operation specification having a plurality of input processes or a system operation specification and a model indicating an external environment; and a verification item indicating a property to be satisfied by the model. A model checking process for checking whether or not the model satisfies the verification item and generating one or more counterexamples if the model does not satisfy the verification item, and a model by the counterexample analysis support device, Multiple counterexamples generated by model checking for a single verification item are collected and stored, and the counterexample analysis for analyzing the multiple counterexamples that have been collected and determining the processes that appear in the most counterexamples It is characterized by causing a computer to execute a process and an output process for outputting information specifying the process obtained in the counterexample analysis process.

本発明により、複数の反例を解析して反例の多数に現れるプロセスや処理を求めることによって、不具合の原因になっている可能性が高いプロセスや処理を出力するため、システムの検証において開発者が反例から不具合の原因を突き止めることを効果的に支援できる。   According to the present invention, by analyzing a plurality of counterexamples and obtaining processes and processes that appear in many counterexamples, a process or process that is likely to cause a failure is output. It is possible to effectively assist in finding the cause of the malfunction from the counterexample.

本発明の第1及び第2の実施形態に係る本発明の反例解析支援装置の構成を示すブロック図である。It is a block diagram which shows the structure of the counterexample analysis assistance apparatus of this invention which concerns on the 1st and 2nd embodiment of this invention. 本発明の第3の実施形態に係る本発明の反例解析支援装置の構成を示すブロック図である。It is a block diagram which shows the structure of the counterexample analysis assistance apparatus of this invention which concerns on the 3rd Embodiment of this invention. 本発明の第4の実施形態に係る本発明の反例解析支援装置の構成を示すブロック図である。It is a block diagram which shows the structure of the counterexample analysis assistance apparatus of this invention which concerns on the 4th Embodiment of this invention. 本発明の第5の実施形態に係る本発明の反例解析支援装置の構成を示すブロック図である。It is a block diagram which shows the structure of the counterexample analysis assistance apparatus of this invention which concerns on the 5th Embodiment of this invention. 本発明の実施形態に係る本発明の反例解析支援システムの構成図である。It is a lineblock diagram of the counterexample analysis support system of the present invention concerning the embodiment of the present invention. 反例の一例を示す図である。It is a figure which shows an example of a counter example. 統計情報の一例を示す図である。It is a figure which shows an example of statistical information. 最多出現情報の一例を示す図である。It is a figure which shows an example of the most frequent appearance information.

次に、発明を実施するための最良の形態について図面を参照して詳細に説明する。   Next, the best mode for carrying out the invention will be described in detail with reference to the drawings.

(第1の実施形態)
図1は、本発明の第1の実施の形態における反例解析支援装置の構成図である。本反例解析支援装置は、入力手段1と、モデル検査手段2と、反例集積手段3と、反例解析手段4と、出力手段5と、を有して構成される。これらの手段はそれぞれ概略つぎのように動作する。
(First embodiment)
FIG. 1 is a configuration diagram of a counterexample analysis support apparatus according to the first embodiment of the present invention. The counterexample analysis support apparatus includes an input unit 1, a model checking unit 2, a counterexample accumulation unit 3, a counterexample analysis unit 4, and an output unit 5. Each of these means generally operates as follows.

入力手段1は、モデル検査手段への入力であり、モデルと検証項目を入力するためのものである。モデルは、検証対象のシステムやソフトウェアの動作仕様を示すものであり、さらに検証対象システム・ソフトウェアが動作する外界の環境の振舞いを含んでも良い。検証項目は、検証すべき性質を表すものである。   The input means 1 is an input to the model checking means, and is for inputting a model and verification items. The model indicates the operation specifications of the system or software to be verified, and may further include the behavior of the external environment in which the system software to be verified operates. The verification item represents the property to be verified.

モデル検査手段2は、モデル検査を行うエンジンであり、具体例としてはSPIN等のモデル検査器などと同様の機能を有する機能部である。   The model checking unit 2 is an engine that performs model checking. As a specific example, the model checking unit 2 is a functional unit having the same function as a model checker such as SPIN.

反例集積手段3は、モデル検査手段2が生成する複数の反例を集積する。   The counter example accumulation unit 3 accumulates a plurality of counter examples generated by the model checking unit 2.

反例解析手段4は、反例集積手段3により集積された複数の反例を解析し、複数の反例中の処理の出現回数の統計情報を生成する。また、最も出現回数の多い処理を示す最多出現情報を生成する。   The counterexample analysis unit 4 analyzes a plurality of counterexamples accumulated by the counterexample stacking unit 3 and generates statistical information on the number of appearances of processes in the plurality of counterexamples. Further, the most frequent appearance information indicating the process with the largest number of appearances is generated.

出力手段5は、反例解析手段4が生成した統計情報や、最多出現情報を出力するためのものである。   The output means 5 is for outputting the statistical information generated by the counterexample analysis means 4 and the most frequently occurring information.

次に、図1を参照して本実施の形態の全体の動作について詳細に説明する。   Next, the overall operation of the present embodiment will be described in detail with reference to FIG.

入力手段1により、モデル検査手段2への入力を行う。モデル検査手段2が、例えばSPINであった場合、Promelaで記述したモデルと、線形時相論理式(LTL)で記述した検証項目を入力する。   Input to the model checking means 2 is performed by the input means 1. If the model checking means 2 is SPIN, for example, a model described in Promela and a verification item described in a linear temporal logic formula (LTL) are input.

モデル検査手段2は、入力手段1より入力されたモデルが検証項目を満たすかどうかを検査し、その結果を出力する。検証項目を満たしていれば反例は出力されず、その解析を行う必要はないので、ここで動作は終了する。   The model checking unit 2 checks whether the model input from the input unit 1 satisfies the verification items and outputs the result. If the verification item is satisfied, the counterexample is not output, and it is not necessary to perform the analysis, so the operation ends here.

検証項目を満たしていない場合、モデル検査手段は反例を複数生成することができる。ここでモデル検査手段は、すべての反例を生成し、保存するように起動される。例えば、モデル検査手段がSPINであった場合、モデル検査手段に与えるオプションによってすべての反例を識別可能なように連続する番号をつけて保存するか、反例がひとつしか保存されないように動作を抑制するかを切り替えることができるが、全てを保存するオプションを与えて起動される。   If the verification item is not satisfied, the model checking means can generate a plurality of counterexamples. Here, the model checking means is activated to generate and save all counterexamples. For example, when the model checking means is SPIN, it is stored with consecutive numbers so that all counter examples can be identified by an option given to the model checking means, or the operation is suppressed so that only one counter example is stored. Can be toggled, but it is invoked with the option to save everything.

反例集積手段3は、モデル検査手段2の出力を受け取り、モデル検査手段2が生成した複数の反例を集積し、保存する。   The counterexample accumulation means 3 receives the output of the model checking means 2, accumulates and stores a plurality of counterexamples generated by the model checking means 2.

反例解析手段4は、反例集積手段3が集積した複数の反例について、反例に含まれる処理に関する統計情報を生成する。反例には、どの処理が実行されたかが順に記載されている。反例解析手段4は、処理が何個の反例に出現しているか出現回数を数え、処理の出現回数の統計情報を生成する。このような統計情報は、本装置のユーザが不具合の解析を行う際に補助的な情報として利用することができる。   The counterexample analysis unit 4 generates statistical information regarding processing included in the counterexamples for a plurality of counterexamples accumulated by the counterexample stacking unit 3. In the counter example, which process is executed is described in order. The counterexample analysis unit 4 counts the number of appearances of how many counterexamples a process appears, and generates statistical information of the number of times the process appears. Such statistical information can be used as auxiliary information when the user of the present apparatus analyzes a failure.

さらに、反例解析手段4は、この統計情報から、最も出現回数の多い処理を求め、最多出現情報を生成する。この最多出現処理は、不具合の原因であることが多い。   Further, the counterexample analysis unit 4 obtains the process with the largest number of appearances from the statistical information and generates the most frequent appearance information. This most frequent appearance process is often the cause of problems.

出力手段5は、反例解析手段4から、統計情報と最多出現情報を受け取り、出力する。   The output means 5 receives and outputs the statistical information and the most frequent appearance information from the counterexample analysis means 4.

本実施の形態では、反例集積手段3が複数の反例を集積し、反例解析手段4が複数の反例を解析することにより多くの反例に現れる処理を求め、出力手段5に出力するというように構成されているため、ひとつの反例を人手で解析することなく、不具合の原因になっている可能性が高い処理を特定することが可能である。   In the present embodiment, the counterexample accumulation unit 3 accumulates a plurality of counterexamples, and the counterexample analysis unit 4 analyzes a plurality of counterexamples to obtain processes appearing in many counterexamples and outputs the processing to the output unit 5. Therefore, it is possible to identify a process that is likely to cause a defect without manually analyzing one counterexample.

(第2の実施形態)
本発明の第2の実施の形態における反例解析支援装置は、第1の実施の形態と同様の形態を取り、図1に示すように、入力手段1と、モデル検査手段2と、反例集積手段3と、反例解析手段4と、出力手段5と、を有して構成される。本実施形態では、検証対象システムが並行システム、すなわち複数のプロセスが並行に動くシステムである場合を対象とする。
(Second Embodiment)
The counterexample analysis support apparatus according to the second embodiment of the present invention takes the same form as that of the first embodiment. As shown in FIG. 1, the input means 1, the model checking means 2, and the counterexample accumulation means. 3, counterexample analysis means 4, and output means 5. In the present embodiment, a case where the verification target system is a parallel system, that is, a system in which a plurality of processes move in parallel is targeted.

入力手段1、モデル検査手段2、反例集積手段3は、第1の発明と同様に動作する。   The input means 1, the model checking means 2, and the counterexample collecting means 3 operate in the same manner as in the first invention.

反例解析手段4は、反例集積手段3が集積した複数の反例について、反例に含まれる処理に関する統計情報を生成する。反例には、どのプロセスがどういう処理をしたかが順に記載されている。反例解析手段4は、各プロセスが何個の反例に出現しているか出現回数を数える。また、反例解析手段4は、各プロセスが行った処理が何個の反例に出現しているか出現回数を数える。このような解析を行い、複数の反例中のプロセスの出現回数、処理の出現回数の統計情報を生成する。   The counterexample analysis unit 4 generates statistical information regarding processing included in the counterexamples for a plurality of counterexamples accumulated by the counterexample stacking unit 3. In the counter example, which process has performed what process is described in order. The counterexample analysis means 4 counts the number of appearances of how many counterexamples each process appears. Further, the counterexample analysis unit 4 counts the number of appearances of how many counterexamples the process performed by each process appears. Such analysis is performed, and statistical information on the number of appearances of processes and the number of appearances of processes in a plurality of counterexamples is generated.

このような統計情報は、本装置のユーザが不具合の解析を行う際に補助的な情報として利用することができる。さらに、反例解析手段4は、この統計情報から、最も出現回数の多いプロセス、最も出現回数の多い処理を求め、最多出現情報を生成する。この最多出現プロセス、最多出現処理は、不具合の原因であることが多い。   Such statistical information can be used as auxiliary information when the user of the present apparatus analyzes a failure. Further, the counterexample analysis unit 4 obtains the most frequently appearing information by obtaining the most frequently appearing process and the most frequently appearing process from the statistical information. This most-occurring process and most-appearing process are often the cause of defects.

出力手段5は、反例解析手段4から、統計情報と最多出現情報を受け取り、出力する。   The output means 5 receives and outputs the statistical information and the most frequent appearance information from the counterexample analysis means 4.

本実施の形態では、反例集積手段3が複数の反例を集積し、反例解析手段4が複数の反例を解析することにより反例に多く現れるプロセスや処理を求め、出力手段5に出力するというように構成されているため、ひとつの反例を人手で解析することなく、並行システムの不具合の原因になっている可能性が高いプロセスや処理を特定することができる。   In the present embodiment, the counterexample accumulation unit 3 accumulates a plurality of counterexamples, and the counterexample analysis unit 4 analyzes a plurality of counterexamples to obtain processes and processes that frequently appear in the counterexamples, and outputs them to the output unit 5. Since it is configured, it is possible to identify a process or process that is likely to cause a failure of the concurrent system without manually analyzing one counterexample.

(第3の実施形態)
図2は、本発明の第3の実施の形態における反例解析支援装置の構成図である。本反例解析支援装置は、入力手段1と、モデル検査手段2と、反例集積手段3と、反例解析手段4と、出力手段5と、反例検索手段6と、を有して構成される。
(Third embodiment)
FIG. 2 is a configuration diagram of a counterexample analysis support apparatus according to the third embodiment of the present invention. The counterexample analysis support apparatus includes an input unit 1, a model checking unit 2, a counterexample accumulation unit 3, a counterexample analysis unit 4, an output unit 5, and a counterexample search unit 6.

入力手段1は、まず、第1及び第2の実施形態と同様にモデル検査手段2への入力を行い、モデル検査手段2と、反例集積手段3は、第1及び第2の実施形態と同様に動作する。   First, the input unit 1 performs input to the model checking unit 2 as in the first and second embodiments, and the model checking unit 2 and the counter example accumulation unit 3 are the same as in the first and second embodiments. To work.

反例解析手段4は、第1又は第2の実施形態と同様の動作に加えて、(検証対象システムが並行システムであれば)各反例毎の出現プロセスの一覧と、各反例毎の出現処理の一覧を生成する。   In addition to the same operations as those in the first or second embodiment, the counterexample analysis unit 4 includes a list of appearance processes for each counterexample (if the verification target system is a parallel system) and an appearance process for each counterexample. Generate a list.

反例検索手段6は、反例集積手段3に集積された反例からユーザが指定した検索条件に合致する反例を検索する。   The counterexample search means 6 searches for counterexamples that match the search conditions specified by the user from the counterexamples accumulated in the counterexample stacking means 3.

ユーザは、(反例集積手段3に集積されている)複数の反例から特定の反例のみを見るために、反例の検索条件を入力手段1を使って入力する。検索条件とは、(検証対象システムが並行システムであれば)出現するプロセス(「プロセスAが出現しているか」)、出現する処理(「処理aが出現しているか」)、反例の長さなどであり、さらにそれらの和や積や否定でも良い。   The user inputs search conditions for counterexamples using the input means 1 in order to view only a specific counterexample from a plurality of counterexamples (collected in counterexample stacking means 3). Search conditions include (when the verification target system is a parallel system) an appearing process (“Process A appears”), appearing process (“Process a appears”), and length of counterexample It may be the sum, product, or negation of those.

出力手段5は、反例解析手段4から受け取った統計情報と最多出現情報及び/又は反例検索手段6が検索した反例を出力する。   The output unit 5 outputs the statistical information and the most frequently occurring information received from the counterexample analysis unit 4 and / or the counterexample searched by the counterexample search unit 6.

本実施の形態では、第1及び第2の発明の構成に加えて、反例検索手段を持つように構成されているため、ユーザが不具合を特定する際に参考になると考えられる反例(最多出現プロセスと最多出現処理が現れていてかつ一番短い等)を検索して出力することができ、ユーザによる不具合の特定をより正確にすることを支援する。   In the present embodiment, in addition to the configurations of the first and second aspects of the invention, since it is configured to have counterexample search means, counterexamples that are considered to be helpful when a user identifies a defect (most frequent appearance process) And the shortest occurrence process appears and the shortest etc.) can be retrieved and output, which helps the user to more accurately identify the defect.

(第4の実施形態)
図3は、本発明の第4の実施の形態における反例解析支援装置の構成図である。本反例解析支援装置は、入力手段1と、モデル群格納手段11と、全体制御手段21と、モデル検査手段2と、反例集積手段3と、反例解析手段4と、反例検索手段6と、出力手段5と、を有して構成される。
(Fourth embodiment)
FIG. 3 is a configuration diagram of a counterexample analysis support apparatus according to the fourth embodiment of the present invention. The counterexample analysis support apparatus includes an input unit 1, a model group storage unit 11, an overall control unit 21, a model checking unit 2, a counterexample accumulation unit 3, a counterexample analysis unit 4, a counterexample search unit 6, and an output. And means 5.

入力手段1は、モデルと検証項目を入力するために使用される。モデルは、複数のモデルであっても良い。典型的には、検証対象システムを示す部分は全く同じであるが、環境を示す部分がそれぞれ異なる複数のモデルである。検証項目は、これら複数のモデルに共通して検証されるひとつの検証項目である。   The input means 1 is used for inputting a model and verification items. The model may be a plurality of models. Typically, the parts indicating the verification target system are exactly the same, but the parts indicating the environment are a plurality of different models. The verification item is one verification item that is verified in common to the plurality of models.

入力手段1により入力された複数のモデルは、モデル群格納手段11に格納される。   A plurality of models input by the input unit 1 are stored in the model group storage unit 11.

全体制御手段21は、モデル群格納手段11に格納されたモデルがひとつずつ順に検証され、ひとつのモデルに対する検証が終了する毎に反例が反例集積手段3に集積され、全てのモデルが検証され反例が集積された後に反例解析手段4による解析が行われるように全体を制御する。   The overall control means 21 sequentially verifies the models stored in the model group storage means 11 one by one, and each time verification for one model is completed, the counterexamples are accumulated in the counterexample stacking means 3, and all models are verified. The whole is controlled so that the analysis by the counterexample analysis means 4 is performed after the data are accumulated.

全体制御手段21は、モデル格納手段11からモデルを順にひとつ取り出し、モデル検査手段2に入力する。また、入力手段1により入力された検証項目は、モデル検査手段2に入力される。   The overall control means 21 sequentially takes out one model from the model storage means 11 and inputs it to the model checking means 2. The verification items input by the input unit 1 are input to the model checking unit 2.

モデル検査手段2は、与えられたモデルと検証項目に対して検証を行い、(モデルが検証項目を満たしていない場合)複数の反例を生成する。   The model checking means 2 verifies the given model and verification items, and generates a plurality of counterexamples (when the model does not satisfy the verification items).

反例集積手段3は、モデル検査手段2の出力を受け取り、モデル検査手段2が生成した複数の反例を集積し保存する。モデル検査手段2による検証は、全体制御手段21によりモデルの数だけ複数回行われるので、各検証毎にモデル検査手段2の出力を受け取り、反例を集積する。   The counterexample accumulation unit 3 receives the output of the model checking unit 2 and accumulates and stores a plurality of counterexamples generated by the model checking unit 2. Since the verification by the model checking unit 2 is performed a plurality of times by the number of models by the overall control unit 21, the output of the model checking unit 2 is received for each verification and counter examples are accumulated.

全体制御手段21は、全てのモデルの検証が終了すると、反例解析手段4を起動させる。反例解析手段4は、第1及び第2の実施形態と同様に動作し、統計情報と最多出現情報を生成する。   When the verification of all the models is completed, the overall control unit 21 activates the counter example analysis unit 4. The counter example analysis unit 4 operates in the same manner as in the first and second embodiments, and generates statistical information and most frequent appearance information.

出力手段5は、第1及び第2の実施形態と同様に動作し、反例解析手段4から、統計情報と最多出現情報を受け取り、出力する。   The output unit 5 operates in the same manner as in the first and second embodiments, and receives and outputs the statistical information and the most frequent appearance information from the counter example analysis unit 4.

本実施の形態では、第1及び第2の発明の構成に加えて、全体制御手段とモデル群格納手段を持つように構成されているため、検証対象システムが同一であって環境だけが異なる複数のモデルの検証を行った際の複数の反例全体を解析して、検証対象システムの不具合の原因になっている可能性が高いプロセスや処理を特定することができる。   In the present embodiment, in addition to the configurations of the first and second aspects of the invention, since the overall control unit and the model group storage unit are configured, a plurality of verification target systems are the same and only the environment is different. It is possible to analyze a plurality of counterexamples when the model is verified, and to identify a process or process that is highly likely to cause a failure of the verification target system.

(第5の実施形態)
図4は、本発明の第5の実施の形態における反例解析支援装置の構成図である。本反例解析支援装置は、入力手段1と、モデル群格納手段11と、全体制御手段21と、モデル検査手段2と、反例集積手段3と、反例解析手段4と、反例検索手段6と、モデル検索手段7と、出力手段5と、を有して構成される。
(Fifth embodiment)
FIG. 4 is a configuration diagram of a counterexample analysis support apparatus according to the fifth embodiment of the present invention. The counterexample analysis support apparatus includes an input unit 1, a model group storage unit 11, an overall control unit 21, a model checking unit 2, a counterexample accumulation unit 3, a counterexample analysis unit 4, a counterexample search unit 6, and a model. A search unit 7 and an output unit 5 are included.

入力手段1は、まず第4の実施形態と同様に、モデルと検証項目を入力するために使用される。   The input means 1 is first used to input a model and verification items, as in the fourth embodiment.

全体制御手段21、モデル検査手段2は、第4の実施形態と同様に動作する。   The overall control unit 21 and the model checking unit 2 operate in the same manner as in the fourth embodiment.

反例集積手段3は、第4の実施形態と同様の動作に加え、モデルと反例の対応(反例がどのモデルに対して生成された反例であるか)を記録する。   In addition to the same operation as in the fourth embodiment, the counter-example accumulation unit 3 records the correspondence between the model and the counter-example (which model is the counter-example generated for the counter-example).

反例解析手段4は、第3の実施形態と同様に動作し、統計情報、最多出現情報、各反例毎の出現プロセスの一覧、各反例毎の出現処理の一覧を生成する。   The counterexample analysis unit 4 operates in the same manner as in the third embodiment, and generates statistical information, most frequent appearance information, a list of appearance processes for each counterexample, and a list of appearance processes for each counterexample.

出力手段5は、反例解析手段4から、統計情報と最多出現情報を受け取り、出力する。   The output means 5 receives and outputs the statistical information and the most frequent appearance information from the counterexample analysis means 4.

ユーザは、(反例集積手段3に集積されている)複数の反例から特定の反例のみを見るために、反例の検索条件を入力手段1を使って入力する。検索条件とは、(検証対象システムが並行システムであれば)出現するプロセス(「プロセスAが出現しているか」)、出現する処理(「処理aが出現しているか」)、反例の長さであり、さらにそれらの和や積や否定でも良い。   The user inputs search conditions for counterexamples using the input means 1 in order to view only a specific counterexample from a plurality of counterexamples (collected in counterexample stacking means 3). Search conditions include (when the verification target system is a parallel system) an appearing process (“Process A appears”), appearing process (“Process a appears”), and length of counterexample Furthermore, their sum, product, or negation may be used.

反例検索手段6は、反例集積手段3に集積された反例からユーザが指定した検索条件に合致する反例を検索する。   The counterexample search means 6 searches for counterexamples that match the search conditions specified by the user from the counterexamples accumulated in the counterexample stacking means 3.

モデル検索手段7は、反例検索手段6が検索した反例を受け取り、反例集積手段3に記録されたモデルと反例の対応を参照し、モデル群格納手段11から反例に対応するモデルを検索する。   The model search means 7 receives the counterexample searched by the counterexample search means 6, refers to the correspondence between the model and counterexample recorded in the counterexample accumulation means 3, and searches the model group storage means 11 for a model corresponding to the counterexample.

出力手段5は、反例検索手段6が検索した反例と、モデル検索手段7が検索したモデルを出力する。   The output means 5 outputs the counterexample searched by the counterexample search means 6 and the model searched by the model search means 7.

本実施の形態では、第4の実施形態の構成に加えて、反例検索手段、モデル検索手段を持つように構成されているため、ユーザが不具合を特定する際に参考になると考えられる反例(最多出現プロセスと最多出現処理が現れていてかつ一番短い等)とその反例に対応するモデルを検索して出力することができ、ユーザによる不具合の特定をより正確にすることを支援する。   In this embodiment, in addition to the configuration of the fourth embodiment, since it is configured to have counterexample search means and model search means, counterexamples that are considered to be helpful when a user identifies a defect (most frequently) It is possible to search for and output a model corresponding to the counter-example and the appearance process and the most frequent appearance process and the shortest, and to help the user to identify the defect more accurately.

(第6の実施形態)
図5は、本発明の実施形態における反例解析支援システム100の構成図である。本反例解析支援システムは、反例解析支援装置110と、モデル検査装置120と、を有して構成される。
(Sixth embodiment)
FIG. 5 is a configuration diagram of the counterexample analysis support system 100 according to the embodiment of the present invention. The counterexample analysis support system includes a counterexample analysis support device 110 and a model checking device 120.

モデル検査装置120は、上記の各実施形態におけるモデル検査手段2と同様の機能を有し、例えば、具体例としてはSPIN等のモデル検査器である。   The model checking device 120 has the same function as the model checking unit 2 in each of the above embodiments, and is a model checker such as SPIN as a specific example.

反例解析支援装置110は、各実施形態におけるモデル検査手段以外の機能を有して各実施形態において説明した反例解析支援装置と同様の処理を行う。   The counterexample analysis support apparatus 110 has functions other than the model checking unit in each embodiment, and performs the same processing as the counterexample analysis support apparatus described in each embodiment.

次に、具体的な実施例を用いて本発明を実施するための最良の形態の動作を説明する。   Next, the operation of the best mode for carrying out the present invention will be described using specific examples.

入力手段1により動作仕様と検査項目を入力し、モデル検査手段2が検証を行い、反例を生成する。生成された反例が例えば図6に示す3個であったとする。   The operation specifications and inspection items are input by the input unit 1, and the model checking unit 2 performs verification to generate a counterexample. Assume that the generated counter examples are three as shown in FIG.

ここで反例の各行は、プロセス名.処理名のように記述されているとする。この3個の反例が、反例集積手段3に保存される。反例解析手段4は、保存された3個の反例について、プロセスの出現回数と処理の出現回数を解析する。   Here, it is assumed that each line of the counter example is described as process name.process name. These three counter examples are stored in counter example stacking means 3. The counterexample analysis means 4 analyzes the number of appearances of processes and the number of appearances of processes for three stored counterexamples.

ここでは、プロセスprocAの出現回数は3、プロセスprocBの出現回数は2、プロセスprocCの出現回数は1、プロセスprocDの出現回数は1である。同様に、処理の出現回数も求められる。このようにして、反例解析手段4は、プロセスの出現回数と処理の出現回数を含む統計情報を生成する。この場合の統計情報を図7に示す。さらに、反例解析手段4は、この統計情報から最も出現回数の多いプロセス、最も出現回数の多い処理を示す最多出現情報を生成する。この場合の最多出現情報を図8に示す。   Here, the number of appearances of process procA is 3, the number of appearances of process procB is 2, the number of appearances of process procC is 1, and the number of appearances of process procD is 1. Similarly, the number of appearances of the process is also obtained. In this way, the counterexample analysis unit 4 generates statistical information including the number of appearances of processes and the number of appearances of processes. The statistical information in this case is shown in FIG. Further, the counterexample analysis unit 4 generates the most frequently occurring information indicating the process with the most appearances and the process with the most appearances from the statistical information. The most frequent appearance information in this case is shown in FIG.

本発明の実施形態における反例解析支援装置の各構成要素は、任意のコンピュータのCPU、メモリ、メモリにロードされた構成要素を実現するプログラム、そのプログラムを格納するハードディスクなどの記憶ユニット、ネットワーク接続用インタフェースを中心にハードウエアとソフトウエアの任意の組合せによって実現される。そして、その実現方法、装置にはいろいろな変形例があることは、当業者には理解されるところである。   Each component of the counterexample analysis support apparatus in the embodiment of the present invention includes a CPU, a memory of a computer, a program that realizes a component loaded in the memory, a storage unit such as a hard disk that stores the program, and a network connection It is realized by any combination of hardware and software centering on the interface. It will be understood by those skilled in the art that there are various modifications to the implementation method and apparatus.

本発明の実施形態における反例解析支援装置は、反例集積手段(図1の3)と、反例解析手段(図1の4)とを備え、検証対象システム(及びその環境)を示すひとつのモデルと、ひとつの検証項目に対し、モデル検査器が生成する反例を全て集積し、集積された反例の多数に現れるプロセスや検証対象システムが行う処理が何かを調べてその結果を出力するように動作する。反例の多数に現れるプロセスや処理は不具合の原因であることが多いので、反例集積手段と反例解析手段を備える構成を採用して反例の多数に現れる処理の情報を出力することにより、本発明の目的を達成することができる。   The counterexample analysis support apparatus in the embodiment of the present invention includes counterexample accumulation means (3 in FIG. 1) and counterexample analysis means (4 in FIG. 1), and a model indicating a verification target system (and its environment) , Collect all counterexamples generated by the model checker for one verification item, and operate to check what processes appear in many of the integrated counterexamples and processing performed by the verification target system and output the results To do. Processes and processes that appear in many counterexamples are often the cause of problems, so by adopting a configuration that includes counterexample accumulation means and counterexample analysis means and outputting information on processes that appear in many counterexamples, Aim can be achieved.

本実施形態における第1の効果は、システムの検証において開発者が反例から不具合の原因を突き止めることを本装置が効果的に支援できることにある。その理由は、複数の反例を解析して反例の多数に現れるプロセスや処理を求めることによって、不具合の原因になっている可能性が高いプロセスや処理を出力するためである。   The first effect of the present embodiment is that the apparatus can effectively support the developer in finding out the cause of the malfunction from the counterexample in system verification. The reason is that by analyzing a plurality of counterexamples and obtaining processes and processes that appear in many counterexamples, a process or process that is likely to cause a defect is output.

第2の効果は、開発者が不具合の典型的なパターンに関する情報が入手できない場合にも、それに代わって反例解析に有効であると考えられる情報を本システムが提供できることにある。その理由は、不具合の典型的なパターンの情報を用いることなく、モデル検査器が生成する複数の反例を解析し、反例の多数に現れるプロセスや処理を求めることによって、不具合の原因になっている可能性が高いプロセスや処理を出力するためである。   The second effect is that, even when the developer cannot obtain information on typical patterns of defects, the system can provide information that is considered to be effective for counterexample analysis instead. The reason for this is that it analyzes the multiple counterexamples generated by the model checker without using information on the typical pattern of the defect, and seeks processes and processes that appear in many counterexamples, causing the problem. This is to output a process or process with a high possibility.

以上、実施の形態を説明したが、特許請求の範囲に定義された本発明の広範囲な趣旨および範囲から逸脱することなく、これら実施の形態や具体例に様々な修正および変更が可能である。   Although the embodiments have been described above, various modifications and changes can be made to these embodiments and specific examples without departing from the broad scope and scope of the present invention defined in the claims.

本発明によれば、ソフトウェア開発における設計の妥当性を検証するツールにおける不具合の解析支援ツールといった用途に適用できる。また、ハードウエア開発における設計の妥当性を検証するツールにおける不具合の解析支援ツールといった用途に適用できる。   According to the present invention, the present invention can be applied to an application such as a failure analysis support tool in a tool for verifying the validity of design in software development. Further, the present invention can be applied to an application such as a failure analysis support tool in a tool for verifying design validity in hardware development.

1 入力手段
2 モデル検査手段
3 反例集積手段
4 反例解析手段
5 出力手段
6 反例検索手段
7 モデル検索手段
11 モデル群格納手段
21 全体制御手段
DESCRIPTION OF SYMBOLS 1 Input means 2 Model inspection means 3 Counterexample accumulation means 4 Counterexample analysis means 5 Output means 6 Counterexample search means 7 Model search means 11 Model group storage means 21 Overall control means

Claims (21)

入力された複数の処理を有するシステムの動作仕様もしくはシステムの動作仕様と外部環境を示すモデルと、モデルが満たすべき性質を示す検証項目と、を参照して、前記モデルが前記検証項目を満たすか否かを検査して、前記モデルが前記検証項目を満たしていないと1つ以上の反例を生成するモデル検査手段と、
一つのモデルと一つの検証項目に対して前記モデル検査手段が生成した複数の反例を集積し、保存する反例集積手段と、
集積された複数の反例を解析し、最も多くの反例に現れる処理を求める反例解析手段と、
前記反例解析手段で求められた処理を特定する情報を出力する出力手段と、を備えることを特徴とする反例解析支援装置。
Whether the model satisfies the verification item by referring to the operation specification of the system having a plurality of processes or the model indicating the system operation specification and the external environment, and the verification item indicating the property that the model should satisfy Model checking means for checking whether or not the model does not satisfy the verification item, and generates one or more counterexamples;
A plurality of counterexamples generated by the model checking means for one model and one verification item are collected and stored;
A counterexample analysis means for analyzing a plurality of accumulated counterexamples and obtaining a process appearing in the most counterexamples,
And an output means for outputting information for specifying the processing obtained by the counterexample analysis means.
前記システムは、複数の並行に動作するプロセスから構成され、
前記プロセスは複数の処理を実行する並行システムである時に、前記反例解析手段が、さらに最も多くの反例に現れるプロセスを求め、
前記出力手段は、プロセスを特定する情報を出力することを特徴とする請求項1記載の反例解析支援装置。
The system is composed of a plurality of processes operating in parallel,
When the process is a parallel system that executes a plurality of processes, the counterexample analysis means further determines a process that appears in the most counterexamples,
2. The counterexample analysis support apparatus according to claim 1, wherein the output means outputs information for specifying a process.
前記反例解析手段は、さらに各プロセスが出現する反例の数と各処理が出現する反例の数を求め、
前記出力手段は、前記反例解析手段により求められた数を出力することを特徴とする請求項1又は2記載の反例解析支援装置。
The counterexample analysis means further calculates the number of counterexamples in which each process appears and the number of counterexamples in which each process appears,
The counter example analysis support apparatus according to claim 1, wherein the output unit outputs the number obtained by the counter example analysis unit.
前記反例集積手段に保存された反例から、入力された条件に合致する反例を検索する反例検索手段を備え、
前記出力手段は、前記反例検索手段にて検索された情報を出力することを特徴とする請求項1から3のいずれか1項に記載の反例解析支援装置。
A counter example search means for searching a counter example that matches an input condition from the counter examples stored in the counter example accumulation means,
4. The counter example analysis support apparatus according to claim 1, wherein the output unit outputs information searched by the counter example search unit. 5.
入力された複数のモデルを格納するモデル群格納手段を備え、
前記モデル検査手段は、前記複数のモデルを一つずつ順に同じ検証項目を満たすか否かを検査することを特徴とする請求項1から4のいずれか1項に記載の反例解析支援装置。
A model group storage means for storing a plurality of input models;
5. The counterexample analysis support apparatus according to claim 1, wherein the model checking unit checks whether or not the plurality of models satisfy the same verification item one by one in order.
前記反例集積手段に保存された反例から、入力された条件に合致する反例を検索する反例検索手段と、
前記反例検索手段にて検索された反例に対応するモデルを前記モデル群格納手段より検索するモデル検索手段、を備え、
前記出力手段は、前記反例検索手段と前記モデル検索手段により、検索された反例とモデルを特定する情報を出力することを特徴とする請求項5記載の反例解析支援装置。
Counterexample search means for searching counterexamples that match the input conditions from counterexamples stored in the counterexample accumulation means;
Model search means for searching the model group storage means for a model corresponding to the counter example searched by the counter example search means,
6. The counter example analysis support apparatus according to claim 5, wherein the output unit outputs information for specifying a counter example and a model searched by the counter example search unit and the model search unit.
入力された複数の処理を有するシステムの動作仕様もしくはシステムの動作仕様と外部環境を示すモデルが、満たすべき性質を示す検証項目を満たしているか否かを検査して、反例を生成するモデル検査装置と、前記反例を解析して出力する反例解析支援装置と、を備える反例解析支援システムであって、
前記モデル検査装置は、
前記モデルと、前記検証項目と、を参照して、前記モデルが前記検証項目を満たすか否かを検査して、前記モデルが前記検証項目を満たしていないと1つ以上の反例を生成するモデル検査手段を有し、
前記反例解析支援装置は、
一つのモデルと一つの検証項目に対して前記モデル検査手段にて生成された複数の反例を集積し、保存する反例集積手段と、
集積された複数の反例を解析し、最も多くの反例に現れる処理を求める反例解析手段と、
前記反例解析手段で求められた処理を特定する情報を出力する出力手段と、を備えることを特徴とする反例解析支援システム。
A model checking device that generates a counterexample by checking whether a system operation specification having a plurality of processes or a model indicating a system operation specification and an external environment satisfies a verification item indicating a property to be satisfied. And a counterexample analysis support device that analyzes and outputs the counterexample, and a counterexample analysis support system comprising:
The model checking device
A model that checks whether or not the model satisfies the verification item with reference to the model and the verification item, and generates one or more counterexamples if the model does not satisfy the verification item Having inspection means,
The counterexample analysis support device includes:
A counter example accumulation unit that accumulates and stores a plurality of counter examples generated by the model checking unit for one model and one verification item;
A counterexample analysis means for analyzing a plurality of accumulated counterexamples and obtaining a process appearing in the most counterexamples,
An anti-example analysis support system comprising: output means for outputting information for specifying the processing obtained by the counter-example analysis means.
前記システムは、複数の並行に動作するプロセスから構成され、
前記プロセスは複数の処理を実行する並行システムである時に、前記反例解析手段が、さらに最も多くの反例に現れるプロセスを求め、
前記出力手段は、プロセスを特定する情報を出力することを特徴とする請求項7記載の反例解析支援システム。
The system is composed of a plurality of processes operating in parallel,
When the process is a parallel system that executes a plurality of processes, the counterexample analysis means further determines a process that appears in the most counterexamples,
8. The counterexample analysis support system according to claim 7, wherein the output means outputs information for specifying a process.
前記反例解析手段は、さらに各プロセスが出現する反例の数と各処理が出現する反例の数を求め、
前記出力手段は、前記反例解析手段により求められた数を出力することを特徴とする請求項7又は8記載の反例解析支援システム。
The counterexample analysis means further calculates the number of counterexamples in which each process appears and the number of counterexamples in which each process appears,
9. The counterexample analysis support system according to claim 7, wherein the output means outputs the number obtained by the counterexample analysis means.
前記反例集積手段に保存された反例から、入力された条件に合致する反例を検索する反例検索手段をさらに備え、
前記出力手段は、前記反例検索手段にて検索された情報を出力することを特徴とする請求項7から9のいずれか1項に記載の反例解析支援システム。
The counter example search means further searches for counter examples that match the input conditions from the counter examples stored in the counter example accumulation means,
10. The counter example analysis support system according to claim 7, wherein the output unit outputs information searched by the counter example search unit.
入力された複数のモデルを格納するモデル群格納手段を備え、
前記モデル検査手段は、前記複数のモデルを一つずつ順に同じ検証項目を満たすか否かを検査することを特徴とする請求項7から10のいずれか1項に記載の反例解析支援システム。
A model group storage means for storing a plurality of input models;
11. The counterexample analysis support system according to claim 7, wherein the model checking unit checks whether or not the plurality of models satisfy the same verification item one by one in order.
前記反例集積手段に保存された反例から、入力された条件に合致する反例を検索する反例検索手段と、
前記反例検索手段にて検索された反例に対応するモデルを前記モデル群格納手段より検索するモデル検索手段、を備え、
前記出力手段は、前記反例検索手段と前記モデル検索手段により、検索された反例とモデルを特定する情報を出力することを特徴とする請求項11記載の反例解析支援システム。
Counterexample search means for searching counterexamples that match the input conditions from counterexamples stored in the counterexample accumulation means;
Model search means for searching the model group storage means for a model corresponding to the counter example searched by the counter example search means,
12. The counter example analysis support system according to claim 11, wherein the output unit outputs information for identifying the counter example and model searched by the counter example search unit and the model search unit.
入力された複数の処理を有するシステムの動作仕様もしくはシステムの動作仕様と外部環境を示すモデルと、モデルが満たすべき性質を示す検証項目と、を参照して、前記モデルが前記検証項目を満たすか否かを検査して、前記モデルが前記検証項目を満たしていないと1つ以上の反例を生成するモデル検査ステップと、
一つのモデルと一つの検証項目に対して前記モデル検査ステップにて生成した複数の反例を集積し、保存する反例集積ステップと、
集積された複数の反例を解析し、最も多くの反例に現れる処理を求める反例解析ステップと、
前記反例解析ステップで求められた処理を特定する情報を出力する出力ステップと、を備えることを特徴とする反例解析支援装置の反例解析支援方法。
Whether the model satisfies the verification item by referring to the operation specification of the system having a plurality of processes or the model indicating the system operation specification and the external environment, and the verification item indicating the property that the model should satisfy A model checking step that checks whether or not the model does not satisfy the verification item and generates one or more counterexamples;
A plurality of counterexamples generated in the model checking step for one model and one verification item are collected and stored;
A counterexample analysis step for analyzing a plurality of accumulated counterexamples and obtaining a process appearing in the most counterexamples;
A counterexample analysis support method for a counterexample analysis support apparatus, comprising: an output step of outputting information for specifying the processing obtained in the counterexample analysis step.
前記システムは、複数の並行に動作するプロセスから構成され、
前記プロセスは複数の処理を実行する並行システムである時に、前記反例解析ステップにて、さらに最も多くの反例に現れるプロセスを求め、
前記出力ステップは、プロセスを特定する情報を出力することを特徴とする請求項13記載の反例解析支援装置の反例解析支援方法。
The system is composed of a plurality of processes operating in parallel,
When the process is a parallel system that executes a plurality of processes, the counterexample analysis step determines a process that appears in the most counterexamples,
14. The counterexample analysis support method of the counterexample analysis support apparatus according to claim 13, wherein the output step outputs information for specifying a process.
前記反例解析ステップは、さらに各プロセスが出現する反例の数と各処理が出現する反例の数を求め、
前記出力ステップは、前記反例解析ステップにより求められた数を出力することを特徴とする請求項13又は14記載の反例解析支援装置の反例解析支援方法。
The counterexample analysis step further determines the number of counterexamples in which each process appears and the number of counterexamples in which each process appears,
15. The counterexample analysis support method for a counterexample analysis support apparatus according to claim 13 or 14, wherein the output step outputs the number obtained in the counterexample analysis step.
前記反例集積ステップに保存された反例から、入力された条件に合致する反例を検索する反例検索ステップを備え、
前記出力ステップは、前記反例検索ステップにて検索された情報を出力することを特徴とする請求項13から15のいずれか1項に記載の反例解析支援装置の反例解析支援方法。
A counterexample search step for searching counterexamples that match the input conditions from counterexamples stored in the counterexample accumulation step;
The counter example analysis support method of the counter example analysis support apparatus according to any one of claims 13 to 15, wherein the output step outputs the information searched in the counter example search step.
入力された複数のモデルを格納するモデル群格納ステップを備え、
前記モデル検査ステップは、前記複数のモデルを一つずつ順に同じ検証項目を満たすか否かを検査することを特徴とする請求項13から16のいずれか1項に記載の反例解析支援装置の反例解析支援方法。
A model group storing step for storing a plurality of input models;
The counter example of the counterexample analysis support apparatus according to any one of claims 13 to 16, wherein the model checking step checks whether or not the plurality of models satisfy the same verification items one by one in order. Analysis support method.
前記反例集積ステップに保存された反例から、入力された条件に合致する反例を検索する反例検索ステップと、
前記反例検索ステップにて検索された反例に対応するモデルを格納した複数のモデルより検索するモデル検索ステップ、を備え、
前記出力ステップは、前記反例検索ステップと前記モデル検索ステップにより、検索された反例とモデルを特定する情報を出力することを特徴とする請求項17記載の反例解析支援装置の反例解析支援方法。
A counterexample search step for searching counterexamples that match the input conditions from counterexamples stored in the counterexample accumulation step;
A model search step for searching from a plurality of models storing models corresponding to the counterexamples searched in the counterexample search step,
18. The counterexample analysis support method of the counterexample analysis support apparatus according to claim 17, wherein the output step outputs information specifying a counterexample and a model searched by the counterexample search step and the model search step.
モデル検査装置による、入力された複数の処理を有するシステムの動作仕様もしくはシステムの動作仕様と外部環境を示すモデルと、モデルの満たすべき性質を示す検証項目と、を参照して、前記モデルが前記検証項目を満たすか否かを検査して、前記モデルが前記検証項目を満たしていないと1つ以上の反例を生成するモデル検査ステップと、
反例解析支援装置による、一つのモデルと一つの検証項目に対して前記モデル検査ステップにて生成された複数の反例を集積し、保存する反例集積ステップと、
集積された複数の反例を解析し、最も多くの反例に現れる処理を求める反例解析ステップと、
前記反例解析ステップで求められた処理を特定する情報を出力する出力ステップと、を備えることを特徴とする反例解析支援システムの反例解析支援方法。
With reference to a system operation specification or a system operation specification having a plurality of processes inputted by a model checking device, a model indicating the external environment, and a verification item indicating a property to be satisfied by the model, the model is A model checking step that checks whether a verification item is satisfied and generates one or more counterexamples if the model does not satisfy the verification item;
A counterexample accumulation step of collecting and storing a plurality of counterexamples generated in the model checking step for one model and one verification item by the counterexample analysis support device;
A counterexample analysis step for analyzing a plurality of accumulated counterexamples and obtaining a process appearing in the most counterexamples;
A counterexample analysis support method for a counterexample analysis support system, comprising: an output step of outputting information specifying the processing obtained in the counterexample analysis step.
入力された複数の処理を有するシステムの動作仕様もしくはシステムの動作仕様と外部環境を示すモデルと、モデルが満たすべき性質を示す検証項目と、を参照して、前記モデルが前記検証項目を満たすか否かを検査して、前記モデルが前記検証項目を満たしていないと1つ以上の反例を生成するモデル検査処理と、
一つのモデルと一つの検証項目に対して前記モデル検査処理にて生成した複数の反例を集積し、保存する反例集積処理と、
集積された複数の反例を解析し、最も多くの反例に現れる処理を求める反例解析処理と、
前記反例解析処理で求められた処理を特定する情報を出力する出力処理と、をコンピュータに実行させるプログラム。
Whether the model satisfies the verification item by referring to the operation specification of the system having a plurality of processes or the model indicating the system operation specification and the external environment, and the verification item indicating the property that the model should satisfy A model checking process that checks whether or not the model does not satisfy the verification item and generates one or more counterexamples;
A plurality of counterexamples generated by the model checking process for one model and one verification item are accumulated and stored,
Analyzing a plurality of counterexamples collected, and counterexample analysis processing for obtaining processing that appears in the most counterexamples,
A program for causing a computer to execute an output process for outputting information for specifying a process obtained in the counterexample analysis process.
モデル検査装置による、入力された複数の処理を有するシステムの動作仕様もしくはシステムの動作仕様と外部環境を示すモデルと、モデルの満たすべき性質を示す検証項目と、を参照して、前記モデルが前記検証項目を満たすか否かを検査して、前記モデルが前記検証項目を満たしていないと1つ以上の反例を生成するモデル検査処理と、
反例解析支援装置による、一つのモデルと一つの検証項目に対して前記モデル検査処理にて生成された複数の反例を集積し、保存する反例集積処理と、
集積された複数の反例を解析し、最も多くの反例に現れる処理を求める反例解析処理と、
前記反例解析処理で求められた処理を特定する情報を出力する出力処理と、をコンピュータに実行させるプログラム。
With reference to a system operation specification or a system operation specification having a plurality of processes inputted by a model checking device, a model indicating the external environment, and a verification item indicating a property to be satisfied by the model, the model is A model checking process that checks whether a verification item is satisfied and generates one or more counterexamples if the model does not satisfy the verification item;
By counterexample analysis support apparatus, a plurality of counterexamples generated in the model checking process for one model and one verification item are collected and stored,
Analyzing a plurality of counterexamples collected, and counterexample analysis processing for obtaining processing that appears in the most counterexamples,
A program for causing a computer to execute an output process for outputting information for specifying a process obtained in the counterexample analysis process.
JP2009051093A 2009-03-04 2009-03-04 Counter example analysis support device, counter example analysis support system, counter example analysis support method therefor, and program Pending JP2010205066A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009051093A JP2010205066A (en) 2009-03-04 2009-03-04 Counter example analysis support device, counter example analysis support system, counter example analysis support method therefor, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009051093A JP2010205066A (en) 2009-03-04 2009-03-04 Counter example analysis support device, counter example analysis support system, counter example analysis support method therefor, and program

Publications (1)

Publication Number Publication Date
JP2010205066A true JP2010205066A (en) 2010-09-16

Family

ID=42966465

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009051093A Pending JP2010205066A (en) 2009-03-04 2009-03-04 Counter example analysis support device, counter example analysis support system, counter example analysis support method therefor, and program

Country Status (1)

Country Link
JP (1) JP2010205066A (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001356939A (en) * 2000-06-13 2001-12-26 Tokyo Electric Power Co Inc:The Log information analyzer, its method and recording medium
JP2002324098A (en) * 2001-04-25 2002-11-08 Fujitsu Ltd Method for verification of logical device, apparatus therefor, storage medium storing program for executing the method and its program
JP2004272830A (en) * 2003-03-12 2004-09-30 Hitachi Ltd Device for supporting software development
JP2005316728A (en) * 2004-04-28 2005-11-10 Mitsubishi Electric Corp Fault analysis device, method, and program
JP2009122992A (en) * 2007-11-15 2009-06-04 Toshiba Corp Counter example analysis support apparatus
JP2010033440A (en) * 2008-07-30 2010-02-12 Nec Corp Quality management device, quality management system, quality management method, and program

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001356939A (en) * 2000-06-13 2001-12-26 Tokyo Electric Power Co Inc:The Log information analyzer, its method and recording medium
JP2002324098A (en) * 2001-04-25 2002-11-08 Fujitsu Ltd Method for verification of logical device, apparatus therefor, storage medium storing program for executing the method and its program
JP2004272830A (en) * 2003-03-12 2004-09-30 Hitachi Ltd Device for supporting software development
JP2005316728A (en) * 2004-04-28 2005-11-10 Mitsubishi Electric Corp Fault analysis device, method, and program
JP2009122992A (en) * 2007-11-15 2009-06-04 Toshiba Corp Counter example analysis support apparatus
JP2010033440A (en) * 2008-07-30 2010-02-12 Nec Corp Quality management device, quality management system, quality management method, and program

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6013002898; 高田沙都子,ほか3名: 産業用コントローラに対するモデル検査適用事例 , 20080904, 財団法人日本科学技術連盟 ソフトウェア品質シンポジ *

Similar Documents

Publication Publication Date Title
JP2017062780A (en) Static analysis based on efficient elimination of false positive
US20090319829A1 (en) Pattern extraction method and apparatus
US8868381B2 (en) Control system design simulation using switched linearization
US9043746B2 (en) Conducting verification in event processing applications using formal methods
US20130318499A1 (en) Test script generation
CN108874656A (en) Code test method, device, readable storage medium storing program for executing and computer equipment
JP6723483B2 (en) Test case generation device, test case generation method, and test case generation program
JP5440287B2 (en) Symbolic execution support program, method and apparatus
JP2016091138A (en) Source code verification system
JP6512032B2 (en) Stub target determination apparatus, method, and program
US8249848B2 (en) Verifying a processor design using a processor simulation model
Haghighatkhah Test case prioritization using build history and test distances: an approach for improving automotive regression testing in continuous integration environments
JP2010205066A (en) Counter example analysis support device, counter example analysis support system, counter example analysis support method therefor, and program
DeMott et al. Towards an automatic exploit pipeline
JP2009134360A (en) Model inspection system, model inspection method, and model inspection program
JP2015011661A (en) Influence range analysis system, influence range analysis method and influence range analysis program
JP6036089B2 (en) Data transition trace device, data transition trace method, and data transition trace program
JP5962779B2 (en) Flag access defect inspection device, flag access defect inspection method, flag access defect inspection program
JP5541011B2 (en) Optimized netlist creation program, optimized netlist creation device, and optimized netlist creation method
Calderón-Ruiz et al. Automatic discovery of failures in business processes using Process Mining techniques
JP6731366B2 (en) Source code verification system
Frehse et al. Efficient simulation-based debugging of reversible logic
Rausch et al. An Experimentation and Analytics Framework for {Large-Scale}{AI} Operations Platforms
US20120066542A1 (en) Method for Node Addition and Removal of a Circuit
JP2014115960A (en) Verification device, verification method, and verification program

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20110920

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120222

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130123

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130129

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130702