JP6556091B2 - System specification verification support apparatus and system specification verification support method - Google Patents
System specification verification support apparatus and system specification verification support method Download PDFInfo
- Publication number
- JP6556091B2 JP6556091B2 JP2016084183A JP2016084183A JP6556091B2 JP 6556091 B2 JP6556091 B2 JP 6556091B2 JP 2016084183 A JP2016084183 A JP 2016084183A JP 2016084183 A JP2016084183 A JP 2016084183A JP 6556091 B2 JP6556091 B2 JP 6556091B2
- Authority
- JP
- Japan
- Prior art keywords
- counterexample
- formal language
- description
- exclusion
- formal
- 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.)
- Active
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Description
本発明は、システム仕様の検証を支援する技術に関する。 The present invention relates to a technique for supporting verification of a system specification.
システムの不具合、たとえばソフトウェアシステムの不具合の原因の一つに、設計したソフトウェアの仕様誤りがある。仕様誤りを検出するためには、形式手法による検証が有効である。形式手法によるソフトウェア仕様の検証では、まず数学的意味を持つ形式言語を用いてシステムの動作仕様を示す状態遷移系のモデル、およびそのシステムの動作仕様が満たすべき性質(検証性質)を記述する。そして、形式言語で記述されたモデルの記述(以下、これを形式言語仕様記述と呼ぶ)が、同じく形式言語で記述された性質(以下、検証性質記述と呼ぶ)を満たすかを、数学的手法に基づいて検証する。 One of the causes of a system failure, for example, a software system failure is an error in the specification of the designed software. In order to detect specification errors, verification by a formal method is effective. In the verification of the software specification by the formal method, first, a formal language having a mathematical meaning is used to describe a model of a state transition system indicating the operation specification of the system and a property (verification property) to be satisfied by the operation specification of the system. A mathematical method is used to determine whether the description of the model described in the formal language (hereinafter referred to as formal language specification description) satisfies the property described in the formal language (hereinafter referred to as verification property description). Verify based on
形式手法のうちモデル検査法と呼ばれる種類の手法では、上記検証を機械的に実行できる。そのため、多くのモデル検査法において、検証を自動化するためのツールが開発されている。例えば、形式言語Promelaにて記述した形式言語仕様記述および検証性質記述は、SPINと呼ばれる検証ツールにて自動検証可能である。 Among the formal methods, a method called a model checking method can perform the verification mechanically. For this reason, tools for automating verification have been developed in many model checking methods. For example, a formal language specification description and a verification property description described in the formal language Promela can be automatically verified by a verification tool called SPIN.
モデル検査法における検証ツールは、形式言語仕様記述および検証性質記述を入力として受け付ける。そして検証の結果、上記形式言語仕様記述が上記検証性質記述を満たさないと判明した場合は、検証ツールは、「形式言語仕様は検証性質を違反する」ことを示すメッセージとともに、その性質違反に至るまでの実行系列を出力する。この実行系列は、反例と呼ばれる。検証ツールは、検証対象の形式言語仕様記述を検査する過程において、一つの反例を検出次第、検証を終了してその反例を出力する。検証者は、検証ツールが出力した反例を解読することで、どのような場合に上記性質違反が発生するかを認識できるため、上記反例に基づいてシステム仕様の修正を行える。 The verification tool in the model checking method accepts a formal language specification description and a verification property description as inputs. As a result of verification, if it is found that the formal language specification description does not satisfy the verification property description, the verification tool violates the property with a message indicating that the formal language specification violates the verification property. The execution sequence up to is output. This execution sequence is called a counterexample. In the process of checking the formal language specification description to be verified, the verification tool ends verification and outputs the counterexample as soon as one counterexample is detected. The verifier can recognize in which case the property violation occurs by decoding the counterexample output by the verification tool, so that the system specification can be corrected based on the counterexample.
ところで、形式言語は実際のシステムの振る舞いを抽象的かつ模式的に表現可能であることから、形式言語仕様記述の表すシステム仕様が、実際のシステムの振る舞いを忠実に表していない場合がある。その場合、実際のシステムでは起こり得ない実行系列が、反例として出力される場合がある。そのような反例は、偽反例と呼ばれる。 By the way, since the formal language can express the behavior of the actual system abstractly and schematically, the system specification represented by the formal language specification description may not faithfully represent the behavior of the actual system. In this case, an execution sequence that cannot occur in an actual system may be output as a counter example. Such a counterexample is called a false counterexample.
上記偽反例の存在を考慮すると、検証者は反例が出力された場合に、まずその反例が偽反例か否かを判断する必要がある。そして、出力された反例は偽反例ではない反例(以下、正反例と呼ぶ)と判断した場合は、ソフトウェア仕様の修正を行う。逆に、出力された反例は偽反例と判断した場合には、実際のシステムの振る舞いと一致するように形式言語仕様記述を適切に詳細化することで、上記偽反例が反例として出力されないようにする必要がある。形式言語仕様記述を適切に詳細化できた場合は、再検証の結果、上記偽反例とは異なる反例が出力されるか、あるいは「形式言語仕様は検証性質を満たす」ことを示すメッセージが出力される。 Considering the existence of the false counterexample, when the verifier is output, it is necessary to first determine whether the counterexample is a false counterexample. If it is determined that the output counterexample is a counterexample that is not a false counterexample (hereinafter referred to as a counterexample), the software specification is corrected. Conversely, if the output counterexample is determined to be a false counterexample, the formal language specification description is appropriately refined so that it matches the actual system behavior so that the above counterexample is not output as a counterexample. There is a need to. If the formal language specification description can be refined appropriately, the reverification results in a counterexample different from the false counterexample above or a message indicating that the formal language specification satisfies the verification property The
このように検証の結果、偽反例が出力された場合には、当該偽反例が出力されないように適切に形式言語仕様記述を詳細化する必要がある。しかし、偽反例の内容に基づく形式言語仕様記述の詳細化は、人手によって行う必要があるため、大量の偽反例を含む形式言語仕様記述を対象とした場合、多くの手間と時間がかかるという問題がある。この問題に対処するため、特許文献1では、人手で形式言語仕様記述を詳細化せずに偽反例を除外するための方法を開示している。この方法によれば、出力された偽反例に基づいて検証性質を修正する装置を提供することで、人手で形式言語仕様記述を修正せずとも、偽反例を除外できるようになる。
As described above, when a false counterexample is output as a result of the verification, it is necessary to appropriately detail the formal language specification description so that the false counterexample is not output. However, it is necessary to manually refine the formal language specification description based on the contents of the counterfeit example, so when the formal language specification description including a large number of false counterexamples is targeted, it takes a lot of work and time. There is. In order to cope with this problem,
しかしながら、上記特許文献1に開示の方法では、ある条件が常に成立し続ける、あるいは常に成立しないという特定の性質を持つ偽反例のみを除外できる。詳細には、「異常状態(到達してはいけない状態)に到達するための条件が常に成立する偽反例」、および「正常状態(到達すべき状態)に到達するための条件が全く成立しない偽反例」のみを除外できる。即ち、特許文献1に開示の方法では、上記以外の偽反例は除外できないという課題がある。実際のシステムの仕様では、これら以外の偽反例も多く存在する。また偽反例の内容は、検証対象のシステムの仕様やユーザ(システム設計者)のニーズによって異なるため、特許文献1に開示の方法では、多くの場合において(上記以外の偽反例が出力された場合)、人手での形式言語仕様記述の詳細化が必要になる。
However, the method disclosed in
開示するシステム仕様検証支援装置は、システムの動作仕様を記述した1以上の形式言語文から成る形式言語仕様記述の更新処理を行う、形式言語仕様記述更新部と、検証性質を形式言語で記述した検証性質記述の更新処理を行う検証性質更新部とを有する。形式言語仕様記述更新部は、ユーザから与えられた除外反例に基づいて、形式言語仕様記述の実行過程において、除外反例に含まれる形式言語文が実行された時に、その旨を時系列で記録するための処理を形式言語で記述したトレース挿入用記述を作成し、トレース挿入用記述を前記形式言語仕様記述に挿入することで形式言語仕様記述を更新する。また検証性質更新部は、トレース挿入用記述及び除外反例を用いて、検証性質記述を「前記検証性質が成立しなければ、前記除外反例の示す順序で前記形式言語仕様記述を構成する前記形式言語文が実行された」という性質の記述に書き換える。 The disclosed system specification verification support apparatus describes a formal language specification description update unit that performs a process of updating a formal language specification description including one or more formal language statements describing system operation specifications, and describes verification properties in the formal language. A verification property update unit that performs a process of updating the verification property description. The formal language specification description update unit records, in a time series, when a formal language sentence included in the exclusion counterexample is executed in the formal language specification description execution process based on the exclusion counterexample given by the user. The trace language description is updated by creating a trace insertion description in which the processing for this is described in the formal language, and inserting the trace insertion description into the formal language specification description. Further, the verification property update unit uses the trace insertion description and the exclusion counterexample to determine the verification property description as “the formal language that constitutes the formal language specification description in the order indicated by the exclusion counterexample if the verification property does not hold. Rewrite the description with the property that the statement was executed.
開示する偽反例除外支援装置によれば、任意の偽反例を除外できるようになるため、システム仕様の検証における人手での作業量を削減し、システム仕様の不具合検出にかかる作業時間および作業工数を削減することができる。 According to the disclosed false counterexample exclusion support device, it becomes possible to exclude arbitrary false counterexamples. Therefore, the amount of manual work in verifying the system specifications is reduced, and the work time and work man-hours required to detect system specification defects are reduced. Can be reduced.
以下、本発明のいくつかの実施形態について、図面を参照しながら説明する。 Several embodiments of the present invention will be described below with reference to the drawings.
図1は、実施例1におけるシステム仕様検証支援装置(偽反例除外支援装置)201の構成例を示すブロック図である。 FIG. 1 is a block diagram illustrating a configuration example of a system specification verification support apparatus (false counterexample exclusion support apparatus) 201 according to the first embodiment.
偽反例除外支援装置201は、編集部101、自然言語文挿入部104、検証部106、除外反例作成部110、形式言語仕様記述更新部112、及び検証性質更新部113、の機能ブロックを含む。また偽反例除外支援装置201は、検証性質保持部102、形式言語仕様記述保持部103、言語間対応関係保持部105、反例保持部107、除外反例保持部111、の記憶部を有する。偽反例除外支援装置201は、CPU、メモリ、入出力装置を有するコンピュータ上で実現される。上記各処理部は、CPUによって処理が実行され、各保持部はメモリに設けられる。
The false counterexample
編集部101は、ユーザからの入力に従って、形式言語仕様記述及び検証性質記述を編集し、編集された形式言語仕様記述を形式言語仕様記述保持部103に格納し、また編集された検証性質記述を検証性質保持部102に格納する。編集部101はたとえば、公知の計算機上で稼働するテキストエディタでもよい。
The
自然言語文挿入部104は、形式言語仕様記述保持部103に保持している形式言語仕様記述について、上記形式言語仕様記述を構成する任意の形式言語文に対して、その意味を説明する自然言語文の入力を受け付ける。そして自然言語文挿入部104は、入力された自然言語文を反例に出力するように上記形式言語仕様記述を更新する。その際自然言語文挿入部104は、上記形式言語文と上記自然言語文との対応関係を、言語間対応関係保持部105に登録する。
The natural language
検証部106は、形式言語仕様記述保持部103に保持している形式言語仕様記述、および検証性質保持部102に保持している検証性質記述を取得し、モデル検査法による検証を実行する。検証の結果、上記形式言語仕様記述が上記検証性質記述の示す性質を満たさないことが判明した場合は、検証部106は反例を出力しその反例を反例保持部107に登録する。検証部106は一例として、SPINなどの公知のモデル検査ツールである。
The
除外反例作成部110は、反例保持部107に保持している反例を取得し、上記反例を構成する形式言語文の選択をユーザから受け付けることで、選択された形式言語文およびその行番号から構成される除外反例を作成する。さらに除外反例作成部110は、上記除外反例に対する編集をユーザから受け付けることで、上記除外反例を構成する形式言語文の任意の組合せによる別の除外反例を作成する。その際ユーザは、記号“*”を用いることで、形式言語文の任意回数の繰り返しを記述することもできる。除外反例作成部110は作成した除外反例を、除外反例保持部111に登録する。
The exclusion
形式言語仕様記述更新部112は、除外反例保持部111に保持している除外反例を取得し、上記除外反例に基づいて形式言語仕様記述保持部103に保持している形式言語仕様記述を更新する。具体的には形式言語仕様記述更新部112は、上記除外反例を構成する形式言語文の実行を記録するためのトレース配列の定義と、上記形式言語文を実行した場合に上記トレース配列に上記形式言語文を表す定数を代入するトレース情報作成処理を、上記形式言語仕様記述に挿入する。
The formal language specification
検証性質更新部113は、除外反例保持部111に保持している除外反例を取得し、上記形式言語仕様記述に挿入した上記トレース配列が、上記除外反例の示す順序で上記形式言語文を表す定数を保持しているかを判定するためのトレース判定式を作成する。そして検証性質更新部113は、検証性質保持部102に保持している検証性質記述を、「上記検証性質が成立しなければ、その実行系列においてトレース判定式が成立する」という性質の記述に置き換える。
The verification
図2は、図1に示した偽反例除外支援装置を実現するハードウェア構成の例を示す図である。偽反例除外支援装置201は一例として、パーソナルコンピュータ(PC)等の汎用的な計算機で、CPU202、メモリ203、補助記憶装置204、表示装置205、入力装置206、及び外部媒体入出力装置207を備える。
FIG. 2 is a diagram illustrating an example of a hardware configuration that implements the counterfeit example exclusion support device illustrated in FIG. 1. The counterfeit example
CPU202は、メモリ203に記憶されたプログラムを実行することによって、各種処理を実行する。メモリ203は、CPU202のワークエリアとして機能し、プログラム及びプログラムの実行に必要なデータを記憶する。具体的にはメモリ203には、CPU202に実行されることによって偽反例除外支援装置201を、編集部101、自然言語文挿入部104、検証部106、除外反例作成部110、形式言語仕様記述更新部112、及び検証性質更新部113、の機能ブロックを備えた装置として動作させるためのプログラム、及びこのプログラムの実行に必要なデータが記憶される。
The
なお、以下では、偽反例除外支援装置201で実行される各種処理の内容を説明する際、除外反例作成部110等の機能ブロックを処理の主体として説明することがある。先に述べたとおり、除外反例作成部110等は、プログラムがCPU202に実行されることによって実現されたものである。そのため以下の説明において、機能ブロックを主語にして記述されている処理は、実際にはCPU202がその処理を行うことを意味する。ただし説明が冗長になることを避けるため、本実施例では、機能ブロックを処理の主体として、各種処理の内容を説明する。
In the following, when the contents of various processes executed by the counterfeit example
また、偽反例除外支援装置201で実行されるプログラム(偽反例除外支援装置201を、上で述べた各機能ブロックを有する装置として動作させるためのプログラム)は、プログラム配布サーバや記憶メディアを介して提供され、プログラムを実行する装置にインストールされてもよい。なお、ここでの記憶メディアとは、データを非一時的に記憶するコンピュータ可読媒体を意味し、例えばICカード、SDカード、DVD等の不揮発性記憶媒体である。
A program executed by the counterfeit example exclusion support apparatus 201 (a program for operating the counterfeit example
補助記憶装置204は、各種データを格納する。補助記憶装置204は例えば、ハードディスク装置などの不揮発性記憶媒体を用いた記憶装置である。上で述べた、検証性質保持部102、形式言語仕様記述保持部103、言語間対応関係保持部105、反例保持部107、および除外反例保持部111は、補助記憶装置204の有する記憶領域により構成される。
The
そのため、本実施例の説明において、たとえば「反例保持部107に情報を格納する」という記述がある箇所は、実際には反例保持部107を構成する補助記憶装置204の記憶領域に情報が格納されることを意味する。また、検証性質保持部102、形式言語仕様記述保持部103、言語間対応関係保持部105、および除外反例保持部111について、上と同様な記述がなされている場合にも同様に、補助記憶装置204の記憶領域に情報が格納されることを意味する。
Therefore, in the description of the present embodiment, for example, where there is a description “store information in the
また別の実施形態として、検証性質保持部102、形式言語仕様記述保持部103、言語間対応関係保持部105、反例保持部107、および除外反例保持部111は、メモリ203の記憶領域を用いて構成されてもよい。
As another embodiment, the verification
あるいは、編集部101、自然言語文挿入部104、検証部106、反例保持部107、除外反例作成部110、形式言語仕様記述更新部112、及び検証性質更新部113を構成するプログラムの少なくとも一部についても、補助記憶装置204に格納されても良い。その場合、各種処理実行の際には、CPU202が補助記憶装置204に格納されたプログラムをメモリ203へ読み出して、プログラムを実行する。また各プログラムは、あらかじめ、メモリ203または補助記憶装置204に格納されていても良いし、必要に応じ、利用可能な媒体を介して、他の装置からメモリ203または補助記憶装置204に導入されてもよい。媒体とは、例えば、外部媒体入出力装置207に着脱可能な記憶媒体、または、ネットワークや、ネットワークを伝搬する搬送波やデジタル信号などの通信媒体を指す。
Alternatively, at least a part of programs constituting the
表示装置205は、プログラムの処理結果などを表示する。表示装置205は、例えば、ディスプレイなどである。入力装置206は、処理の実行指示及び処理に必要な情報の入力などを利用者から受け付ける。入力装置206は、例えば、キーボード及びマウスなどである。
The
外部媒体入出力装置207は、外部媒体に格納されているデータなどの入出力を行う。外部媒体は、外部媒体入出力装置207に着脱可能で可搬性のある記憶媒体であり、外部媒体入出力装置207は、外部媒体に読み書き可能なドライブ装置などである。なお、図2に示したハードウェア構成は一例であり、偽反例除外支援装置201は上で説明した以外の構成物を備えていてもよい。たとえば偽反例除外支援装置201はネットワークインタフェースを有し、ネットワークインタフェースを介して、外部機器から必要な情報を偽反例除外支援装置201に入力するように構成されていてもよい。また、偽反例除外支援装置201は必ずしも単一の計算機でなくてもよい。ネットワークで相互接続された複数台の計算機から、偽反例除外支援装置201が構成されていてもよい。
The external medium input /
図3は、形式言語仕様記述とその検証性質記述の例である。本実施例の説明では一例として、形式言語仕様記述と検証性質記述が、公知の形式言語であるPromelaの構文規則に従って記述されている例を説明する。また本実施例では、検証ツールの一種であるSPINを用いて形式言語仕様記述の検証が行われる例を説明する。そのため本実施例では、形式言語仕様記述301及び検証性質記述302に記述されている、個々の内容の説明は略す。
FIG. 3 is an example of a formal language specification description and its verification property description. In the description of the present embodiment, as an example, an example in which the formal language specification description and the verification property description are described in accordance with the syntax rules of Promela, which is a well-known formal language, will be described. In this embodiment, an example in which formal language specification description is verified using SPIN, which is a kind of verification tool, will be described. For this reason, in this embodiment, the description of the individual contents described in the formal
形式言語仕様記述301は、編集部101により入力装置206および表示装置205を介して編集され、形式言語仕様記述保持部103に保持される。同様に検証性質記述302は、編集部101により入力装置206および表示装置205を介して編集され、検証性質保持部102に保持される。また別の実施形態として、形式言語仕様記述301と検証性質記述302のうち少なくとも一方が、外部媒体入出力装置207あるいはネットワークを介して偽反例除外支援装置201に入力され、形式言語仕様記述保持部103や検証性質保持部102に格納されてもよい。つまり、形式言語仕様記述301と検証性質記述302は必ずしも、偽反例除外支援装置201内で作成(編集)されたものでなくても良い。
The formal
図4は、言語間対応関係保持部105が保持する言語間対応関係の例である。
FIG. 4 is an example of the correspondence relationship between languages held by the correspondence
言語間対応関係401は、形式言語仕様記述の行番号402、形式言語文403、および自然言語文404を含む。形式言語文403を説明する自然言語記述として自然言語文404が定義されていることを示している。形式言語仕様記述において、同一の形式言語文が複数回現れる可能性があるため、形式言語仕様記述の行番号402にて形式言語文403を特定している。本実施例の説明においては、形式言語仕様記述内の同一行に、同一の形式言語文が複数回出現しない場合の例を説明する。ただし、同一の行に、同一の形式言語文が複数回現れる形式言語仕様記述が取り扱われる場合は、行頭からの文字数などを言語間対応関係401に追加することで、形式言語文403の示す形式言語文を一意に識別できるようになる。
The
図5は、自然言語文挿入部104が、自然言語文を反例に出力するように形式言語仕様記述301を更新した結果の例である。
FIG. 5 shows an example of a result of the natural language
記述501〜505は、それぞれ自然言語文を反例に出力するために、自然言語文挿入部104によって挿入された形式言語の記述である。例えば記述501は、形式言語文303(x = 3)に対応する自然言語文“初期化”を反例に出力するために挿入された記述である。また自然言語文“初期化”の前には、自然言語文の接頭辞として定義した文字列“TRACE”が挿入されている。この接頭辞は、実施例2で説明する自然言語反例作成部108が自然言語反例を作成する際に、反例から自然言語文を抽出するための文字列検索キーワードとして使用する。本実施例では接頭辞に“TRACE”が用いられる例を説明するが、別の文字列が使用されてもよい。また図5の例では、形式言語文303と記述501とがatomic節と呼ばれる節内に括られている。これにより、形式言語文303と記述501は必ず連続して実行されるため、反例においても形式言語文303と記述501は連続して現れる。
図6は、自然言語文挿入部104の手順例を示すフローチャートである。以下に示す処理は、偽反例除外支援装置201の備えるCPU202が、メモリ203で実行するプログラムによって実現される。そしてこのプログラムは、以下に説明される各種の動作を行うためのコードから構成されている。
FIG. 6 is a flowchart illustrating an exemplary procedure of the natural language
自然言語文挿入部104は、形式言語仕様記述保持部103から形式言語仕様記述を取得し、画面に表示する。そして自然言語文挿入部104は、上記形式言語仕様記述を構成する文に対するユーザからの選択入力を受け付ける(ステップ601)
The natural language
続いて自然言語文挿入部104は、ステップ601にて選択された形式言語文を説明する自然言語文の入力をユーザから受け付ける(ステップ602)。
Subsequently, the natural language
自然言語文挿入部104は、上記形式言語文の直後に、上記自然言語文を反例に出力するための記述を挿入する。さらに上記形式言語文と上記自然言語文をatomic節にて括り、挿入された記述内容を形式言語仕様記述保持部103内の形式言語仕様記述に反映する(ステップ603)。例えば、ステップ601にて形式言語文303が選択され、ステップ602ではその対応する自然言語文として“初期化”が入力されたとする。その場合、自然言語文挿入部104は、記述501を作成し、形式言語文303の直後に挿入する。さらに自然言語文挿入部104は、形式言語文303と記述501をatomic節にて括る。
The natural language
自然言語文挿入部104は、上記形式言語文とその行番号、および上記自然言語文を、言語間対応関係として言語間対応関係保持部105に登録する(ステップ604)。例えばステップ603と同様に、ステップ601にて形式言語文303が選択され、ステップ602ではその対応する自然言語文として“初期化”が入力されたとする。その場合、自然言語文挿入部104は言語間対応関係401の1行目に示す情報を作成し、言語間対応関係保持部105に登録する。
The natural language
図7は、自然言語文挿入部104における自然言語文挿入画面の例である。
FIG. 7 is an example of a natural language sentence insertion screen in the natural language
自然言語文挿入画面1706は、形式言語仕様記述を表示する形式言語仕様記述表示部1701、形式言語仕様記述において選択中の行を表示する選択行表示部1702、選択中の行における形式言語文を表示する形式言語文表示部1703、自然言語文の入力を受け付ける自然言語文入力受付部1704、および上記自然言語文を反例に出力するための記述を、上記形式言語仕様記述に挿入するための挿入ボタン1705を含む。
The natural language
形式言語仕様記述表示部1701において、ユーザから形式言語文の選択入力を受け付けると、自然言語文挿入部104は選択された行の番号と、その行における形式言語文を、それぞれ選択行表示部1702および形式言語文表示部1703に表示する(ステップ601)。そして自然言語文挿入部104は、自然言語文入力受付部1704にて自然言語文の入力を受け付ける(ステップ602)。その後ユーザが挿入ボタン1705を押下すると、自然言語文挿入部104は上記選択された行に、上記自然言語文を反例に出力するための記述を挿入し、さらに言語間対応関係401に記録すべき情報を作成して、言語間対応関係保持部105に格納する(ステップ603,604)。
When the formal language specification
ユーザは上記の手順を任意回繰り返すことで、形式言語仕様記述を構成する任意の形式言語文に対して、その意味を説明する自然言語文を反例に出力するようにする。その後ユーザは、自然言語文の挿入された形式言語仕様記述(及び検証性質記述)を検証部106に与え、検証部106に検証を実行させる。
The user repeats the above procedure as many times as possible so that a natural language sentence explaining the meaning of an arbitrary formal language sentence constituting the formal language specification description is output as a counter example. Thereafter, the user gives the formal language specification description (and the verification property description) in which the natural language sentence is inserted to the
図8は、自然言語文挿入部104によって自然言語文が挿入された形式言語仕様記述について検証部106が検証を行った結果、検証部106によって出力される反例(検証性質を満たさない場合の、形式言語仕様記述の実行系列)の例である。なお検証部106は、出力した反例を反例保持部107に格納する。
FIG. 8 shows a counterexample (when the verification property is not satisfied, when the
反例を構成する文の読み方を説明する。反例を構成する文は、実行系列におけるステップ番号、プロセスIDおよびプロセス名、形式言語仕様記述を保存したファイル名、形式言語仕様記述における行番号、および形式言語文にて構成される。例えば、図8の1行目は、1:proc 0 (p1) file:4 [x = 3]と記述されている。これは、ファイル名“file”の“4”行目に記載された“x = 3”という形式言語文701を、実行系列の第“1”ステップ目に実行したことを意味する。さらに上記“x = 3”という処理は、“proc 0 (p1)”というプロセスの処理であることを意味する。反例に含まれる形式言語文701〜706、および自然言語文707〜712は、後の説明にて参照する。
Explain how to read the sentences that constitute the counterexample. A sentence constituting the counterexample is composed of a step number in the execution sequence, a process ID and a process name, a file name storing the formal language specification description, a line number in the formal language specification description, and a formal language sentence. For example, the first line in FIG. 8 describes “1: proc 0 (p1) file: 4 [x = 3]”. This means that the
続いて除外反例の作成処理について説明する。図9は、除外反例作成部110が作成する除外反例の例である。
Next, a process for creating a counter-example for exclusion will be described. FIG. 9 is an example of an exclusion counterexample created by the exclusion
除外反例801は少なくとも、形式言語文803と、形式言語仕様記述におけるその形式言語文803の行番号802の組を1以上含む。本実施例では、形式言語文803と、その形式言語文803の形式言語仕様記述内における行番号802の組を、「除外反例文」と呼ぶ。なお、除外反例文は行番号以外の情報を含んでいてもよい。少なくとも除外反例文の形式言語文が、形式言語仕様記述内のどこに存在する文であるか、特定可能な情報が除外反例文に含まれていればよい。たとえば行番号の代わりに、形式言語仕様記述の先頭からのバイトオフセットが、除外反例文に含まれていてもよい。また除外反例文に、形式言語文と行番号以外の情報が含まれていてもよい。
The
除外反例作成部110は、除外反例に対する編集入力をユーザから受け付けることで、上記除外反例を構成する形式言語文の任意の組合せによる別の除外反例を作成する。除外反例804は、除外反例801を編集することで作成された除外反例の例である。同様に除外反例805は、除外反例804を編集することで作成された除外反例の例である。記号806は、形式言語文“x--”の任意回数の繰り返しを意味する。これらの除外反例は、除外反例保持部111に格納される。
The exclusion
図10は、除外反例作成部110の手順例を示すフローチャートである。以下に示す処理は、偽反例除外支援装置201の備えるCPU202が、メモリ203で実行するプログラムによって実現される。そしてこのプログラムは、以下に説明される各種の動作を行うためのコードから構成されている。
FIG. 10 is a flowchart illustrating an exemplary procedure of the exclusion
除外反例作成部110は、反例保持部107から反例を取得し、上記反例を構成する形式言語文の選択をユーザから受け付ける(ステップ901)。例えば、図8に示す反例の例では、形式言語文701〜706などを選択できる。
The exclusion
除外反例作成部110は、上記反例から、ステップ901にて選択された形式言語文の形式言語仕様記述における行番号を取得する。そして、少なくとも上記行番号と上記形式言語文を含む除外反例を作成する(ステップ902)。例えば、ステップ901にて形式言語文701〜706を選択した場合、除外反例801を作成する。
The exclusion
除外反例作成部110は、ステップ902で作成した除外反例に対する編集をユーザから受け付けることで、上記除外反例を構成する形式言語文(除外反例文)の任意の組合せによる別の除外反例を作成する。その際ユーザは、記号“*”を用いることで、形式言語文の任意回数の繰り返しを記述することもできる(ステップ903)。例えば、除外反例作成部110はユーザからの入力に従って除外反例801を編集することで、除外反例804を作成できる。同様に除外反例作成部110はユーザからの入力に従って除外反例804を編集することで、除外反例805を作成できる。
The exclusion
除外反例作成部110は、ステップ902にて作成した除外反例、あるいはステップ903にて作成した除外反例を、除外反例保持部111に登録する(ステップ904)。
The exclusion
図11は、除外反例作成部110における除外反例作成画面の例である。
FIG. 11 is an example of an exclusion counterexample creation screen in the exclusion
除外反例作成画面1809は、反例を表示する反例表示部1801、反例において選択中の行における形式言語文を表示する形式言語文表示部1803、上記選択された形式言語文の、形式言語仕様記述における行番号を表示する行番号表示部1802、選択した形式言語文を除外反例表示部1805の最後尾に追加する追加ボタン1804、除外反例を表示する除外反例表示部1805、繰り返しを意味する記号“*”を入力する記号入力部1808、除外反例表示部1805において選択された形式言語文を削除する削除ボタン1806、および除外反例表示部1805において選択された形式言語文を複製して除外反例表示部1805の最後尾に追加する複製ボタン1807、除外反例を除外反例保持部111に記録する登録ボタン1810を含む。
The exclusion
反例表示部1801において、形式言語文の選択入力を受け付けると(ステップ901)、除外反例作成部110は、選択された形式言語文と、その形式言語文の形式言語仕様記述における行番号を、それぞれ形式言語文表示部1803および行番号表示部1802に表示する。図11の反例表示部1801の例では、選択中の行は下線が引かれた状態で表示されている。そして、追加ボタン1804の押下を受け付けると、除外反例作成部110は選択された形式言語文を除外反例表示部1805の最後尾に追加する(ステップ902)。
When the
除外反例表示部1805では、ユーザは形式言語文の追加、削除、あるいは形式言語文の順序の入れ替えなどの編集作業が可能である(ステップ903)。ユーザは除外反例表示部1805上でドラッグ&ドロップ等の作業を行って形式言語文を移動することで、形式言語文の順序を変更できる。さらに記号入力部1808を利用することで、ユーザは記号“*”を入力できる。また除外反例表示部1805において、ユーザが形式言語文の1つを選択した後に削除ボタン1806を押下すると、除外反例作成部110は選択中の形式言語文を除外反例表示部1805から削除する。同様に、ユーザが除外反例表示部1805において形式言語文を選択した後に複製ボタン1807を押下すると、除外反例作成部110は選択中の上記形式言語文を複製し、除外反例表示部1805の最後尾に追加する。
In the exclusion
また、登録ボタン1810が押下されると、除外反例作成部110は除外反例表示部1805に表示されている除外反例の内容を、除外反例保持部111に登録する(ステップ904)。
When the
なお、本実施例では、除外反例作成部110は検証部106で出力された反例に対する編集入力をユーザから受け付けることで、除外反例を作成する例を説明している。つまり本実施例では、除外反例を作成する前に少なくとも1回は、検証部106による検証を行う例を説明している。ただし別の実施形態として、検証部106で出力された反例を用いずに除外反例が作成されてもよい。たとえばユーザが編集部101を用いて、(検証部106で出力された反例を用いずに)図9に示されるような除外反例を作成し、除外反例保持部111に格納してもよい。この場合、偽反例除外支援装置201は、除外反例の作成前に検証部106による検証を行って反例を出力する必要はない。またこの場合、除外反例作成部110は、上で説明した機能を必ずしも有している必要はない。ユーザからのデータ入力を受け付けて、ユーザから入力された内容(除外反例)を除外反例保持部111に格納する機能(つまり編集部101と同程度の機能)を有していればよい。さらに別の実施形態として、偽反例除外支援装置201が除外反例作成部110を有さず、外部の計算機で作成された除外反例を、例えばネットワークを介して受信して、除外反例保持部111に格納するように構成されていてもよい。
In the present embodiment, an example in which the exclusion
続いて、形式言語仕様記述更新部112の行う処理について説明する。除外反例が除外反例保持部111に登録されると、形式言語仕様記述更新部112の実行が可能になる。偽反例除外支援装置201は除外反例が除外反例保持部111に登録されたことを契機に、形式言語仕様記述更新部112の実行を開始しても良い。あるいは別の実施形態として、偽反例除外支援装置201は、ユーザから形式言語仕様記述更新部112による処理の開始の指示を受領したことを契機に、形式言語仕様記述更新部112の実行を開始するように構成されていてもよい。
Next, processing performed by the formal language specification
図12は、除外反例804に基づき、形式言語仕様記述更新部112が更新した形式言語仕様記述の例である。
FIG. 12 is an example of a formal language specification description updated by the formal language specification
形式言語仕様記述更新部112は、除外反例804に基づき、図5に示す形式言語仕様記述に対して、除外反例に含まれる形式言語文を表す定数の定義1301、トレース配列の定義1302、およびトレース情報作成処理1303、1304を挿入する。本実施例では、形式言語仕様記述更新部112によって挿入される、定数の定義1301、トレース配列の定義1302、トレース情報作成処理1303のセットを、トレース挿入用記述と呼ぶ。
Based on the
定数の定義1301には、DecとFinの2つの定数が定義されている。除外反例804には、2種類の除外反例文(“7: x-”と“16: x--”)が定義されているので、形式言語仕様記述更新部112は定数の定義1301に2つの定数を定義する。なお、Decは7行目の形式言語文“x--”を表し、同様にFinは16行目の形式言語文“x--”を表す。形式言語仕様記述更新部112はこれら定数の名前に、重複のない任意の名前を設定する。
The
トレース配列の定義1302では、上記形式言語文の実行を記録するためのトレース配列を表す変数trと、その配列インデックスを保持する変数indexが宣言されている。上記トレース配列の長さは、除外反例の行数よりも大きく設定する必要がある。本実施例では100としているが、除外反例の行数よりも大きければ任意の値で構わない。
In the
トレース情報作成処理1303、1304では、上記形式言語文の実行と同時に、定数の定義1301にて定義した、上記形式言語文を表す定数を代入している。例えばトレース情報作成処理1303では、トレース配列trに対して7行目の形式言語文“x--”を表す定数Decを代入している。そして、作成したトレース情報作成処理1303と、7行目の形式言語文“x--”はatomic節にて括られているので、図12の形式言語仕様記述が検証部106で実行されると、7行目の形式言語文“x--”の実行と同時に、トレース配列trにその実行を表す定数Decが格納される。
In the trace
このように形式言語仕様記述更新部112によって、トレース挿入用記述が形式言語仕様記述に挿入されるため、形式言語仕様記述の検証が行われると(検証言語仕様記述が検証部106によって検証されると)、除外反例に含まれる形式言語文が実行される毎に、トレース配列に、実行された形式言語文を表す定数が実行順に格納される。そのため、形式言語仕様記述の検証後に(あるいは検証中に)、トレース配列を参照すると、形式言語仕様記述に含まれる各形式言語文が、除外反例に記述されている順に実行されたか否かを判断することができる。
In this way, the formal language specification
図13は、形式言語仕様記述更新部112の手順例を示すフローチャートである。以下に示す処理は、偽反例除外支援装置201の備えるCPU202が、メモリ203で実行するプログラムによって実現される。そしてこのプログラムは、以下に説明される各種の動作を行うためのコードから構成されている。
FIG. 13 is a flowchart illustrating a procedure example of the formal language specification
形式言語仕様記述更新部112は、除外反例保持部111から除外反例を読み出す。そして形式言語仕様記述更新部112は、読み出された除外反例の中から、除外反例文を重複を排除して抽出する。さらに形式言語仕様記述更新部112は、抽出した除外反例文ごとに、その除外反例文を表す定数を決定し、決定した定数の定義を、形式言語仕様記述保持部103に格納されている形式言語仕様記述に書き加える(ステップ1401)。ここで決定される定数の数は、抽出された除外反例文の数と同じである。
The formal language specification
例えば除外反例804には、4行の除外反例文が記述されている。その中から重複のないように除外反例文を抽出する場合、7行目の形式言語文(7: x--)と、16行目の形式言語文(16: x--)の2つの形式言語文が抽出される(つまり、形式言語文の内容が同一(x--)でも行番号が異なる2つの行(除外反例文)が除外反例に含まれている場合、形式言語仕様記述更新部112は2つの除外反例文は異なる文と判断して、2つの除外反例文を抽出する)。そのため、図12における定数の定義1301では、DecとFinの2つの定数が定義されている。Decは7行目の形式言語文に、Finは16行目の形式言語文にそれぞれ対応する。定数の名称及び値は、形式言語仕様記述更新部112が任意に決定できる。
For example, the
また、ある除外反例文に対して“*”を付与した除外反例文と、“*”を付与していない除外反例文の両方が除外反例に含まれる場合、それらの除外反例文は別の文として扱われる。例えば形式言語仕様記述更新部112が除外反例805から除外反例文を抽出する場合、記号806が付与された除外反例文“(x--)*”を“(x--)”とは別の文として扱う。そのためこの場合には、形式言語仕様記述更新部112はFinとDecに加えて、“(x--)*”に対応する別の定数(例えばDec_itr)を定義する。
In addition, when an excluded example sentence to which “*” is added to an excluded example sentence and an excluded example sentence to which “*” is not included are included in the excluded example sentence, these excluded example sentences are different sentences. Are treated as For example, when the formal language specification
形式言語仕様記述更新部112は、上記除外反例を構成する除外反例文の実行をトレース情報として記録するため、形式言語仕様記述保持部103内の形式言語仕様記述に、ステップ1401で定義した定数を格納可能なトレース配列とその配列インデックスを保持する変数の定義を書き加える(ステップ1402)。例えば図12におけるトレース配列の定義1302では、トレース配列trとそのインデックスを保持する変数indexを定義している。
The formal language specification
形式言語仕様記述更新部112は、ステップ1401で抽出された除外反例文のうち、まだステップ1404の処理が行われていない除外反例文を1つ選択する(ステップ1403)。
The formal language specification
形式言語仕様記述更新部112は、ステップ1403で選択した除外反例文について、上記配列インデックスを更新する(1を加算する)処理“index++”と、選択された除外反例文を表す定数をトレース配列に代入するトレース情報作成処理を、形式言語仕様記述保持部103内の形式言語仕様記述における上記形式言語文と同一のatomic節内に記述する(ステップ1404)。例えば、除外反例804に含まれる形式言語文のうち、形式言語仕様記述の7行目に位置する“x--”についてトレース情報作成処理を挿入した結果が、図12におけるトレース情報作成処理1303である。
The formal language specification
また、ステップ1403で選択した除外反例文が“*”付きの除外反例文の場合、形式言語仕様記述に挿入されるトレース情報作成処理は、“*”なしの場合とは異なる。その場合のトレース情報作成処理は、「配列インデックスの示すトレース配列に“*”なしの上記除外反例文に対応する定数が格納されている場合は、上記トレース配列に“*”付きの上記除外反例文に対応する定数を代入する。あるいは、配列インデックスの示すトレース配列に“*”付きの上記除外反例文に対応する定数が格納されている場合は、上記トレース配列は更新しない。上記以外の場合は、配列インデックスを“index++”にて更新した後に、“*”なしの上記除外反例文に対応する定数を上記トレース配列に代入する」という処理を表す。例えば、記号806が付与された除外反例文に対応する定数をDec_itrとすると、記号806が付与された除外反例文に対応するトレース情報作成処理は、“if :: tr[index] == Dec -> tr[index] = Dec_itr; :: tr[index] == Dec_itr -> skip; :: else -> index++; tr[index] = Dec;fi”となる。
Further, when the excluded example sentence selected in
形式言語仕様記述更新部112は、ステップ1401で抽出された全ての除外反例文についてステップ1404の処理を実行したかチェックする。全ての除外反例文についてステップ1404を実行済みの場合、形式言語仕様記述更新部112は処理を終了し、次に検証性質更新部113の処理を開始する。未取得の除外反例文がある場合は、形式言語仕様記述更新部112は再びステップ1403から処理を実行する(ステップ1405)。
The formal language specification
続いて、検証性質更新部113の行う処理について説明する。図14は、検証性質更新部113が除外反例804に基づき、検証性質記述302(図3)を更新した時の、更新後の検証性質記述の例である。
Next, processing performed by the verification
検証性質更新部113は、上記トレース配列が上記除外反例の示す順序で上記除外反例文を表す定数を保持しているかを判定するためのトレース判定式を作成する。除外反例804に基づいて作成されたトレース判定式が、トレース判定式1502である。そして検証性質更新部113は、作成されたトレース判定式1502を用いて、検証性質記述302を、「上記検証性質が成立しなければ、その実行系列においてトレース判定式が成立する」という性質の記述に書き換える。検証性質記述1501は、検証性質更新部113によって検証性質記述302が書き換えられた後の状態である。このように検証性質記述が書き換えられるため、検証部106による検証の結果(あるいは検証の過程で)、(書き換え前の)検証性質が成立しなかった場合であっても、もしも除外反例に記述されている順に形式言語仕様記述を構成する形式言語文が実行されていた場合、検証部106は反例(除外反例)の出力を行わない。
The verification
図15は、検証性質更新部113の手順例を示すフローチャートである。以下に示す処理は、偽反例除外支援装置201の備えるCPU202が、メモリ203で実行するプログラムによって実現される。そしてこのプログラムは、以下に説明される各種の動作を行うためのコードから構成されている。
FIG. 15 is a flowchart illustrating a procedure example of the verification
検証性質更新部113は、検証性質保持部102から更新前の検証性質を読み出し、一旦メモリ203等に記憶する(ステップ1601)。例えば、検証性質記述302の場合、検証性質更新部113は“[](!(x < 0))”を記憶する。
The verification
検証性質更新部113は、除外反例に含まれる除外反例文を表す定数とその格納のためのトレース配列を、形式言語仕様記述保持部103から取得する(ステップ1602)。例えば除外反例804の場合は、定数の定義1301に定義されているDecやFin等の定数と、トレース配列の定義1302に定義されているトレース配列trを取得する。なお、別の実施形態として検証性質更新部113は、除外反例に含まれる形式言語文を表す定数とその格納のためのトレース配列を、形式言語仕様記述更新部112から受領してもよい。
The verification
検証性質更新部113は、上記トレース配列が、上記除外反例の示す順に上記定数を保持しているかを判定するためのトレース判定式を作成する(ステップ1603)。例えば除外反例804の場合は、トレース判定式1502を作成する。
The verification
検証性質更新部113は、更新前の検証性質が成立しなければその実行系列においてトレース判定式が成立するという意味の式を作成し、更新後の検証性質として検証性質保持部に登録する(ステップ1604)。例えば除外反例804の場合は、トレース判定式1502を用いて検証性質記述1501を作成し、検証性質保持部102に格納されている検証性質を、今回作成した検証性質記述1501に書き換える。
The verification
この後ユーザは、更新された形式言語仕様記述と検証性質記述を用いて、検証部106による検証を行うと良い。更新された形式言語仕様記述と検証性質記述を用いて検証が行われた場合、検証部106は除外反例を出力しない。またユーザは、検証部106を用いて検証を行う代わりに、偽反例除外支援装置201以外の計算機にインストールされている検証ツールに、更新された形式言語仕様記述と検証性質記述を与えることで、検証を行ってもよい。
Thereafter, the user may perform verification by the
以上が、本発明の実施例1に係る偽反例除外支援装置の説明である。本発明の実施例1に係る偽反例除外支援装置は、形式言語で記述した仕様記述である形式言語仕様記述が、その仕様が満たすべき性質を記述した検証性質記述を満たすか検証された結果出力される1以上の反例の中から、除外すべき除外反例を登録するための入力を受け付ける。そして偽反例除外支援装置は、形式言語文の実行を記録するためのトレース配列の定義と、上記形式言語文を実行した場合に上記トレース配列に上記形式言語文を表す定数を代入するトレース情報作成処理を上記形式言語仕様記述に挿入する。また偽反例除外支援装置は、上記トレース配列を使用して、トレース配列が上記除外反例の示す順序で上記形式言語文を表す定数を保持しているかを判定するためのトレース判定式を作成し、上記検証性質記述を、「上記検証性質が成立しなければ、その実行系列においてトレース判定式が成立する」という性質の記述に置き換える。これにより、更新後の形式言語仕様記述が、同じく更新後の検証性質記述を満たすかを検証した場合、上記除外反例が検証の結果として出力されることを防止できるようになる。よって本実施例に係る偽反例除外支援装置によれば、人手で形式言語仕様記述を詳細化することなく、一度偽反例と判定した反例を検証の出力から除外できるようになるため、システム仕様の不具合検出にかかる作業時間および作業工数を削減できる。 The above is the description of the counterfeit example exclusion support apparatus according to the first embodiment of the present invention. The false counterexample exclusion support apparatus according to the first embodiment of the present invention outputs a result of verification that a formal language specification description, which is a specification description described in a formal language, satisfies a verification property description that describes a property to be satisfied by the specification. An input for registering an excluded counterexample to be excluded is received from one or more counterexamples. The counterfeit example exclusion support device defines the trace array for recording the execution of the formal language sentence, and creates trace information that substitutes a constant representing the formal language sentence into the trace array when the formal language sentence is executed. Insert the process into the formal language specification description. Further, the false counterexample exclusion support device uses the trace array to create a trace determination expression for determining whether the trace array holds constants representing the formal language sentences in the order indicated by the exception counterexample. The verification property description is replaced with a description of the property that if the verification property does not hold, the trace judgment expression is satisfied in the execution sequence. As a result, when it is verified whether the updated formal language specification description satisfies the updated verification property description, it is possible to prevent the exclusion counterexample from being output as a verification result. Therefore, according to the counterfeit example exclusion support apparatus according to the present embodiment, the counterexample once determined to be a counterfeit example can be excluded from the verification output without manually refining the formal language specification description. The work time and work man-hours required for defect detection can be reduced.
また本実施例に係る偽反例除外支援装置は、上記形式言語仕様記述が上記検証性質記述を満たすか検証した結果出力される反例を編集することで、除外反例を作成することもできるため、何もない状態から除外反例を作成するよりも効率よく除外反例を作成することができる。また本実施例に係る偽反例除外支援装置は、出力された反例を編集することで、任意の別の除外反例を作成することもできる。その際、記号“*”を用いることで、形式言語文の任意回数の繰り返しを記述することもできる。これにより、検証結果として出力された反例だけでなく、出力された反例から連想される別の反例も、偽反例として検証出力から除外できるようになるため、システム仕様の不具合検出にかかる作業時間および作業工数を削減できる。 In addition, the false counterexample exclusion support apparatus according to the present embodiment can create an exception counterexample by editing a counterexample output as a result of verifying whether the formal language specification description satisfies the verification property description. Therefore, it is possible to create an exclusion counterexample more efficiently than to create an exclusion counterexample from a state where there is no such thing. Moreover, the false counterexample exclusion support apparatus according to the present embodiment can create any other counterexample by editing the output counterexample. At that time, the symbol “*” can be used to describe an arbitrary number of repetitions of the formal language sentence. As a result, not only counterexamples output as verification results, but also other counterexamples associated with the output counterexamples can be excluded from the verification output as false counterexamples. Work man-hours can be reduced.
続いて実施例2に係る偽反例除外支援装置の説明を行う。実施例2に係る偽反例除外支援装置のハードウェア構成は、実施例1で説明したもの(図2)と同じであるので、ここでの説明は略す。 Next, the counterfeit example exclusion support apparatus according to the second embodiment will be described. Since the hardware configuration of the counterfeit example exclusion support apparatus according to the second embodiment is the same as that described in the first embodiment (FIG. 2), description thereof is omitted here.
図16に、実施例2に係る偽反例除外支援装置の有する機能ブロックを示す。これらの機能ブロックの多くは実施例1で説明したものと同じであるため、以下では主に、実施例1にはない機能ブロックについて説明する。 FIG. 16 illustrates functional blocks included in the counterfeit example exclusion support device according to the second embodiment. Since many of these functional blocks are the same as those described in the first embodiment, functional blocks that are not in the first embodiment will be mainly described below.
実施例2に係る偽反例除外支援装置は、実施例1で説明した除外反例作成部110に代えて、自然言語反例作成部108、自然言語反例向け除外反例作成部114を有する。また実施例2に係る偽反例除外支援装置は、実施例1で説明した各記憶部に加えて、自然言語反例保持部109という記憶部を有する。その他の点は、実施例1で説明したものと同じである。
The false counterexample exclusion support device according to the second embodiment includes a natural language
自然言語反例作成部108は、反例保持部107に保持している反例を取得し、上記反例に含まれる自然言語文を抽出することで自然言語反例を作成する。作成した上記自然言語反例は、自然言語反例保持部109に登録する。
The natural language
自然言語反例向け除外反例作成部114は、自然言語反例保持部109に保持している自然言語反例を取得し、上記自然言語反例を構成する自然言語文の選択および編集をユーザから受け付けることで、上記自然言語反例を構成する自然言語文の任意の組合せにて表される別の自然言語反例を作成する。その際ユーザは、記号“*”を用いることで、自然言語文の任意回数の繰り返しを記述することもできる。また自然言語反例向け除外反例作成部114は、上記自然言語反例を構成する各自然言語文を、対応する形式言語文に置き換えることで、形式言語の除外反例に変換できる。この変換は、言語間対応関係保持部105に保持している形式言語文と自然言語文との対応関係に基づいて行われる。この変換によって作成された除外反例は、除外反例保持部111に登録される。
The natural language counterexample excluding
図17は、自然言語反例作成部108が作成する自然言語反例の例である。
FIG. 17 is an example of a natural language counterexample created by the natural language
自然言語反例1001は、図8に示す反例から、自然言語文707〜712を抽出することで作成した自然言語反例である。自然言語反例は、少なくとも自然言語文1003と、その自然言語文に対応する形式言語文の形式言語仕様記述における行番号1002を含む。また自然言語反例向け除外反例作成部114は、自然言語反例に対する編集をユーザから受け付けることで、自然言語反例を構成する自然言語文の任意の組合せによる別の自然言語反例を作成する。自然言語反例1004は、自然言語反例1001を編集することで作成された自然言語反例の例である。同様に自然言語反例1005は、自然言語反例1004を編集することで作成された自然言語反例の例である。記号1006は、除外反例806における記号806と同様に、自然言語文“減算”の任意回数の繰り返しを意味する。これらの自然言語反例は、自然言語反例保持部109に保持される。
The
また、自然言語反例1001は、自然言語反例向け除外反例作成部114によって、形式言語の除外反例801に変換される。同様に、自然言語反例1004および自然言語反例1005は、自然言語反例向け除外反例作成部114によって、それぞれ除外反例804および805に変換される。
Further, the
図18は、自然言語反例作成部108の手順例を示すフローチャートである。以下に示す処理は、偽反例除外支援装置201の備えるCPU202が、メモリ203で実行するプログラムによって実現される。そしてこのプログラムは、以下に説明される各種の動作を行うためのコードから構成されている。
FIG. 18 is a flowchart illustrating a procedure example of the natural language
自然言語反例作成部108は、反例保持部107から反例を取得し、上記反例に含まれる自然言語文を抽出する。抽出のためには、自然言語反例作成部108は反例の先頭から文字列検索を実行し、自然言語文の接頭辞として定義した“TRACE”を含む行を取得する。その際自然言語反例作成部108は、形式言語仕様記述において上記自然言語文を出力している記述の行番号も併せて取得する。本実施例では形式言語仕様記述において、自然言語文を出力する記述をその対応する形式言語文と同じ行に挿入しているため、上記行番号は、自然言語文に対応する形式言語文の行番号と一致する。自然言語反例作成部108は上記自然言語文と上記行番号を用いて、自然言語反例を作成する(ステップ1101)。例えば自然言語反例作成部108は、図8に示す反例から、“TRACE”を含む行(自然言語文707〜712)を抽出することで自然言語反例1001を作成する。
The natural language
そして自然言語反例作成部108は、ステップ1101にて作成した自然言語反例を、自然言語反例保持部109に登録し(ステップ1103)、処理を終了する。
Then, the natural language
図19は、自然言語反例向け除外反例作成部114の手順例を示すフローチャートである。以下に示す処理は、偽反例除外支援装置201の備えるCPU202が、メモリ203で実行するプログラムによって実現される。そしてこのプログラムは、以下に説明される各種の動作を行うためのコードから構成されている。
FIG. 19 is a flowchart illustrating an exemplary procedure of the exclusion
自然言語反例向け除外反例作成部114は、自然言語反例保持部109から自然言語反例を取得し、取得した自然言語反例に対する編集入力をユーザから受け付けることで、別の自然言語反例を作成する。その際ユーザは記号“*”を用いることで、自然言語文の任意回数の繰り返しを記述する事もできる(ステップ1201)。
The natural language counterexample excluding
自然言語反例向け除外反例作成部114は、言語間対応関係保持部105の保持する言語間対応関係401を参照することで、上記自然言語反例の自然言語文を、対応する形式言語文に置き換える。これにより上記自然言語反例が、形式言語の除外反例に変換される(ステップ1202)。
The natural language counterexample excluding
ステップ1202の後、自然言語反例向け除外反例作成部114は、作成した除外反例を除外反例保持部111に登録する(ステップ1203)。
After
図20は、自然言語反例向け除外反例作成部114における自然言語反例の編集画面の例である。
FIG. 20 is an example of a natural language counterexample editing screen in the natural language counterexample excluding
自然言語反例編集画面1905は、自然言語反例を表示する自然言語反例表示部1901、記号“*”を入力する記号入力部1904、自然言語反例表示部1901において選択された自然言語文を削除する削除ボタン1902、自然言語反例表示部1901において選択された自然言語文を複製する複製ボタン1903、そして編集された自然言語反例を除外反例に変換して除外反例保持部111に記録する登録ボタン1810を含む。
The natural language
自然言語反例表示部1901では、ユーザはドラッグ&ドロップ等にて自然言語文を移動することで、自然言語文の順序を変更できる。さらにユーザは記号入力部1808を利用することで、繰り返しを意味する記号“*”を入力できる。また自然言語反例向け除外反例作成部114は、自然言語反例表示部1901において自然言語文の選択を受け付けた後に削除ボタン1902の押下を受け付けると、選択中の上記自然言語文を自然言語反例表示部1901から削除する。同様に自然言語反例向け除外反例作成部114は、自然言語反例表示部1901において自然言語文の選択を受け付けた後に複製ボタン1903の押下を受け付けると、選択中の上記自然言語文を複製し、自然言語反例表示部1901の最後尾に追加する。また、登録ボタン1900が押下されると、自然言語反例向け除外反例作成部114は自然言語反例表示部1901に表示されている自然言語反例を、形式言語の除外反例に変換し、変換された除外反例を除外反例保持部111に登録する(ステップ1202、1203)。
In the natural language
除外反例が作成された後の処理は、実施例1で説明したものと同様である。つまりユーザは、形式言語仕様記述更新部112を実行することで、形式言語仕様記述を更新し、さらに検証性質更新部113を実行することで検証性質記述の書き換えを行うとよい。そしてユーザは、更新された形式言語仕様記述と検証性質記述を用いて、検証部106による検証を行うとよい。
The processing after the exclusion counterexample is created is the same as that described in the first embodiment. In other words, the user may update the formal language specification description by executing the formal language specification
以上が実施例2に係る偽反例除外支援装置の説明である。実施例2に係る偽反例除外支援装置は実施例1に係る偽反例除外支援装置と同様に、人手で形式言語仕様記述を詳細化することなく、容易に偽反例を検証出力から除外できるという特徴を有する。 The above is the description of the counterfeit example exclusion support device according to the second embodiment. Similar to the false counterexample exclusion support device according to the first embodiment, the false counterexample exclusion support device according to the second embodiment can easily exclude the false counterexample from the verification output without manually refining the formal language specification description. Have
また実施例2に係る偽反例除外支援装置は、上記形式言語仕様記述を構成する任意の形式言語文に対して、その文の意味を説明する自然言語文の入力を受け付ける。そして、上記形式言語文の実行時に上記自然言語文を出力するように上記形式言語仕様記述を更新する。これにより、上記自然言語文が反例に追加されるため、上記反例から上記自然言語文のみを抽出することで、自然言語で記述された自然言語反例を作成できる。 Further, the false counterexample exclusion support apparatus according to the second embodiment accepts an input of a natural language sentence explaining the meaning of a sentence for any formal language sentence constituting the formal language specification description. Then, the formal language specification description is updated so that the natural language sentence is output when the formal language sentence is executed. Thereby, since the natural language sentence is added to the counterexample, a natural language counterexample described in a natural language can be created by extracting only the natural language sentence from the counterexample.
さらに実施例1で説明した偽反例除外支援装置が、出力された反例を編集して別の除外反例を作成することができるのと同様に、実施例2に係る偽反例除外支援装置は、自然言語反例に対する編集を受け付けることで、別の自然言語反例を作成することもできる。その際、形式言語の反例と同様に、記号“*”を用いることで、自然言語文の任意回数の繰り返しを記述することもできる。これらの自然言語反例は、その構成要素である自然言語文を対応する形式言語文に置き換えることで、形式言語の除外反例に変換できる。そして上記除外反例に基づいて上記トレース配列の定義やトレース情報作成処理を挿入し、上記形式言語仕様記述を更新することができる。同様に、トレース判定式を作成し、検証性質記述を更新することもできる。これにより、形式言語ではなく自然言語上で除外反例を作成できるようになるため、形式言語を解読できない検証者でも、本発明による偽反例の除外を実施できるようになる。 Further, the false counterexample exclusion support apparatus according to the second embodiment is similar to the fact that the counterexample exclusion support apparatus described in the first embodiment can create another exclusion counterexample by editing the output counterexample. It is possible to create another natural language counterexample by accepting edits to the language counterexample. At this time, as in the counterexample of the formal language, the symbol “*” can be used to describe an arbitrary number of repetitions of the natural language sentence. These natural language counterexamples can be converted into formal language exclusion counterexamples by replacing the constituent natural language sentences with corresponding formal language sentences. The definition of the formal language specification can be updated by inserting the definition of the trace array and the trace information creation process based on the above counterexample. Similarly, a trace judgment expression can be created and the verification property description can be updated. As a result, it becomes possible to create an exclusion counterexample in a natural language instead of a formal language, so that even a verifier who cannot decipher the formal language can perform the exclusion of a false counterexample according to the present invention.
以上、本発明の実施例を説明してきたが、これらは、本発明の説明のための例示であって、本発明の範囲をこれらの実施例にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施する事が可能である。 As mentioned above, although the Example of this invention was described, these are illustrations for description of this invention, Comprising: It is not the meaning which limits the scope of the present invention only to these Examples. The present invention can be implemented in various other forms.
たとえば上で述べた実施例では、除外反例作成部等の機能ブロックが、汎用的な計算機のプロセッサでプログラムが実行されることにより実現される機能ブロックである例を説明した。ただし別の実施形態として、偽反例除外支援装置の一部または全ての機能ブロックは、FPGAやASIC等のハードウェアで実装されていてもよい。 For example, in the embodiment described above, the example in which the functional blocks such as the exclusion counterexample creation unit are functional blocks realized by executing a program by a processor of a general-purpose computer has been described. However, as another embodiment, some or all of the functional blocks of the counterfeit example exclusion support apparatus may be implemented by hardware such as FPGA or ASIC.
また、上で述べた実施例では、除外反例を構成する形式言語文の実行を記録するために、トレース配列を定義して、除外反例を構成する形式言語文が実行される時にトレース配列にその旨を記録する処理(トレース情報作成処理)が、形式言語仕様記述に挿入された。ただし、トレース情報を記録するための方法は、これに限定されない。除外反例に記述された順序で除外反例を構成する形式言語文が実行された場合にその事実を(計算機のメモリ等に)記録するための処理を、計算機に行わせるための記述であれば、任意の形式の記述が形式言語仕様記述に挿入されてよい。 In the embodiment described above, in order to record the execution of the formal language sentence constituting the exclusion counterexample, a trace array is defined, and when the formal language sentence constituting the exclusion counterexample is executed, the trace array Processing to record the effect (trace information creation processing) has been inserted into the formal language specification description. However, the method for recording the trace information is not limited to this. If a formal language sentence that constitutes an exclusion counterexample is executed in the order described in the exclusion counterexample, if it is a description that causes the computer to perform processing for recording the fact (in a computer memory or the like), Any format description may be inserted into the formal language specification description.
また、実施例1では、偽反例除外支援装置が自然言語文挿入部104と言語間対応関係保持部105を有している例を説明したが、実施例1に係る偽反例除外支援装置は必ずしも、自然言語文挿入部104と言語間対応関係保持部105を有していなくてもよい。
In the first embodiment, the example in which the counterfeit example exclusion support apparatus includes the natural language
また、実施例1では除外反例作成部110を有する偽反例除外支援装置について説明し、実施例2では除外反例作成部110に代えて自然言語反例作成部108及び自然言語反例向け除外反例作成部114を備える偽反例除外支援装置について説明した。ただし別の実施形態として、偽反例除外支援装置が、自然言語反例作成部108及び自然言語反例向け除外反例作成部114と、除外反例作成部110の両方を備える構成もあり得る。
Further, in the first embodiment, a false counterexample exclusion support apparatus having an exclusion
この場合、偽反例除外支援装置はユーザに、形式言語文で記述された除外反例を作成するか、あるいは自然言語で記述された除外反例を作成するか、選択させるとよい。ユーザが形式言語文で記述された除外反例を作成することを選択した場合、偽反例除外支援装置は実施例1で説明した処理を行うことで形式言語仕様記述と検証性質記述の書き換えを行うとよい。そしてユーザが自然言語文で記述された除外反例を作成することを選択した場合、偽反例除外支援装置は実施例2で説明したように、自然言語反例向け除外反例作成部114によって除外反例を生成し、それを用いて形式言語仕様記述と検証性質記述の書き換絵を行うとよい。
In this case, the counterfeit example exclusion support device may allow the user to select whether to create an exclusion counterexample described in a formal language sentence or to create an exclusion counterexample described in a natural language. When the user chooses to create an exclusion counterexample described in a formal language sentence, the false counterexample exclusion support apparatus performs the processing described in the first embodiment to rewrite the formal language specification description and the verification property description. Good. When the user chooses to create an exclusion counterexample described in a natural language sentence, the false counterexample exclusion support apparatus generates an exclusion counterexample by the natural language counterexample exclusion
101:編集部、102:検証性質保持部、103:形式言語仕様記述保持部、104:自然言語文挿入部、105:言語間対応関係保持部、106:検証部、107:反例保持部、108:自然言語反例作成部、109:自然言語反例保持部、110:除外反例作成部、111:除外反例保持部、112:形式言語仕様記述更新部、113:検証性質更新部、114:自然言語反例向け除外反例作成部 101: Editing unit 102: Verification property holding unit 103: Formal language specification description holding unit 104: Natural language sentence insertion unit 105: Interlanguage correspondence holding unit 106: Verification unit 107: Counterexample holding unit 108 : Natural language counterexample creation unit, 109: natural language counterexample storage unit, 110: exclusion counterexample creation unit, 111: exclusion counterexample storage unit, 112: formal language specification description update unit, 113: verification property update unit, 114: natural language counterexample Anti-example creation section
Claims (15)
前記動作仕様が満たすべき条件である検証性質を形式言語で記述した検証性質記述の更新処理を行う検証性質更新部と、を有し、
前記形式言語仕様記述更新部は、前記動作仕様が前記検証性質を満たさない場合の前記形式言語仕様記述の実行系列のうちユーザから選択された実行系列を表す除外反例に基づいて、
前記形式言語仕様記述を構成する前記形式言語文の実行の過程で前記除外反例に含まれる前記形式言語文が実行された時に、前記形式言語文が実行されたことを時系列で記録するための処理を前記形式言語で記述した、トレース挿入用記述を作成し、
前記トレース挿入用記述を前記形式言語仕様記述に挿入することで、前記形式言語仕様記述を更新し、
前記検証性質更新部は前記トレース挿入用記述及び前記除外反例を用いて、
前記検証性質記述を、「前記検証性質が成立しなければ、前記除外反例の示す順序で前記形式言語仕様記述を構成する前記形式言語文が実行された」という性質の記述に書き換える、
システム仕様検証支援装置。 A formal language specification description update unit for performing a process of updating a formal language specification description including one or more formal language statements describing system operation specifications;
A verification property update unit that performs update processing of a verification property description in which a verification property that is a condition to be satisfied by the operation specification is described in a formal language,
The formal language specification description updating unit, based on an exclusion counterexample representing an execution sequence selected from a user among execution sequences of the formal language specification description when the operation specification does not satisfy the verification property,
When the formal language sentence included in the exclusion counterexample is executed in the process of executing the formal language sentence constituting the formal language specification description, the fact that the formal language sentence is executed is recorded in time series. Create a trace insertion description that describes the process in the formal language,
By updating the formal language specification description by inserting the trace insertion description into the formal language specification description,
The verification property update unit uses the trace insertion description and the exclusion counterexample,
Rewriting the verification property description to a description of a property that “if the verification property does not hold, the formal language sentence constituting the formal language specification description was executed in the order indicated by the exclusion counterexample”;
System specification verification support device.
前記形式言語仕様記述に含まれる形式言語文と、前記形式言語文の前記形式言語仕様記述内の行番号との組み合わせである除外反例文を、1以上含む、
請求項1に記載のシステム仕様検証支援装置。 The exclusion counterexample is
Including one or more excluded example sentences that are combinations of formal language sentences included in the formal language specification description and line numbers in the formal language specification description of the formal language sentence;
The system specification verification support apparatus according to claim 1.
前記除外反例文の実行を記録するためのトレース配列の定義と、
前記除外反例文毎に定められた定数の定義と、
前記除外反例文に含まれる前記形式言語文が実行された時、前記トレース配列に前記除外反例文を表す定数を代入する処理と、
を含む、請求項2に記載のシステム仕様検証支援装置。 The trace insertion description is:
A trace array definition for recording the execution of the excluded anti-example sentence;
Definition of constants defined for each of the excluded anti-example sentences;
When the formal language sentence included in the excluded example sentence is executed, a process of assigning a constant representing the excluded example sentence to the trace array;
The system specification verification support apparatus according to claim 2, comprising:
前記形式言語仕様記述と前記検証性質記述を入力として受け付けて、前記形式言語仕様記述に記述された前記動作仕様の検証を行い、前記動作仕様が前記検証性質を満たさない場合の前記形式言語仕様記述の実行系列を反例として出力する検証部を有する、
請求項2または3に記載のシステム仕様検証支援装置。 The system specification verification support device further includes:
The formal language specification description and the verification property description are received as input, the operation specification described in the formal language specification description is verified, and the formal language specification description when the operation specification does not satisfy the verification property A verification unit that outputs the execution sequence of
The system specification verification support apparatus according to claim 2 or 3.
前記検証部の出力した前記反例を用いて前記除外反例を作成する除外反例作成部を、
さらに有する、請求項4に記載のシステム仕様検証支援装置。 The system specification verification support device includes:
An exclusion counterexample creation unit that creates the exclusion counterexample using the counterexample output by the verification unit,
The system specification verification support apparatus according to claim 4, further comprising:
請求項5に記載のシステム仕様検証支援装置。 The exclusion counterexample creating unit accepts an edit input for one or more formal language sentences included in the counterexample, and thereby executes an execution sequence in which one or more formal language sentences included in the counterexample are combined in an arbitrary order. Create as,
The system specification verification support apparatus according to claim 5.
前記形式言語仕様記述を構成する形式言語文の意味を説明する自然言語文の入力を受け付けて、前記検証部が前記反例を出力する際に、前記実行系列とともに前記自然言語文が出力されるように前記形式言語仕様記述を更新する自然言語文挿入部と、
前記反例から、前記自然言語文を抽出することで、自然言語反例を作成する自然言語反例作成部と、
前記自然言語反例から前記除外反例を作成する自然言語反例向け除外反例作成部、
を有する、請求項4に記載のシステム仕様検証支援装置。 The system specification verification support device further includes:
When the input of the natural language sentence explaining the meaning of the formal language sentence constituting the formal language specification description is received and the verification unit outputs the counterexample, the natural language sentence is output together with the execution sequence. A natural language sentence insertion unit for updating the formal language specification description,
A natural language counterexample creating unit that creates a natural language counterexample by extracting the natural language sentence from the counterexample;
An exclusion counterexample creation unit for a natural language counterexample that creates the exclusion counterexample from the natural language counterexample,
The system specification verification support apparatus according to claim 4, comprising:
請求項7に記載のシステム仕様検証支援装置。 The natural language counterexample excluding counterexample creating unit accepts an edit input for a natural language sentence constituting the natural language counterexample, and creates an execution sequence of a natural language arbitrarily combining the natural language sentences as the natural language counterexample.
The system specification verification support apparatus according to claim 7.
前記動作仕様が満たすべき条件である検証性質を形式言語で記述した検証性質記述の更新処理を行う検証性質更新部と、を有する計算機が実行する、システム仕様検証支援方法であって、
前記計算機が、
前記動作仕様が前記検証性質を満たさない場合の前記形式言語仕様記述の実行系列のうちユーザから選択された実行系列を表す除外反例に基づいて、
前記形式言語仕様記述を構成する前記形式言語文の実行の過程で前記除外反例に含まれる前記形式言語文が実行された時に、前記形式言語文が実行されたことを時系列で記録するための処理を前記形式言語で記述した、トレース挿入用記述を作成し、前記トレース挿入用記述を前記形式言語仕様記述に挿入することで、前記形式言語仕様記述を更新する工程と、
前記トレース挿入用記述及び前記除外反例を用いて、前記検証性質記述を、「前記検証性質が成立しなければ、前記除外反例の示す順序で前記形式言語仕様記述を構成する前記形式言語文が実行された」という性質の記述に書き換える工程と、
を実行する、システム仕様検証支援方法。 A formal language specification description update unit for performing a process of updating a formal language specification description including one or more formal language statements describing system operation specifications;
A verification property update unit that performs a verification property update unit that performs a verification property description update process in which a verification property that is a condition to be satisfied by the operation specification is described in a formal language;
The calculator is
Based on an exclusion counterexample representing an execution sequence selected from a user among execution sequences of the formal language specification description when the operation specification does not satisfy the verification property,
When the formal language sentence included in the exclusion counterexample is executed in the process of executing the formal language sentence constituting the formal language specification description, the fact that the formal language sentence is executed is recorded in time series. Creating a trace insertion description describing the processing in the formal language, and updating the formal language specification description by inserting the trace insertion description into the formal language specification description;
Using the trace insertion description and the exclusion counterexample, the verification property description is executed as follows: “If the verification property does not hold, the formal language sentence constituting the formal language specification description is executed in the order indicated by the exclusion counterexample. The process of rewriting the description of the property "
System specification verification support method to execute.
前記トレース挿入用記述は、
前記除外反例文の実行を記録するためのトレース配列の定義と、
前記除外反例文毎に定められた定数の定義と、
前記除外反例文に含まれる前記形式言語文が実行された時、前記トレース配列に前記除外反例文を表す定数を代入する処理と、
を含む、請求項9に記載のシステム仕様検証支援方法。 The exclusion counterexample includes one or more exclusion counterexamples that are a combination of a formal language sentence included in the formal language specification description and a line number in the formal language specification description of the formal language sentence,
The trace insertion description is:
A trace array definition for recording the execution of the excluded anti-example sentence;
Definition of constants defined for each of the excluded anti-example sentences;
When the formal language sentence included in the excluded example sentence is executed, a process of assigning a constant representing the excluded example sentence to the trace array;
The system specification verification support method according to claim 9, comprising:
前記形式言語仕様記述と前記検証性質記述を入力として受け付けて、前記形式言語仕様記述に記述された前記動作仕様の検証を行い、前記動作仕様が前記検証性質を満たさない場合の前記形式言語仕様記述の実行系列を反例として出力する工程を実行する、
請求項9または10に記載のシステム仕様検証支援方法。 Before the process of updating the formal language specification description,
The formal language specification description and the verification property description are received as input, the operation specification described in the formal language specification description is verified, and the formal language specification description when the operation specification does not satisfy the verification property Execute the process of outputting the execution sequence of as a counter example,
The system specification verification support method according to claim 9 or 10.
請求項11に記載のシステム仕様検証支援方法。 The method further includes the step of creating the exclusion counterexample using the counterexample.
The system specification verification support method according to claim 11.
請求項12に記載のシステム仕様検証支援方法。 In the step of creating the exclusion counterexample, an execution sequence in which one or more formal language sentences included in the counterexample are combined in an arbitrary order by receiving an edit input for one or more formal language sentences included in the counterexample, Create as a negative counterexample,
The system specification verification support method according to claim 12.
前記反例から、前記自然言語文を抽出することで、自然言語反例を作成する工程と、
前記自然言語反例から前記除外反例を作成する工程と、
を実行する、請求項11に記載のシステム仕様検証支援方法。 In the step of receiving an input of a natural language sentence explaining the meaning of a formal language sentence constituting the formal language specification description and outputting an execution sequence of the formal language specification description when the operation specification does not satisfy the verification property Updating the formal language specification description so that the natural language sentence is output together with the execution sequence;
A step of creating a natural language counterexample by extracting the natural language sentence from the counterexample;
Creating the exclusion counterexample from the natural language counterexample;
The system specification verification support method according to claim 11, wherein:
請求項14に記載のシステム仕様検証支援方法。 In the step of creating the natural language counterexample, an edit input for the natural language sentence constituting the natural language counterexample is accepted, and a natural language execution sequence arbitrarily combining the natural language sentences is created as the natural language counterexample.
The system specification verification support method according to claim 14.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016084183A JP6556091B2 (en) | 2016-04-20 | 2016-04-20 | System specification verification support apparatus and system specification verification support method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016084183A JP6556091B2 (en) | 2016-04-20 | 2016-04-20 | System specification verification support apparatus and system specification verification support method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017194812A JP2017194812A (en) | 2017-10-26 |
JP6556091B2 true JP6556091B2 (en) | 2019-08-07 |
Family
ID=60155426
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016084183A Active JP6556091B2 (en) | 2016-04-20 | 2016-04-20 | System specification verification support apparatus and system specification verification support method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6556091B2 (en) |
-
2016
- 2016-04-20 JP JP2016084183A patent/JP6556091B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2017194812A (en) | 2017-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4148527B2 (en) | Functional test script generator | |
JP4667386B2 (en) | Business model diagram creation support program, business model diagram creation support method, and business model diagram creation support device | |
CN107341102B (en) | Test case file generation method and device | |
US20060173901A1 (en) | Methods for merging files and related systems | |
JP2010003008A (en) | Detection program, detection device, and detection method | |
JP2012150535A (en) | Program verification method and program verification program | |
CN107783766A (en) | The method and apparatus cleared up the file of application program | |
JP5460629B2 (en) | Tabular software specification creation support method and apparatus | |
JP4888790B2 (en) | Contract definition function verification apparatus, method and program thereof | |
JP6556091B2 (en) | System specification verification support apparatus and system specification verification support method | |
US20060173884A1 (en) | Methods for merging files and related systems | |
US8572005B2 (en) | Representation of a set of numeric values in a computerized environment | |
JP2005276040A (en) | Degrade confirming examining method and system, and program for the same | |
JP5578625B2 (en) | Program analysis apparatus, program analysis method, and program | |
JP6748357B2 (en) | Analysis device, analysis program, and analysis method | |
JP5487078B2 (en) | Software asset management method and apparatus | |
JP2011204069A (en) | Testing method, and automatic test specification and test data generation apparatus | |
JP5504212B2 (en) | Test case automatic generation system, test case automatic generation method, and test case automatic generation program | |
CN112035367B (en) | Method and system for checking workflow correctness of big data platform | |
JP5343840B2 (en) | Program analysis apparatus and analysis method | |
JP6390217B2 (en) | Software change program, software change device, and software change method | |
JP6062735B2 (en) | Software development support device, software development support method, software development support program | |
JP2014021686A (en) | Test data generation device, program and method | |
JP6012414B2 (en) | Information processing apparatus, information processing method, and program | |
JP6954806B2 (en) | Defect detection device and defect detection method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20181002 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190612 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20190625 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190709 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6556091 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |