JP2016014959A - Information processing device, counterexample processing method, and program - Google Patents

Information processing device, counterexample processing method, and program Download PDF

Info

Publication number
JP2016014959A
JP2016014959A JP2014135817A JP2014135817A JP2016014959A JP 2016014959 A JP2016014959 A JP 2016014959A JP 2014135817 A JP2014135817 A JP 2014135817A JP 2014135817 A JP2014135817 A JP 2014135817A JP 2016014959 A JP2016014959 A JP 2016014959A
Authority
JP
Japan
Prior art keywords
state
event
violation
transition
detected
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
JP2014135817A
Other languages
Japanese (ja)
Inventor
伸行 富沢
Nobuyuki Tomizawa
伸行 富沢
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 JP2014135817A priority Critical patent/JP2016014959A/en
Publication of JP2016014959A publication Critical patent/JP2016014959A/en
Pending legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To improve the efficiency of analyzing a counterexample in model inspection.SOLUTION: A counterexample processing device 200 includes a counterexample storage unit 210, and a simplification unit 220. The counterexample storage unit 210 stores a counterexample 540 showing a transition series until the detection of a violation of a verification quality 520 in a system state being a set of states of a plurality of elements relevant to a system. The simplification unit 220 extracts an element in which a violation of the verification quality 520 is detected and an element having the possibility of having influence on a state which violates the verification quality 520 of the element from the counterexample 540 as elements of an analysis object, and outputs the elements in association with a transition series of states of the extracted elements of an analysis object.

Description

本発明は、情報処理装置、反例表示方法、及び、プログラムに関し、特に、モデル検査により得られた反例を出力する、情報処理装置、反例表示方法、及び、プログラムに関する。   The present invention relates to an information processing device, a counterexample display method, and a program, and more particularly, to an information processing device, a counterexample display method, and a program that outputs a counterexample obtained by model checking.

システムやコンピュータプログラムが正しく動作するかどうかを仕様に照らして自動的に判定する仕組みとして、モデル検査法が知られている。モデル検査法では、検証対象となるシステムやコンピュータプログラムの動作仕様を状態遷移系で表現したモデルと、このモデルが満たすべき性質である検証性質と、を用いて、モデルの取りうる状態遷移を網羅的、器械的に検証する。モデル検査法による典型的な検証対象として、複数の動作主体が同時並行的に動作する、並列システムが挙げられる。例えば、SPIN(Simple Promela Interpreter)モデル検査器は、通信機器や並列プロセス、並列スレッドといった、並行動作する検査対象の動作を、PROMELA(Process Meta Language)と呼ばれる専用のモデル記述言語で記述、モデル化する。そして、SPINモデル検査器は、モデル中の動作主体の通信のパタンを網羅的に検査することで、システムが、例えば「デッドロックを起こすことはない」といった検証性質を満たすかどうかを検証する。   A model checking method is known as a mechanism for automatically determining whether a system or a computer program operates correctly according to specifications. The model checking method covers the state transitions that the model can take by using a model that expresses the operation specifications of the system or computer program to be verified in a state transition system and the verification properties that the model should satisfy. Verify mechanically and mechanically. A typical verification target by the model checking method is a parallel system in which a plurality of actors operate in parallel. For example, the SPIN (Simple Promela Interpreter) model checker describes and models operations to be tested, such as communication devices, parallel processes, and parallel threads, in a dedicated model description language called PROMELA (Process Meta Language). To do. Then, the SPIN model checker comprehensively checks the communication pattern of the operation subject in the model, thereby verifying whether the system satisfies a verification property such as “no deadlock”.

モデル検査法の特徴の一つに、モデルの状態遷移が検証性質に違反した場合に、初期状態から違反が検出された状態へ至る状態遷移列を反例として得ることができる、という点が挙げられる。反例により、初期状態から違反が検出された状態に至る、モデル上、起こりうる状態遷移の経路が具体的に提示される。したがって、検証対象のシステムが適切にモデル化されていれば、反例により提示される状態遷移の経路は、実際のシステムでも起こりうる、不正な状態に至る状態遷移の経路を具体的に示している。そのため、システムやコンピュータプログラムの動作のモデル検査を用いた検証において、生成された反例を分析することで、設計上のミスや、コーディング上のバグ等を特定することができる。   One of the features of the model checking method is that when the state transition of the model violates the verification property, the state transition sequence from the initial state to the state where the violation is detected can be obtained as a counter example. . By way of a counterexample, a path of a possible state transition on the model from the initial state to the state where the violation is detected is specifically presented. Therefore, if the system to be verified is appropriately modeled, the state transition path presented by the counterexample specifically shows the state transition path that leads to an illegal state that can occur in an actual system. . Therefore, in the verification using the model check of the operation of the system or the computer program, it is possible to identify a design error, a coding bug, or the like by analyzing the generated counterexample.

しかしながら、一般に、モデル検査法により得られる反例は、モデルが複雑な場合、すなわち、検証対象のシステムを構成する各要素が複雑な状態遷移をする、あるいは、検証対象のシステムが多くの並行動作する要素を含む場合、膨大となる。このような膨大な反例は、設計上のミス等を分析する上で、実用上大きな問題となる。また、反例はあくまで検証性質を満たさない状態と、その状態への状態遷移の経路を示すものであり、不具合そのものではない。仮に不具合が一つであっても、検証性質を満たさない状態は、複数存在する可能性がある。また、ある検証性質を満たさない状態に至る状態遷移の経路も、複数存在する可能性がある。検証性質を満たさない状態に至る状態遷移における、設計上あるいはコーディング上の不具合の特定は、通常、人手で行われるが、膨大な反例の人手による解析は大変な労力を伴う。   However, in general, the counterexample obtained by the model checking method is that the model is complicated, that is, each element constituting the system to be verified undergoes a complicated state transition, or the system to be verified performs many parallel operations. If it contains elements, it will be enormous. Such an enormous counter example becomes a large practical problem in analyzing a design error or the like. The counterexample shows a state that does not satisfy the verification property and a path of state transition to the state, and is not a defect itself. Even if there is only one defect, there may be a plurality of states that do not satisfy the verification property. There may also be a plurality of state transition paths leading to a state that does not satisfy a certain verification property. Identification of a design or coding defect in a state transition that leads to a state that does not satisfy the verification property is usually performed manually, but enormous counterexample manual analysis involves a great deal of labor.

このような反例の解析を効率化する技術の一例が、例えば、特許文献1に開示されている。特許文献1に記載の反例解析支援装置では、他プロセスの状態、自プロセスの検出イベント、及び、自プロセスの状態が関連づけられた、関連項目リストが、利用者により設定される。反例解析支援装置は、関連項目リストをもとに、検出イベントの発生有無を判定し、反例の状態遷移列における問題候補箇所を特定する。   An example of a technique for improving the efficiency of such counterexample analysis is disclosed in Patent Document 1, for example. In the counterexample analysis support apparatus described in Patent Literature 1, a related item list in which the state of another process, the detection event of the own process, and the state of the own process are associated is set by the user. The counterexample analysis support apparatus determines whether or not a detection event has occurred based on the related item list, and identifies a problem candidate location in the counterexample state transition sequence.

なお、関連技術として、特許文献2には、反例から、モジュールに挿入された検証コードのステップを削除するモデル検査装置が記載されている。また、特許文献3、特許文献4には、システムの変数群の状態遷移として、木構造で表された状態遷移を用いるモデル検査装置が記載されている。   As a related technique, Patent Literature 2 describes a model checking apparatus that deletes a step of a verification code inserted in a module from a counter example. Patent Document 3 and Patent Document 4 describe a model checking apparatus that uses a state transition represented by a tree structure as a state transition of a system variable group.

特許第4477054号公報Japanese Patent No. 4477054 特開2013−206310号公報JP2013-206310A 特開2013−200787号公報JP 2013-200277 A 特開2012−155517号公報JP 2012-155517 A

しかしながら、特許文献1に記載の技術では、利用者が、システムの状態遷移モデルから関連項目リストを生成し、設定する必要があった。また、検出イベントのタイミング等に係る不具合の特定は効率化されるが、他の要因に係る不具合の特定は効率化されない可能性があった。   However, in the technique described in Patent Document 1, it is necessary for the user to generate and set a related item list from the state transition model of the system. Moreover, although the identification of the malfunction related to the timing of the detection event is made efficient, the identification of the malfunction related to other factors may not be made efficient.

本発明の目的は、上述した課題を解決し、モデル検査における反例の分析を効率化する、情報処理装置、反例表示方法、及び、プログラムを提供することにある。   An object of the present invention is to provide an information processing apparatus, a counterexample display method, and a program that solve the above-described problems and improve the efficiency of counterexample analysis in model checking.

本発明の情報処理装置は、システムに係る複数の要素の状態の集合であるシステム状態の、所定の検証性質の違反が検出されるまでの遷移系列を示す反例を記憶する反例記憶手段と、前記反例から、前記検証性質の違反が検出された要素と、当該要素の当該検証性質に違反した状態に影響した可能性がある要素とを、解析対象の要素として抽出し、当該抽出された解析対象の要素の状態の遷移系列を関連付けて出力する簡約手段と、を備える。   The information processing apparatus of the present invention includes a counter example storage unit that stores a counter example indicating a transition sequence until a violation of a predetermined verification property is detected in a system state that is a set of states of a plurality of elements related to the system; From the counterexample, extract the element in which the violation of the verification property is detected and the element that may have affected the state of the element in violation of the verification property as the analysis target element, and extract the extracted analysis target Reduction means for associating and outputting a transition sequence of the state of each element.

本発明の反例処理方法は、システムに係る複数の要素の状態の集合であるシステム状態の、所定の検証性質の違反が検出されるまでの遷移系列を示す反例を記憶し、前記反例から、前記検証性質の違反が検出された要素と、当該要素の当該検証性質に違反した状態に影響した可能性がある要素とを、解析対象の要素として抽出し、当該抽出された解析対象の要素の状態の遷移系列を関連付けて出力する。   The counterexample processing method of the present invention stores a counterexample indicating a transition sequence until a violation of a predetermined verification property of a system state that is a set of states of a plurality of elements related to a system is detected, and from the counterexample, The elements for which violation of the verification property is detected and the elements that may have affected the state of violation of the verification property of the element are extracted as analysis target elements, and the state of the extracted analysis target element is extracted. Associate the transition series and output.

本発明のプログラムは、コンピュータに、システムに係る複数の要素の状態の集合であるシステム状態の、所定の検証性質の違反が検出されるまでの遷移系列を示す反例を記憶し、前記反例から、前記検証性質の違反が検出された要素と、当該要素の当該検証性質に違反した状態に影響した可能性がある要素とを、解析対象の要素として抽出し、当該抽出された解析対象の要素の状態の遷移系列を関連付けて出力する、処理を実行させる。   The program of the present invention stores, in a computer, a counterexample indicating a transition sequence until a violation of a predetermined verification property of a system state that is a set of states of a plurality of elements related to the system is detected, from the counterexample, The element in which the violation of the verification property is detected and the element that may have affected the state of the element in violation of the verification property are extracted as analysis target elements, and the extracted analysis target element A process of associating and outputting a state transition series is executed.

本発明の効果は、モデル検査における反例の分析を効率化できることにある。   The effect of the present invention is that the analysis of counterexamples in model checking can be made more efficient.

本発明の実施の形態の特徴的な構成を示すブロック図である。It is a block diagram which shows the characteristic structure of embodiment of this invention. 本発明の実施の形態における、モデル検査システムの構成を示すブロック図である。It is a block diagram which shows the structure of the model check system in embodiment of this invention. 本発明の実施の形態における、コンピュータにより実現された反例処理装置200の構成を示すブロック図である。It is a block diagram which shows the structure of the counterexample processing apparatus 200 implement | achieved by computer in embodiment of this invention. 本発明の実施の形態における、反例処理装置200の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the counterexample processing apparatus 200 in embodiment of this invention. 本発明の実施の形態における、反例540の例を示す図である。It is a figure which shows the example of the counterexample 540 in embodiment of this invention. 本発明の実施の形態における、反例トレース550の例を示す図である。It is a figure which shows the example of the counter example trace 550 in embodiment of this invention. 本発明の実施の形態における、簡約化された反例トレース560の例を示す図である。FIG. 6 shows an example of a simplified counter example trace 560 in an embodiment of the present invention.

本発明の実施の形態について説明する。   Embodiments of the present invention will be described.

はじめに、本発明の実施の形態における、モデル検査について説明する。   First, model checking in the embodiment of the present invention will be described.

本発明の実施の形態のモデル検査においては、検査対象のシステム(以下、対象システムとも記述する)の仕様が、状態遷移系として表現される。また、検証性質が時相論理式で表現される。   In the model check according to the embodiment of the present invention, the specification of a system to be checked (hereinafter also referred to as a target system) is expressed as a state transition system. The verification property is expressed by a temporal logic formula.

モデル検査のアルゴリズムでは、対象システムの状態(以下、システム状態とも記述する)の状態遷移が有限であれば、時相論理で表現された論理式が成り立つかどうかを判定できる。つまり、システム状態が検証性質を満たすかどうか、もし満たなさない場合にはどのような状態遷移を経て違反したシステム状態に至るかが、具体的に示される。   In the model checking algorithm, if the state transition of the target system state (hereinafter also referred to as the system state) is finite, it can be determined whether or not a logical expression expressed in temporal logic holds. That is, it is specifically shown whether the system state satisfies the verification property, and if it does not satisfy the verification state, what kind of state transition is required to reach the violated system state.

実際には、システム状態の状態遷移は無限であることも多いため、状態遷移が有限であることを仮定したモデル検査を直接適用できない場合も多い。また、状態遷移が有限であっても、状態遷移の規模が大きいために、現実的な時間内で検証ができない場合も多い。そのような場合には、状態遷移系を必要に応じて拡張しながら、状態探索を一定の範囲まで行う有界モデル検査(Bounded Model Checking)が用いられてもよい。有界モデル検査では、状態遷移の探索空間において遷移が無限になる場合には、その探索を有限の範囲で打ち切る。そのため、実際には、検証性質を満たさない状態が存在しても、その状態を見つけられない可能性がある。しかしながら、有限の探索の範囲で検証性質を満たさないシステム状態が見つかる場合は、通常のモデル検査法と同様に反例を出力できる。   Actually, since the state transition of the system state is often infinite, the model check assuming that the state transition is finite cannot be directly applied in many cases. Even if the state transition is finite, verification is often impossible within a realistic time due to the large state transition. In such a case, bounded model checking that performs state search to a certain range while expanding the state transition system as necessary may be used. In the bounded model check, when the transition becomes infinite in the state transition search space, the search is terminated within a finite range. Therefore, actually, even if a state that does not satisfy the verification property exists, there is a possibility that the state cannot be found. However, if a system state that does not satisfy the verification property is found within a finite search range, a counterexample can be output in the same manner as the normal model checking method.

本発明の実施の形態は、有限の状態遷移を仮定した通常のモデル検査、及び、状態探索を有限で打ち切ることで無限の状態遷移も許容する有界モデル検査の内のどちらが用いられてもよい。以降、これらを区別せず、単にモデル検査と記載する。   The embodiment of the present invention may use either a normal model check assuming a finite state transition or a bounded model check that allows an infinite state transition by cutting off the state search at a finite number. . Hereinafter, these are not distinguished and are simply referred to as model checking.

次に、本発明の実施の形態の構成について説明する。   Next, the configuration of the embodiment of the present invention will be described.

図2は、本発明の実施の形態における、モデル検査システムの構成を示すブロック図である。   FIG. 2 is a block diagram showing the configuration of the model checking system in the embodiment of the present invention.

図2を参照すると、本発明のモデル検査システムは、モデル検査装置100、及び、反例処理装置200を含む。   Referring to FIG. 2, the model checking system of the present invention includes a model checking device 100 and a counter example processing device 200.

モデル検査装置100は、モデル検査により、検証性質520に違反するシステム状態が検出された場合に、反例540を生成する。   The model checking apparatus 100 generates a counterexample 540 when a system state that violates the verification property 520 is detected by model checking.

モデル検査装置100は、モデル生成部110、及び、モデル検査部120を含む。   The model checking device 100 includes a model generation unit 110 and a model checking unit 120.

モデル検査装置100には、利用者により、対象システムのモデル記述510、及び、検証性質520が入力される。   A model description 510 and verification properties 520 of the target system are input to the model checking apparatus 100 by the user.

モデル生成部110は、モデル記述510を用いて、システム状態の状態遷移に基づくモデルを作成する。   The model generation unit 110 uses the model description 510 to create a model based on the state transition of the system state.

モデル検査部120は、システム状態の状態遷移を網羅的に探索し、検証性質520に違反するシステム状態を検出する。モデル検査部120は、検証性質520に違反するシステム状態が無い場合、その旨を示す検査結果530を利用者に出力する。また、モデル検査部120は、検証性質520に違反するシステム状態が存在する場合、反例540を含む検査結果530を、反例処理装置200へ出力する。反例540は、検証性質520に違反するシステム状態に至る状態遷移の遷移系列を示す。   The model checking unit 120 exhaustively searches for a state transition of the system state and detects a system state that violates the verification property 520. When there is no system state that violates the verification property 520, the model checking unit 120 outputs a check result 530 indicating that fact to the user. Further, when there is a system state that violates the verification property 520, the model checking unit 120 outputs the check result 530 including the counter example 540 to the counter example processing apparatus 200. Counterexample 540 shows a transition sequence of state transitions leading to a system state that violates verification property 520.

モデル記述510は、モデル検査装置100を実現するためのプログラム(または、ツール)ごとにさまざまであるが、典型的には、簡単なプログラミング言語風の記述により与えられる。また、検証性質520も、モデル検査装置100を実現するためのプログラムごとにさまざまであるが、典型的には、時相論理で表現された条件により与えられる。例えば、検証性質520は、「一旦、性質Xが満たされれば、以降の状態遷移の各状態において、性質Yが成り立つことはない」のような、時間的性質で記述される。   The model description 510 varies for each program (or tool) for realizing the model checking apparatus 100, but is typically given by a simple programming language-like description. The verification property 520 also varies depending on the program for realizing the model checking apparatus 100, but is typically given by a condition expressed in temporal logic. For example, the verification property 520 is described with a temporal property such as “Once the property X is satisfied, the property Y does not hold in each state of the subsequent state transition”.

また、反例540は、典型的には、モデル検査の結果得られた、検証性質520を満たさないシステム状態と、そこに至る状態遷移の系列と、を含むログとして出力される。   Further, the counter example 540 is typically output as a log including a system state that does not satisfy the verification property 520 obtained as a result of the model check, and a series of state transitions leading to the system state.

図5は、本発明の実施の形態における、反例540の例を示す図である。   FIG. 5 is a diagram showing an example of counter-example 540 in the embodiment of the present invention.

ここでは、対象システムの構成要素(または、単に、要素)であるノードとして、Host1、Controller、Switch1、Switch2、Swtch3、Swtich4、及び、Host2が並列に動作していると仮定する。以下、Host1、Controller、Switch1、Switch2、Swtch3、Swtich4、及び、Host2を、それぞれ、H1、CNT、SW1、SW2、SW3、SW4、及び、H2とも記載する。   Here, it is assumed that Host1, Controller, Switch1, Switch2, Swtch3, Switch4, and Host2 are operating in parallel as nodes that are constituent elements (or simply elements) of the target system. Hereinafter, Host1, Controller, Switch1, Switch2, Swtch3, Switch4, and Host2 are also referred to as H1, CNT, SW1, SW2, SW3, SW4, and H2, respectively.

また、システム状態は、ノードの状態の集合で表され、システム状態間の状態遷移は、二つのノード間で通知されるイベントにより、少なくとも通知先のノードの状態が変化することにより発生すると仮定する。   In addition, the system state is represented by a set of node states, and it is assumed that the state transition between the system states is caused by an event notified between the two nodes at least when the state of the notified node changes. .

図5の例では、各システム状態とシステム状態間の状態遷移を発生させるイベントとを示す行が、交互に配置されている。   In the example of FIG. 5, rows indicating each system state and an event that causes a state transition between the system states are alternately arranged.

また、システム状態を示す行において、各列は、対応するノードの状態を示す。ここで、ノードH1、CNTの状態は、「メッセージのキュー」で表されている。また、ノードSW1〜4の状態は、「メッセージのキュー」と「メッセージの配送ルールの集合」との組として表されている。例えば、システム状態S4におけるノードSW1の状態「{p1},{H2→SW2}」は、メッセージのキューにメッセージp1が存在し、メッセージの配送ルールが「H2宛てのメッセージは、一旦、SW2に送る」であることを示す。   In the row indicating the system state, each column indicates the state of the corresponding node. Here, the state of the nodes H1 and CNT is represented by “message queue”. The states of the nodes SW1 to SW4 are represented as a set of “message queue” and “message delivery rule set”. For example, in the state “{p1}, {H2 → SW2}” of the node SW1 in the system state S4, the message p1 exists in the message queue, and the message delivery rule is “a message addressed to H2 is temporarily sent to SW2. ".

また、イベントを示す行において、矢印の元がイベントの通知元のノード、矢印の先がイベントの通知先のノードを示す。例えば、イベントp1は、ノードH1からSW1へのイベントを示す。   In the row indicating the event, the source of the arrow indicates the event notification source node, and the arrow destination indicates the event notification destination node. For example, the event p1 indicates an event from the node H1 to SW1.

また、検証性質520は、「ノードSW1〜4の各々において、同一のメッセージが同じノードを通過する(同じメッセージが同じノードに再度転送され、無限にループする)ことはない」であると仮定する。   Further, it is assumed that the verification property 520 is “in each of the nodes SW1 to SW4, the same message does not pass through the same node (the same message is transferred to the same node again and loops infinitely)”. .

図5の例では、システム状態が、S1からS5まで遷移した後に、S11で、ノードSW2に配送ルール{H2→SW1}が追加されている。さらに、システム状態が、S21からS23まで遷移した後に、S24で、ノードSW1にシステム状態S22で通過したメッセージと同じメッセージp2が存在している。すなわち、システム状態S24において、ノードSW1の状態が、検証性質520に違反している。   In the example of FIG. 5, after the system state transitions from S1 to S5, the delivery rule {H2 → SW1} is added to the node SW2 in S11. Furthermore, after the system state transitions from S21 to S23, in S24, the same message p2 as the message passed in the system state S22 exists in the node SW1. That is, in the system state S24, the state of the node SW1 violates the verification property 520.

なお、モデル検査部120は、反例540をもとに、反例トレース550を生成し、利用者へ出力(表示)してもよい。   Note that the model checking unit 120 may generate a counterexample trace 550 based on the counterexample 540 and output (display) it to the user.

図6は、本発明の実施の形態における、反例トレース550の例を示す図である。   FIG. 6 is a diagram showing an example of a counterexample trace 550 in the embodiment of the present invention.

反例トレース550は、反例540により示されるシステム状態の遷移系列における各ノードの状態の遷移系列を、イベントと関連付けて、シーケンス図で表現したものである。図6の反例トレース550は、図5の反例540に対応する。   The counter example trace 550 is a sequence diagram in which the state transition sequence of each node in the system state transition sequence indicated by the counter example 540 is associated with an event. The counter example trace 550 of FIG. 6 corresponds to the counter example 540 of FIG.

図6の例では、矩形内が各ノードの状態を示す。また、矢印がノード間のイベントを示し、矢印の元がイベントの通知元のノード、矢印の先がイベントの通知先のノードを示す。各ノードの状態は、イベントにより状態が変化したタイミングで示されている。   In the example of FIG. 6, the inside of the rectangle indicates the state of each node. Further, an arrow indicates an event between nodes, an arrow source indicates an event notification source node, and an arrow destination indicates an event notification destination node. The state of each node is shown at the timing when the state changes due to an event.

反例処理装置200は、反例540をもとに、簡約化された反例トレース560を生成する。   The counterexample processing apparatus 200 generates a simplified counterexample trace 560 based on the counterexample 540.

反例処理装置200は、反例記憶部210、及び、簡約部220を含む。   The counterexample processing apparatus 200 includes a counterexample storage unit 210 and a reduction unit 220.

反例記憶部210は、モデル検査装置100から出力された検査結果530に含まれる反例540を記憶する。   The counter example storage unit 210 stores a counter example 540 included in the inspection result 530 output from the model checking apparatus 100.

簡約部220は、反例540をもとに、簡約化された反例トレース560を生成する。   The reduction unit 220 generates a simplified counter example trace 560 based on the counter example 540.

ここで、簡約部220は、反例540の中で、検証性質520に違反するシステム状態を特定する。簡約部220は、特定されたシステム状態において検証性質520の違反が検出されたノード、及び、当該ノードの検証性質520に違反した状態に影響した可能性があるノードを、解析対象のノードとして抽出する。そして、簡約部220は、解析対象のノードの状態の遷移系列を示す、簡約化された反例トレース560を生成し、利用者へ出力(表示)する。   Here, the reduction unit 220 identifies a system state that violates the verification property 520 in the counter example 540. The reduction unit 220 extracts, as analysis target nodes, nodes in which the violation of the verification property 520 is detected in the specified system state and nodes that may have affected the state of violation of the verification property 520 of the node. To do. Then, the reduction unit 220 generates a simplified counter example trace 560 indicating the state transition sequence of the node to be analyzed, and outputs (displays) the trace to the user.

なお、反例処理装置200は、CPU(Central Processing Unit)とプログラムを記憶した記憶媒体を含み、プログラムに基づく制御によって動作するコンピュータであってもよい。   The counterexample processing apparatus 200 may be a computer that includes a CPU (Central Processing Unit) and a storage medium that stores a program, and operates by control based on the program.

図3は、本発明の実施の形態における、コンピュータにより実現された反例処理装置200の構成を示すブロック図である。反例処理装置200は、CPU201、ハードディスクやメモリ等の記憶手段(記憶媒体)202、他の装置等とデータ通信を行う通信手段203、キーボード等の入力手段204、及び、ディスプレイ等の出力手段205を含む。   FIG. 3 is a block diagram showing a configuration of a counterexample processing apparatus 200 realized by a computer in the embodiment of the present invention. The counter example processing apparatus 200 includes a CPU 201, a storage unit (storage medium) 202 such as a hard disk and a memory, a communication unit 203 that performs data communication with other devices, an input unit 204 such as a keyboard, and an output unit 205 such as a display. Including.

CPU201は、簡約部220の機能を実現するためのコンピュータプログラムを実行する。記憶手段202は、反例記憶部210のデータ(反例540)を記憶する。通信手段203は、モデル検査装置100から、検査結果530を受信する。また、入力手段204が、利用者から、モデル検査装置100により出力された検査結果530の入力を受け付けてもよい。出力手段205は、簡約化された反例トレース560を利用者へ出力(表示)する。また、通信手段203が、簡約化された反例トレース560を、他の装置へ送信してもよい。   The CPU 201 executes a computer program for realizing the function of the reduction unit 220. The storage unit 202 stores the data (counterexample 540) of the counterexample storage unit 210. The communication unit 203 receives the inspection result 530 from the model checking apparatus 100. Further, the input unit 204 may accept an input of the inspection result 530 output from the model checking apparatus 100 from the user. The output unit 205 outputs (displays) the simplified counter example trace 560 to the user. In addition, the communication unit 203 may transmit the simplified counter example trace 560 to another device.

なお、本発明の実施の形態では、モデル検査装置100と反例処理装置200とを別の装置としたが、例えば、反例処理装置200がモデル検査装置100に含まれる等、モデル検査装置100と反例処理装置200とが、一つの装置を構成していてもよい。   In the embodiment of the present invention, the model checking apparatus 100 and the counterexample processing apparatus 200 are separate apparatuses. However, for example, the model checking apparatus 100 is included in the model checking apparatus 100, and the counterexample is different from the model checking apparatus 100. The processing apparatus 200 may constitute one apparatus.

次に、本発明の実施の形態の動作を説明する。   Next, the operation of the embodiment of the present invention will be described.

図4は、本発明の実施の形態における、反例処理装置200の動作を示すフローチャートである。   FIG. 4 is a flowchart showing the operation of the counterexample processing apparatus 200 in the embodiment of the present invention.

ここでは、反例記憶部210が、対象システムの反例540として、モデル検査装置100から出力された、図5のような反例540を記憶していると仮定する。   Here, it is assumed that the counterexample storage unit 210 stores a counterexample 540 as illustrated in FIG. 5 output from the model checking apparatus 100 as a counterexample 540 of the target system.

はじめに、簡約部220は、解析対象のノードの集合Nを空集合で初期化する。また、簡約部220は、解析対象のイベントの集合Eを空集合で初期化する(ステップS101)。   First, the reduction unit 220 initializes a set N of nodes to be analyzed with an empty set. In addition, the reduction unit 220 initializes the analysis event set E with an empty set (step S101).

簡約部220は、反例540において、検証性質520に違反しているシステム状態を特定する(ステップS102)。ここで、簡約部220は、反例540の状態遷移における最後のシステム状態を、検証性質520に違反しているシステム状態として特定する。   The reduction unit 220 identifies the system state that violates the verification property 520 in the counter example 540 (step S102). Here, the reduction unit 220 identifies the last system state in the state transition of the counter example 540 as the system state that violates the verification property 520.

例えば、簡約部220は、図5の反例540において、システム状態S24を、検証性質520に違反しているシステム状態と特定する。   For example, the reduction unit 220 identifies the system state S24 as a system state that violates the verification property 520 in the counter example 540 of FIG.

簡約部220は、ステップS102で特定されたシステム状態において検証性質520に違反しているノードを抽出し、ノード集合Nに追加する(ステップS103)。ここで、検証性質520に違反しているノードは、反例540とともに入力されてもよい。また、簡約部220が、利用者等から入力された検証性質520をもとに、検証性質520に違反しているノードを特定してもよい。   The reduction unit 220 extracts a node that violates the verification property 520 in the system state specified in step S102, and adds it to the node set N (step S103). Here, the node that violates the verification property 520 may be input together with the counter example 540. Further, the reduction unit 220 may identify a node that violates the verification property 520 based on the verification property 520 input from a user or the like.

例えば、簡約部220は、システム状態S24において検証性質520を満たしていないノードSW1をノード集合Nに、N={SW1}のように追加する。   For example, the reduction unit 220 adds the node SW1 that does not satisfy the verification property 520 in the system state S24 to the node set N as N = {SW1}.

簡約部220は、ステップS102で特定されたシステム状態を対象状態Sに設定する(ステップS104)。   The reduction unit 220 sets the system state identified in step S102 as the target state S (step S104).

例えば、簡約部220は、システム状態S24を対象状態Sに設定する。   For example, the reduction unit 220 sets the system state S24 to the target state S.

簡約部220は、対象状態Sに先立つイベントが、ノード集合Nに含まれるノードの状態を変更するかどうかを判定する(ステップS105)。   The reduction unit 220 determines whether an event preceding the target state S changes the state of the nodes included in the node set N (step S105).

ステップS105で変更する場合(ステップS105/Y)、簡約部220は、イベント集合Eに、対象状態Sに先立つイベントとその通知先ノードの組を追加する(ステップS106)。そして、簡約部220は、ノード集合Nに、対象状態Sに先立つイベントの通知元ノードと通知先ノードとを追加する(ステップS107)。   When changing in step S105 (step S105 / Y), the reduction unit 220 adds a set of an event preceding the target state S and its notification destination node to the event set E (step S106). Then, the simplification unit 220 adds the notification source node and the notification destination node of the event prior to the target state S to the node set N (step S107).

例えば、システム状態S24に先立つイベントp2’’は、ノード集合Nに含まれるノードSW1の状態を変更する。したがって、簡約部220は、イベントp2’’と通知先ノードSW1との組をイベント集合Eに、E={(p2’’,SW1)}のように追加する。そして、簡約部220は、イベントp2’’の通知先ノードSW1と通知元ノードSW2とを、ノード集合Nに、N={SW1、SW2}のように追加する。   For example, the event p2 ″ preceding the system state S24 changes the state of the node SW1 included in the node set N. Therefore, the reduction unit 220 adds a set of the event p2 ″ and the notification destination node SW1 to the event set E as E = {(p2 ″, SW1)}. Then, the reduction unit 220 adds the notification destination node SW1 and the notification source node SW2 of the event p2 ″ to the node set N as N = {SW1, SW2}.

簡約部220は、対象状態Sが反例540中の最初のシステム状態かどうかを判定する(ステップS108)。   The reduction unit 220 determines whether the target state S is the first system state in the counterexample 540 (step S108).

ステップS108で、最初のシステム状態でない場合(ステップS108/N)、簡約部220は、対象状態Sに、当該対象状態Sの一つ前のシステム状態を設定し(ステップS109)、ステップS105からの処理を繰り返す。   In step S108, if the system state is not the first system state (step S108 / N), the reduction unit 220 sets the system state immediately before the target state S as the target state S (step S109). Repeat the process.

例えば、対象状態Sがシステム状態S23の場合、システム状態S23に先立つイベントp2’は、ノード集合Nに含まれるノードSW2の状態を変更する。したがって、簡約部220は、イベントp2’と通知先ノードSW2との組をイベント集合Eに追加する。   For example, when the target state S is the system state S23, the event p2 'preceding the system state S23 changes the state of the node SW2 included in the node set N. Therefore, the reduction unit 220 adds the set of the event p2 'and the notification destination node SW2 to the event set E.

同様に、簡約部220は、対象状態Sがシステム状態S1になるまで、イベントがノード集合Nに含まれるノードの状態を変更するかどうかの判定と、変更する場合のイベント集合E、ノード集合Nへのイベント、ノードの追加を繰り返す。   Similarly, the reduction unit 220 determines whether or not the event changes the state of the node included in the node set N until the target state S becomes the system state S1, and the event set E and node set N in the case of change. Repeat adding events and nodes to.

この結果、ノード集合Nとして、N={SW1,SW2,CNT,H1}が得られる。また、イベント集合Eとして、E={(p1,SW1),(pi1,CNT),(fm1,SW1),(p1’,SW2),(p2,SW1),(p2’,SW2),(p2’’,SW1)}が得られる。   As a result, N = {SW1, SW2, CNT, H1} is obtained as the node set N. As the event set E, E = {(p1, SW1), (pi1, CNT), (fm1, SW1), (p1 ′, SW2), (p2, SW1), (p2 ′, SW2), (p2 '', SW1)}.

このようにして得られたノード集合Nには、解析対象のノードとして、検証性質520の違反が検出されたノードと、当該ノードの検証性質520に違反した状態に影響した可能性があるノードが設定されている。また、イベント集合Eには、解析対象のイベントとして、当該ノードの検証性質520に違反した状態に影響した可能性があるイベントが設定されている。   In the node set N obtained in this way, as a node to be analyzed, a node in which a violation of the verification property 520 is detected and a node that may have influenced the state of violation of the verification property 520 of the node are included. Is set. In the event set E, an event that may have affected the state of violation of the verification property 520 of the node is set as an analysis target event.

ステップS108で、対象状態Sが反例540中の最初のシステム状態であれば(ステップS108/Y)、簡約部220は、ノード集合Nとイベント集合Eとをもとに、簡約化された反例トレース560を生成する(ステップS110)。ここで、簡約部220は、反例540により示されるシステム状態の遷移系列から、ノード集合Nに含まれるノードの状態の遷移系列を抽出し、イベント集合Eに含まれるイベントと関連付けることにより、簡約化された反例トレース560を生成する。   If the target state S is the first system state in the counterexample 540 in step S108 (step S108 / Y), the reduction unit 220 reduces the counterexample trace simplified based on the node set N and the event set E. 560 is generated (step S110). Here, the simplification unit 220 extracts the state transition sequence of the nodes included in the node set N from the system state transition sequence indicated by the counter example 540 and associates it with the events included in the event set E, thereby simplifying. Generated counterexample trace 560 is generated.

図7は、本発明の実施の形態における、簡約化された反例トレース560の例を示す図である。   FIG. 7 is a diagram illustrating an example of a simplified counter example trace 560 in the embodiment of the present invention.

例えば、簡約部220は、図7のように、簡約化された反例トレース560を生成する。   For example, the reduction unit 220 generates a simplified counter example trace 560 as shown in FIG.

図7の反例トレース560では、図6の反例トレース550に比べて、解析対象のノード以外のノードSW3、SW4、H2の状態の遷移系列や、解析対象のイベント以外のイベントが省略され、簡約化されている。   In the counter example trace 560 of FIG. 7, compared with the counter example trace 550 of FIG. 6, the state transition sequences of the nodes SW3, SW4, and H2 other than the analysis target node and events other than the analysis target event are omitted, and the simplification. Has been.

簡約部220は、簡約化された反例トレース560を出力する(ステップS111)。   The reduction unit 220 outputs a simplified counter example trace 560 (step S111).

例えば、簡約部220は、図7の反例トレース560を利用者へ出力(表示)する。   For example, the reduction unit 220 outputs (displays) the counter example trace 560 of FIG. 7 to the user.

利用者は、解析対象のノードの状態の遷移系列と、解析対象のイベントのみに簡約化された反例トレース560を解析することにより、検証性質520の違反を引き起こす不具合の原因を、容易に推定できる。   The user can easily estimate the cause of the failure causing the violation of the verification property 520 by analyzing the transition sequence of the state of the node to be analyzed and the counter example trace 560 simplified to only the event to be analyzed. .

以上により、本発明の実施の形態の動作が完了する。   Thus, the operation of the embodiment of the present invention is completed.

次に、本発明の実施の形態の特徴的な構成を説明する。図1は、本発明の実施の形態の特徴的な構成を示すブロック図である。   Next, a characteristic configuration of the embodiment of the present invention will be described. FIG. 1 is a block diagram showing a characteristic configuration of an embodiment of the present invention.

図1を参照すると、本発明の実施の形態の反例処理装置200(情報処理装置)は、反例記憶部210、及び、簡約部220を含む。反例記憶部210は、システムに係る複数の要素の状態の集合であるシステム状態の、検証性質520の違反が検出されるまでの遷移系列を示す反例540を記憶する。簡約部220は、反例540から、検証性質520の違反が検出された要素と、当該要素の検証性質520に違反した状態に影響した可能性がある要素とを、解析対象の要素として抽出し、当該抽出された解析対象の要素の状態の遷移系列を関連付けて出力する。   Referring to FIG. 1, a counter example processing apparatus 200 (information processing apparatus) according to an embodiment of the present invention includes a counter example storage unit 210 and a reduction unit 220. The counter example storage unit 210 stores a counter example 540 indicating a transition sequence until a violation of the verification property 520 of a system state that is a set of states of a plurality of elements related to the system is detected. The simplification unit 220 extracts, from the counterexample 540, an element in which the violation of the verification property 520 is detected and an element that may have affected the state of the violation of the verification property 520 of the element as an analysis target element. The extracted transition sequence of the state of the element to be analyzed is output in association.

本発明の実施の形態によれば、モデル検査における反例の分析を効率化できる。その理由は、簡約部220が、反例540から、検証性質520の違反が検出された要素と、当該要素の検証性質520に違反した状態に影響した可能性がある要素とを、解析対象の要素として抽出し、簡約化された反例トレース560として出力するためである。これにより、モデル検査における、不具合の特定を効率化できる。   According to the embodiment of the present invention, the analysis of counterexamples in model checking can be made efficient. The reason is that, from the counterexample 540, the reduction unit 220 divides the element in which the violation of the verification property 520 is detected and the element that may have affected the state of violation of the verification property 520 of the element into the element to be analyzed. Is extracted as a simplified counter example trace 560 and output. As a result, it is possible to efficiently identify the defect in the model check.

以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。   While the present invention has been described with reference to the embodiments, the present invention is not limited to the above embodiments. Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention.

本発明は、モデル検査において反例の解析により不具合の特定を支援するツールに適用できる。また、本発明は、モデル検査以外に、実行トレースを表示するツールにも適用できる。   The present invention can be applied to a tool that supports the identification of defects by analyzing counterexamples in model checking. In addition to model checking, the present invention can also be applied to tools that display execution traces.

100 モデル検査装置
110 モデル生成部
120 モデル検査部
200 反例処理装置
201 CPU
202 記憶手段
203 通信手段
204 入力手段
205 出力手段
210 反例記憶部
220 簡約部
510 モデル記述
520 検証性質
530 検査結果
540 反例
550 反例トレース
560 反例トレース
DESCRIPTION OF SYMBOLS 100 Model inspection apparatus 110 Model production | generation part 120 Model inspection part 200 Counterexample processing apparatus 201 CPU
202 Storage means 203 Communication means 204 Input means 205 Output means 210 Counterexample storage section 220 Reduction section 510 Model description 520 Verification property 530 Inspection result 540 Counterexample 550 Counterexample trace 560 Counterexample trace

Claims (9)

システムに係る複数の要素の状態の集合であるシステム状態の、所定の検証性質の違反が検出されるまでの遷移系列を示す反例を記憶する反例記憶手段と、
前記反例から、前記検証性質の違反が検出された要素と、当該要素の当該検証性質に違反した状態に影響した可能性がある要素とを、解析対象の要素として抽出し、当該抽出された解析対象の要素の状態の遷移系列を関連付けて出力する簡約手段と、
を備えた情報処理装置。
A counter example storage means for storing a counter example indicating a transition sequence until a violation of a predetermined verification property of a system state that is a set of states of a plurality of elements related to the system is detected;
From the counter example, an element in which the violation of the verification property is detected and an element that may have affected the state of the element in violation of the verification property are extracted as analysis target elements, and the extracted analysis A reduction means for associating and outputting the transition sequence of the state of the target element;
An information processing apparatus comprising:
前記システム状態の遷移は、前記システムに係る複数の要素の内の、一の要素から他の要素に通知されたイベントにより、当該他の要素の状態が変化することにより発生し、
前記反例は、前記システム状態の遷移系列と当該遷移系列の各遷移に係るイベントを表し、
前記簡約手段は、さらに、前記反例から、前記検証性質の違反が検出された要素の当該検証性質に違反した状態に影響した可能性があるイベントを、解析対象のイベントとして抽出し、前記解析対象の要素の状態の遷移系列と関連付けて出力する、
請求項1に記載の情報処理装置。
The transition of the system state occurs when the state of the other element changes due to an event notified from one element to the other element among a plurality of elements related to the system,
The counter example represents a transition sequence of the system state and an event related to each transition of the transition sequence,
The simplification means further extracts, from the counterexample, an event that may have affected the state of violation of the verification property of the element in which the violation of the verification property is detected as an event to be analyzed, and the analysis target Output in association with the transition sequence of the state of
The information processing apparatus according to claim 1.
前記反例は、前記システム状態の遷移系列の各遷移に係るイベントの通知元、及び、通知先を含み、
前記簡約手段は、前記検証性質の違反が検出された要素を前記解析対象の要素に設定し、前記反例における前記システム状態の遷移系列上で、前記検証性質の違反が検出されたシステム状態から、当該システム状態より前の方向に、前記解析対象の要素の状態を変化させたイベントの検出、当該検出されたイベントの通知元である要素の前記解析対象の要素への追加、及び、当該検出されたイベントの前記解析対象のイベントへの追加を繰り返すことにより、前記解析対象の要素、及び、前記解析対象のイベントを抽出する、
請求項2に記載の情報処理装置。
The counter example includes a notification source of an event related to each transition of the system state transition series, and a notification destination,
The reduction means sets the element in which the violation of the verification property is detected as the element to be analyzed, and on the system state transition sequence in the counter example, from the system state in which the violation of the verification property is detected, Detection of an event that changed the state of the analysis target element in a direction before the system state, addition of an element that is a notification source of the detected event to the analysis target element, and detection Extracting the event to be analyzed and the event to be analyzed by repeating the addition of the event to the event to be analyzed,
The information processing apparatus according to claim 2.
システムに係る複数の要素の状態の集合であるシステム状態の、所定の検証性質の違反が検出されるまでの遷移系列を示す反例を記憶し、
前記反例から、前記検証性質の違反が検出された要素と、当該要素の当該検証性質に違反した状態に影響した可能性がある要素とを、解析対象の要素として抽出し、当該抽出された解析対象の要素の状態の遷移系列を関連付けて出力する、
反例処理方法。
Stores a counter-example indicating a transition sequence until a violation of a predetermined verification property of a system state that is a set of states of a plurality of elements related to the system is detected,
From the counter example, an element in which the violation of the verification property is detected and an element that may have affected the state of the element in violation of the verification property are extracted as analysis target elements, and the extracted analysis Output by associating the transition sequence of the state of the target element,
Counterexample processing method.
前記システム状態の遷移は、前記システムに係る複数の要素の内の、一の要素から他の要素に通知されたイベントにより、当該他の要素の状態が変化することにより発生し、
前記反例は、前記システム状態の遷移系列と当該遷移系列の各遷移に係るイベントを表し、
さらに、前記反例から、前記検証性質の違反が検出された要素の当該検証性質に違反した状態に影響した可能性があるイベントを、解析対象のイベントとして抽出し、前記解析対象の要素の状態の遷移系列と関連付けて出力する、
請求項4に記載の反例処理方法。
The transition of the system state occurs when the state of the other element changes due to an event notified from one element to the other element among a plurality of elements related to the system,
The counter example represents a transition sequence of the system state and an event related to each transition of the transition sequence,
Further, from the counterexample, an event that may have affected the state of violation of the verification property of the element in which the violation of the verification property is detected is extracted as an analysis target event, and the state of the analysis target element is extracted. Output in association with transition series,
The counter example processing method of Claim 4.
前記反例は、前記システム状態の遷移系列の各遷移に係るイベントの通知元、及び、通知先を含み、
前記検証性質の違反が検出された要素を前記解析対象の要素に設定し、
前記反例における前記システム状態の遷移系列上で、前記検証性質の違反が検出されたシステム状態から、当該システム状態より前の方向に、前記解析対象の要素の状態を変化させたイベントの検出、当該検出されたイベントの通知元である要素の前記解析対象の要素への追加、及び、当該検出されたイベントの前記解析対象のイベントへの追加を繰り返すことにより、前記解析対象の要素、及び、前記解析対象のイベントを抽出する、
請求項5に記載の反例処理方法。
The counter example includes a notification source of an event related to each transition of the system state transition series, and a notification destination,
The element in which the violation of the verification property is detected is set as the element to be analyzed,
On the transition sequence of the system state in the counter example, detection of an event in which the state of the analysis target element is changed in a direction before the system state from the system state in which the violation of the verification property is detected, By repeating the addition of the element that is the notification source of the detected event to the element to be analyzed and the addition of the detected event to the event to be analyzed, the element to be analyzed, and the Extract events to be analyzed,
The counter example processing method according to claim 5.
コンピュータに、
システムに係る複数の要素の状態の集合であるシステム状態の、所定の検証性質の違反が検出されるまでの遷移系列を示す反例を記憶し、
前記反例から、前記検証性質の違反が検出された要素と、当該要素の当該検証性質に違反した状態に影響した可能性がある要素とを、解析対象の要素として抽出し、当該抽出された解析対象の要素の状態の遷移系列を関連付けて出力する、
処理を実行させるプログラム。
On the computer,
Stores a counter-example indicating a transition sequence until a violation of a predetermined verification property of a system state that is a set of states of a plurality of elements related to the system is detected,
From the counter example, an element in which the violation of the verification property is detected and an element that may have affected the state of the element in violation of the verification property are extracted as analysis target elements, and the extracted analysis Output by associating the transition sequence of the state of the target element,
A program that executes processing.
前記システム状態の遷移は、前記システムに係る複数の要素の内の、一の要素から他の要素に通知されたイベントにより、当該他の要素の状態が変化することにより発生し、
前記反例は、前記システム状態の遷移系列と当該遷移系列の各遷移に係るイベントを表し、
さらに、前記反例から、前記検証性質の違反が検出された要素の当該検証性質に違反した状態に影響した可能性があるイベントを、解析対象のイベントとして抽出し、前記解析対象の要素の状態の遷移系列と関連付けて出力する、
処理を実行させる請求項7に記載のプログラム。
The transition of the system state occurs when the state of the other element changes due to an event notified from one element to the other element among a plurality of elements related to the system,
The counter example represents a transition sequence of the system state and an event related to each transition of the transition sequence,
Further, from the counterexample, an event that may have affected the state of violation of the verification property of the element in which the violation of the verification property is detected is extracted as an analysis target event, and the state of the analysis target element is extracted. Output in association with transition series,
The program according to claim 7, wherein the program is executed.
前記反例は、前記システム状態の遷移系列の各遷移に係るイベントの通知元、及び、通知先を含み、
前記検証性質の違反が検出された要素を前記解析対象の要素に設定し、
前記反例における前記システム状態の遷移系列上で、前記検証性質の違反が検出されたシステム状態から、当該システム状態より前の方向に、前記解析対象の要素の状態を変化させたイベントの検出、当該検出されたイベントの通知元である要素の前記解析対象の要素への追加、及び、当該検出されたイベントの前記解析対象のイベントへの追加を繰り返すことにより、前記解析対象の要素、及び、前記解析対象のイベントを抽出する、
処理を実行させる請求項8に記載のプログラム。
The counter example includes a notification source of an event related to each transition of the system state transition series, and a notification destination,
The element in which the violation of the verification property is detected is set as the element to be analyzed,
On the transition sequence of the system state in the counter example, detection of an event in which the state of the analysis target element is changed in a direction before the system state from the system state in which the violation of the verification property is detected, By repeating the addition of the element that is the notification source of the detected event to the element to be analyzed and the addition of the detected event to the event to be analyzed, the element to be analyzed, and the Extract events to be analyzed,
The program according to claim 8, wherein the program is executed.
JP2014135817A 2014-07-01 2014-07-01 Information processing device, counterexample processing method, and program Pending JP2016014959A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014135817A JP2016014959A (en) 2014-07-01 2014-07-01 Information processing device, counterexample processing method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014135817A JP2016014959A (en) 2014-07-01 2014-07-01 Information processing device, counterexample processing method, and program

Publications (1)

Publication Number Publication Date
JP2016014959A true JP2016014959A (en) 2016-01-28

Family

ID=55231112

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014135817A Pending JP2016014959A (en) 2014-07-01 2014-07-01 Information processing device, counterexample processing method, and program

Country Status (1)

Country Link
JP (1) JP2016014959A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023243103A1 (en) * 2022-06-17 2023-12-21 日本電信電話株式会社 Determination device, determination method, and program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023243103A1 (en) * 2022-06-17 2023-12-21 日本電信電話株式会社 Determination device, determination method, and program

Similar Documents

Publication Publication Date Title
US8589884B2 (en) Method and system for identifying regression test cases for a software
US9443044B2 (en) Determining a quality parameter for a verification environment
US10635555B2 (en) Verifying a graph-based coherency verification tool
JP2016115175A (en) Software test apparatus and software test program
JP5450840B2 (en) Test data generation method for program execution performance evaluation
US20180107587A1 (en) Command coverage analyzer
JP6245006B2 (en) Test case generation apparatus, method, and program
CN108446220B (en) Test case generation method and device
US20090132227A1 (en) Counter example analysis support apparatus
JP5762542B2 (en) Computer-implemented method and persistent computer-readable medium for semiconductor process recipe verification
US20120291019A1 (en) Program verification apparatus based on model verifying and storage medium
JP2016014959A (en) Information processing device, counterexample processing method, and program
JP6451417B2 (en) Debug support device, debug support system, debug support method, and debug support program
US10649444B2 (en) Method and system for generating minimal cut-sets for highly integrated large systems
JP6169302B2 (en) Specification configuration apparatus and method
JP2015011661A (en) Influence range analysis system, influence range analysis method and influence range analysis program
JP2013065258A (en) Information processor, information processing method and information processing program
JP5755861B2 (en) Test case generation apparatus, test case generation method, and test case generation program
CN110114769B (en) System and method for semantically comparing product configuration models
JP5736588B2 (en) Source code conversion method and source code conversion program
JPWO2017104571A1 (en) Information processing apparatus, information processing method, and computer program
JP2010097328A (en) Loop optimization system, loop optimization method, and program for loop optimization
KR102160772B1 (en) Apparatus and method for repairing memory
Raana et al. C++ BUG CUB: Logical Bug Detection for C++ Code
JP2015094964A (en) Adverse effect detector