JP6519530B2 - 検証装置、検証プログラム、及び、検証方法 - Google Patents
検証装置、検証プログラム、及び、検証方法 Download PDFInfo
- Publication number
- JP6519530B2 JP6519530B2 JP2016110839A JP2016110839A JP6519530B2 JP 6519530 B2 JP6519530 B2 JP 6519530B2 JP 2016110839 A JP2016110839 A JP 2016110839A JP 2016110839 A JP2016110839 A JP 2016110839A JP 6519530 B2 JP6519530 B2 JP 6519530B2
- Authority
- JP
- Japan
- Prior art keywords
- description
- verification
- same
- processing system
- system abnormality
- 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
- 238000012795 verification Methods 0.000 title claims description 251
- 238000000034 method Methods 0.000 title claims description 165
- 238000012545 processing Methods 0.000 claims description 189
- 230000005856 abnormality Effects 0.000 claims description 136
- 230000001629 suppression Effects 0.000 claims description 93
- 230000002159 abnormal effect Effects 0.000 claims description 43
- 238000004364 calculation method Methods 0.000 claims description 18
- 238000000605 extraction Methods 0.000 claims description 15
- 238000001514 detection method Methods 0.000 claims description 10
- 238000004088 simulation Methods 0.000 description 39
- 238000012360 testing method Methods 0.000 description 23
- 230000006870 function Effects 0.000 description 9
- 238000007689 inspection Methods 0.000 description 8
- 238000006467 substitution reaction Methods 0.000 description 8
- 239000000284 extract Substances 0.000 description 7
- 238000011161 development Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 229920006395 saturated elastomer Polymers 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Landscapes
- Debugging And Monitoring (AREA)
Description
本開示は、記述物の検証を行う際の作業負担の軽減を目的とする。
[1.構成]
図1に示すように、本実施形態のPC1は、ディスプレイ10,HDD20,制御部30,ROM40,RAM50,入力装置60等を備える。
入力装置60は、キーボード及びマウス等から構成され、ユーザから受け付けた操作に応じた信号を制御部30に出力する。
検証装置は、モデル又はソースコードの検証を行う。以後、例えばモデルやソースコード等のように、コンピュータによる処理を記述したものを、記述物と記載する。なお、検証装置は、モデル及びソースコード以外の記述物の検証を行っても良い。また、検証装置は、記述物のシミュレーションを実行する。すなわち、検証装置は、記述物により記述された全部又は一部の処理を実行し、出力値を得る。この時、該処理の入力値は、ユーザにより設定されても良いし、予め設定されていても良い。
(1)DTCブロックの処理系異常
まず、変数のデータ型を変換する際に生じる処理系異常の具体例について説明する。図2に示すDTCブロック100は、Aブロック110から入力された固定小数点数の変数を浮動小数点数の変数に変換し、Bブロック111に出力する。なお、DTCブロック100は、モデルの作成を行うための開発ツールにより、ライブラリとして提供されても良い。
複数の浮動小数点数の変数の乗算及び除算の少なくとも一方を含む演算を行う場合にも、処理系異常が起こる可能性がある。このような演算の具体例として、図5に示す乗除算モデル130により示される乗除算が考えられる。A〜Cブロック131〜133は、それぞれ、乗除算ブロック134に対し、単精度の浮動小数点数の変数であるa,b,cを出力する。そして、乗除算ブロック134は、a×b/cという乗除算を行い、得られた値をDブロック135に出力する。
(B)a×(double)b/(single)c
(C)a×(single)b/(double)c
(D)a×(double)b/(double)c
そして、b,cの値が上述した特異数である場合には、(A)〜(D)の各パターンでの乗除算の出力値が相違する。一例として、aが32767であり、b,cが特異数である8.192である場合、(A)〜(D)の各パターンでの乗除算で得られる値は、以下のようになる。
(B)32766.996
(C)32767.002
(D)32766.998
つまり、乗除算ブロック134、又は、乗除算ブロック134に基づき生成されたソースコードに従った処理では、処理系異常が生じる可能性がある。このため、これらの記述は問題記述に相当する。
一部のコンピュータは、汎用的なコンピュータには設けられていない専用の命令を有する。なお、ここで言う命令とは、機械語により直接示されるCPUへの命令を意味する。以後、このような専用の命令を、拡張命令と記載する。特にマイクロコントローラは、拡張命令を有する場合がある。
(1)第1の検証処理について
次に、図10により、モデル又はソースコードを検証対象とし、検証対象から処理系異常記述を検出する第1の検証処理について説明する。なお、本処理は、ユーザからの指示に応じて開始される。また、本処理は、検証装置の制御部30により実行される。また、第1の検証処理が示す方法は、モデル又はソースコードの検証方法の一例に相当する。
検証用データから、検証対象における問題記述を特定可能となっている。具体例を挙げると、検証用データは、問題記述となるソースコードの文字列や、モデルのブロックや、ブロックと結線との組み合わせ等を示しても良い。なお、検証用データが示す問題記述と同一の記述のみならず、該問題記述に類似する記述も、問題記述とみなしても良い。また、検証用データは、例えば、問題記述が示す処理(換言すれば、アルゴリズム)等を示しても良い。このような場合には、該処理と、検証対象の記述が示す処理と比較することで、問題記述がサーチされる。また、検証用データは、問題記述についての異常入力値、異常出力値、及び、抑制記述を示す。なお、検証用データは、ユーザにより作成されたものであっても良い。また、検証装置は、問題記述、異常入力値、異常出力値、及び、抑制記述の入力をユーザから随時受け付け、ユーザからの入力に基づき、問題記述のサーチ等を行っても良い。
なお、S215、又は、S225から移行したS200では、検証装置は、検証対象における問題記述のサーチが行われていない部分についてのサーチを再開する。そして、検証装置は、同様にしてS205以降の処理を行う。
次に、図11により、2つの検証対象から処理系異常記述を検出する第2の検証処理について説明する。2つの検証対象とは、同一記述物であるモデル及びソースコードであっても良いし、同一記述物である2つのソースコードであっても良い。なお、本処理は、ユーザからの指示に応じて開始される。また、本処理は、検証装置の制御部30により実行される。また、第2の検証処理が示す方法は、モデル又はソースコードの検証方法の一例に相当する。
ここで、最後に行われたS335にて抑制記述の置き換えが行われた検証対象を、最新置換検証対象と記載する。また、最新置換検証対象にて最後に置き換えられた抑制記述を、最新抑制記述と記載する。
ここで、第2の検証処理の内容について、具体例を挙げて説明する。
図12の検査対象モデル400は、A〜Hブロック401〜403,405〜407,409,410と、乗除算ブロック404と、DTCブロック408とを有する。なお、乗除算ブロック404は、図5の乗除算ブロック134と同様のブロックであり、問題記述に相当する。また、DTCブロック408は、図2のDTCブロック100と同様のブロックであり、問題記述に相当する。
本実施形態によれば、以下の効果を奏する。
(1)本実施形態の第1及び第2の検証処理によれば、モデルやソースコード等の記述物である検証対象から問題記述が抽出された後、該問題記述が示す処理の出力値が算出される。そして、該出力値に基づき、該問題記述で実際に処理系異常が起こることが判明した場合には、該問題記述が処理系異常記述として検出される。このため、ユーザが検証対象の記述を解析しなくても、確実に、検証対象から処理系異常記述を検出することが可能となる。したがって、記述物の検証を行う際の作業負担を軽減できる。
以上、本開示の実施形態について説明したが、本開示は上述の実施形態に限定されることなく、種々変形して実施することができる。
本実施形態における第1の検証処理のS200が抽出部,抽出手順の一例に、S210が問題記述算出部,問題記述算出手順の一例に、S210,S215が検出部,検出手順の一例に、S220が置換部の一例に、S230が問題表示部,抑制表示部の一例に相当する。
Claims (9)
- コンピュータが行う処理の記述を有する記述物の検証を行う検証装置(1)であって、
複数の異なる装置に設けられた各々の前記コンピュータに同一の処理を行わせるよう構成された複数の前記記述物の各々を、同一記述物とし、
複数の前記同一記述物の各々における同一の処理の前記記述を、同一記述とし、
前記同一記述物の前記同一記述に従って処理を行う複数の前記装置の前記コンピュータで生じた互いに相違する動作のうち、これらの装置の相違に起因してこれらの同一記述が相違することにより生じたものを、処理系異常とし、
前記処理系異常が生じる可能性のある前記記述を、問題記述とし、
前記問題記述に従い処理を行う前記コンピュータが前記処理系異常を起こす可能性のある該処理の入力値を、異常入力値とし、
前記検証装置は、
前記記述物から、予め定められた前記問題記述を抽出する抽出部(S200,S315)と、
前記抽出部により抽出された前記問題記述に対応して予め定められた前記異常入力値を入力値とした状態で、該問題記述に従い前記コンピュータが処理を行った時の出力値を算出する問題記述算出部(S210,S325)と、
前記問題記述算出部により算出された出力値に基づき前記処理系異常を検出し、前記処理系異常が検出された場合には、前記問題記述を処理系異常記述とする検出部(S210,S215,S325,S330)と、
を備える検証装置。 - 請求項1に記載の検証装置であって、
前記抽出部により前記記述物から抽出された前記問題記述を、該記述物における他の前記記述とは異なる態様で表示する問題表示部(S230,S355)を
さらに備える検証装置。 - 請求項1又は請求項2に記載の検証装置であって、
前記抽出部は、前記記述物から前記問題記述である可能性のある前記記述を特定し、該記述が示す処理と、該記述物の前記同一記述物における該記述の前記同一記述が示す処理とが一致しない場合には、特定した前記記述を前記問題記述として抽出する
検証装置。 - 請求項1から請求項3のうちのいずれか1項に記載の検証装置であって、
前記問題記述により生じる可能性のある前記処理系異常を抑制できる、該問題記述と同一の処理の前記記述を、抑制記述とし、
前記処理系異常記述である前記問題記述、又は、該問題記述の前記同一記述を、該問題記述に対応して予め定められた前記抑制記述に置き換える置換部(S220,S335)を
さらに備える検証装置。 - 請求項4に記載の検証装置であって、
前記置換部により置き換えがなされた前記記述物における前記抑制記述を、該記述物における他の前記記述とは異なる態様で表示する抑制表示部(S230,S355)を
さらに備える検証装置。 - 請求項4又は請求項5に記載の検証装置であって、
前記同一記述物の前記同一記述に従って処理を行う複数の前記装置の前記コンピュータで生じた互いに相違する動作のうち、前記処理系異常ではない動作を、その他異常とし、前記その他異常を発生させる前記記述を、その他異常記述とし、
前記置換部による置き換えがなされた前記抑制記述を含む前記同一記述物における、該抑制記述が示す処理をその一部として含む処理の前記記述を、対象記述とし、
前記記述物における前記対象記述に従い処理を行う前記コンピュータの出力値と、該記述物の前記同一記述物における該対象記述の前記同一記述に従い処理を行う前記コンピュータの出力値とを算出する対象記述算出部(S300)と、
前記対象記述算出部により算出された出力値に基づき、前記対象記述における前記抑制記述以外の部分が前記その他異常記述であるか否かを判定する判定部(S305〜S330,S345,S350)と、
をさらに備える検証装置。 - 請求項6に記載の検証装置であって、
前記対象記述における前記判定部により前記その他異常記述であると判定された部分を、該対象記述を含む前記記述物における該部分以外の他の前記記述とは異なる態様で表示する異常表示部(S355)を、
さらに備える検証装置。 - コンピュータが行う処理の記述を有する記述物の検証を行う検証プログラムであって、
複数の異なる装置に設けられた各々の前記コンピュータに同一の処理を行わせるよう構成された複数の前記記述物の各々を、同一記述物とし、
複数の前記同一記述物の各々における同一の処理の前記記述を、同一記述とし、
前記同一記述物の前記同一記述に従って処理を行う複数の前記装置の前記コンピュータで生じた互いに相違する動作のうち、これらの装置の相違に起因してこれらの同一記述が相違することにより生じたものを、処理系異常とし、
前記処理系異常が生じる可能性のある前記記述を、問題記述とし、
前記問題記述に従い処理を行う前記コンピュータが前記処理系異常を起こす可能性のある該処理の入力値を、異常入力値とし、
前記検証プログラムは、
前記記述物から、予め定められた前記問題記述を抽出する抽出部(S200,S315)と、
前記抽出部により抽出された前記問題記述に対応して予め定められた前記異常入力値を入力値とした状態で、該問題記述に従い前記コンピュータが処理を行った時の出力値を算出する問題記述算出部(S210,S325)と、
前記問題記述算出部により算出された出力値に基づき前記処理系異常を検出し、前記処理系異常が検出された場合には、前記問題記述を処理系異常記述とする検出部(S210,S215,S325,S330)として
コンピュータを動作させる検証プログラム。 - コンピュータが行う処理の記述を有する記述物の検証方法であって、
複数の異なる装置に設けられた各々の前記コンピュータに同一の処理を行わせるよう構成された複数の前記記述物の各々を、同一記述物とし、
複数の前記同一記述物の各々における同一の処理の前記記述を、同一記述とし、
前記同一記述物の前記同一記述に従って処理を行う複数の前記装置の前記コンピュータで生じた互いに相違する動作のうち、これらの装置の相違に起因してこれらの同一記述が相違することにより生じたものを、処理系異常とし、
前記処理系異常が生じる可能性のある前記記述を、問題記述とし、
前記問題記述に従い処理を行う前記コンピュータが前記処理系異常を起こす可能性のある該処理の入力値を、異常入力値とし、
前記検証方法は、
前記記述物から、予め定められた前記問題記述を抽出する抽出手順(S200,S315)と、
前記抽出部により抽出された前記問題記述に対応して予め定められた前記異常入力値を入力値とした状態で、該問題記述に従い前記コンピュータが処理を行った時の出力値を算出する問題記述算出手順(S210,S325)と、
前記問題記述算出部により算出された出力値に基づき前記処理系異常を検出し、前記処理系異常が検出された場合には、前記問題記述を処理系異常記述とする検出手順(S210,S215,S325,S330)と、
を備える検証方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016110839A JP6519530B2 (ja) | 2016-06-02 | 2016-06-02 | 検証装置、検証プログラム、及び、検証方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016110839A JP6519530B2 (ja) | 2016-06-02 | 2016-06-02 | 検証装置、検証プログラム、及び、検証方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017215903A JP2017215903A (ja) | 2017-12-07 |
JP6519530B2 true JP6519530B2 (ja) | 2019-05-29 |
Family
ID=60577071
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016110839A Active JP6519530B2 (ja) | 2016-06-02 | 2016-06-02 | 検証装置、検証プログラム、及び、検証方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6519530B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110967036B (zh) * | 2018-09-29 | 2022-03-15 | 北京四维图新科技股份有限公司 | 导航产品的测试方法和设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04112229A (ja) * | 1990-08-31 | 1992-04-14 | Nippon Denki Gijutsu Joho Syst Kaihatsu Kk | 高精度数値計算プログラム生成方式 |
JP2004252841A (ja) * | 2003-02-21 | 2004-09-09 | Denso Corp | ソースコード生成装置、ソースコード生成プログラム、およびソースコード生成方法 |
JP5589919B2 (ja) * | 2011-03-22 | 2014-09-17 | 株式会社デンソー | 設計支援装置、設計支援プログラム |
-
2016
- 2016-06-02 JP JP2016110839A patent/JP6519530B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2017215903A (ja) | 2017-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10318290B2 (en) | Merged floating point operation using a modebit | |
JP2008191963A (ja) | ソースコード検証システム、ソースコード検証方法、およびソースコード検証用プログラム | |
JP2009271598A (ja) | プロセッサ | |
US20110137631A1 (en) | Simulation method, system and program product | |
JP2008176453A (ja) | シミュレーション装置 | |
CN113342671B (zh) | 对运算模块进行验证的方法、装置、电子设备和介质 | |
JP6519530B2 (ja) | 検証装置、検証プログラム、及び、検証方法 | |
JP5589919B2 (ja) | 設計支援装置、設計支援プログラム | |
JP2011253253A (ja) | コンピュータ試験方法、コンピュータ試験装置およびコンピュータ試験プログラム | |
JP5811978B2 (ja) | モデルベースの制御装置用のテストケース生成装置およびテストケース生成方法 | |
CN104169866A (zh) | 运算处理装置以及运算处理装置的控制方法 | |
US9442701B1 (en) | Verifying models for exceptional behavior | |
JP6665576B2 (ja) | 支援装置、支援方法及びプログラム | |
JP2007080049A (ja) | 組み込み用プログラム生成方法、組み込み用プログラム開発システム、及び情報テーブル部 | |
JP2004005395A (ja) | 演算処理装置、半導体デバイス | |
US20100077383A1 (en) | Simulation method and storage medium for storing program | |
JPWO2018150505A1 (ja) | 規模算出装置及び規模算出プログラム | |
CN109933948B (zh) | 一种形式验证方法、装置、形式验证平台及可读存储介质 | |
JP2011186999A (ja) | 浮動小数点表現プログラムの固定小数点表現化支援装置及び支援プログラム | |
JP2008090699A (ja) | トレースロギング方法、装置及びプログラム | |
WO2019142266A1 (ja) | テストケース生成装置、テストケース生成方法およびテストケース生成プログラム | |
US20190384687A1 (en) | Information processing device, information processing method, and computer readable medium | |
JP6335329B2 (ja) | プログラム依存部可視化装置、方法、およびプログラム | |
JPS6049937B2 (ja) | マイクロプログラム制御のデ−タ処理装置 | |
JP6137962B2 (ja) | 情報処理装置、情報処理方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180723 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190313 |
|
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: 20190326 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190408 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6519530 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |