JP6571897B2 - 動作検証装置、動作検証方法および動作検証プログラム - Google Patents
動作検証装置、動作検証方法および動作検証プログラム Download PDFInfo
- Publication number
- JP6571897B2 JP6571897B2 JP2019500100A JP2019500100A JP6571897B2 JP 6571897 B2 JP6571897 B2 JP 6571897B2 JP 2019500100 A JP2019500100 A JP 2019500100A JP 2019500100 A JP2019500100 A JP 2019500100A JP 6571897 B2 JP6571897 B2 JP 6571897B2
- Authority
- JP
- Japan
- Prior art keywords
- program
- divided
- processing
- concurrency
- defect
- 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
- 238000000034 method Methods 0.000 title claims description 178
- 238000012795 verification Methods 0.000 title claims description 68
- 238000012545 processing Methods 0.000 claims description 248
- 230000008569 process Effects 0.000 claims description 164
- 230000007547 defect Effects 0.000 claims description 85
- 230000008859 change Effects 0.000 claims description 84
- 230000006870 function Effects 0.000 claims description 63
- 230000007849 functional defect Effects 0.000 claims description 42
- 238000001514 detection method Methods 0.000 claims description 12
- 238000007689 inspection Methods 0.000 claims description 9
- 238000012217 deletion Methods 0.000 claims description 2
- 230000037430 deletion Effects 0.000 claims description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 59
- 238000012360 testing method Methods 0.000 description 38
- 238000012544 monitoring process Methods 0.000 description 23
- 238000004891 communication Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 6
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 238000011835 investigation Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000000275 quality assurance Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3632—Software debugging of specific synchronisation aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/75—Structural analysis for program understanding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3816—Instruction alignment, e.g. cache line crossing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Description
また、差分および派生開発への移行あるいは運用において、ソフトウェアの変更前後での影響範囲分析(Impact Analysis)、および影響範囲に応じた十分なテストが求められる。この影響範囲分析およびテストの具体例としては、産業分野ごとの機能安全規格である航空分野のDO−178Bや自動車分野のISO26262で求められる影響範囲分析およびテストがある。
(1)新たな実行環境への移行前後、あるいは実行環境への移行後に日々開発していくソフトウェアのバージョン間といった2つのソフトウェアの間で、論理的に演算内容を変更していない同等部分および変更した差異部分を特定すること。
(2)同等部分および差異部分のそれぞれに適した手法を用いて、2つのソフトウェアの間で機能的な欠陥あるいは並行性に関する欠陥が新たに発生したかどうか検出すること。また、欠陥が発生した場合は除去すること。
また、特許文献1および非特許文献2には、機能的な欠陥を検出するための入力値を自動的に作成するテストケース生成技術が開示されている。また、特許文献2および特許文献3では、排他制御しない状態での共有変数の更新およびソフトウェアの変更前後で、共有変数に設定する値が異なるといった並行性に関する欠陥を検出する並行処理監視部が開示されている。
複数の制御処理を含む第1のプログラムと前記複数の制御処理の少なくとも一部が変更された複数の制御処理を含む第2のプログラムとの各々について、前記複数の制御処理の各々を、前記複数の制御処理の並行処理を実現する並行性処理と、前記複数の制御処理による機能を実現する機能逐次処理とに分割し、前記複数の制御処理の各々が前記並行性処理と前記機能逐次処理とに分割された前記第1のプログラムを第1の分割済プログラムとして出力するとともに、前記複数の制御処理の各々が前記並行性処理と前記機能逐次処理とに分割された前記第2のプログラムを第2の分割済プログラムとして出力する分割部と、
前記第2の分割済プログラムについて機能の欠陥が機能的欠陥として検出された場合に、前記第1の分割済プログラムと前記第2の分割済プログラムとの間で異なる機能逐次処理を前記機能的欠陥の原因と推定し、前記第2の分割済プログラムについて並行処理に起因する欠陥が並行性欠陥として検出された場合に、前記第1の分割済プログラムと前記第2の分割済プログラムとの間で異なる並行性処理を前記並行性欠陥の原因と推定する原因推定部とを備えた。
***構成の説明***
図1を用いて、本実施の形態に係る動作検証装置100の動作検証の対象となる制御システムの構成について説明する。
制御システムは、制御ソフトウェアとハードウェアとで構成される制御装置と、センサ、アクチュエータ、あるいは外部装置といった制御対象とを、デジタル信号線あるいはアナログ信号線で接続したシステムである。なお、図1に示した制御システムの接続関係は代表的なものであり、制御システムの接続関係はこれに限らない。
制御システムは、機能要求を実現するアプリケーションと、アプリケーションを実行する環境である実行環境と、ドライバとで構成される。
アプリケーションは、周期実行と非周期実行が混在する複数の制御処理で構成される。
ドライバは、レジスタアクセスといったI/O処理と、制御処理よりも優先度が高い割込み処理とで構成される。
実行環境は、スケジューリングを行うタイマ処理と、通信を行う通信処理とで構成される。
制御システムは、アプリケーションと、実行環境およびドライバとの間でデータをやり取りしながら、時々刻々と制御演算を進めていく。
図2に示すように、動作検証装置100は、コンピュータである。
動作検証装置100は、プロセッサ910、記憶装置920、入力インタフェース930、出力インタフェース940、および通信装置950といったハードウェアを備える。記憶装置920は、メモリ921と補助記憶装置922とを含む。
分割部110と、等価性検査部120と、テスト実行部130と、並行処理監視部140と、原因推定部150のそれぞれの機能は、ソフトウェアで実現される。
記憶部160は、メモリ921により実現される。また、記憶部160は、補助記憶装置922のみ、あるいは、メモリ921および補助記憶装置922で実現されてもよい。記憶部160の実現方法は任意である。
通信装置950は、レシーバとトランスミッタとを有する。通信装置950は、有線または無線で、LAN、インターネット、あるいは電話回線といった通信網に接続している。通信装置950は、具体的には、通信チップまたはNIC(Network Interface Card)である。通信装置950は、データを通信する通信部である。レシーバは、データを受信する受信部である。トランスミッタは、データを送信する送信部である。
なお、動作検証プログラムプロダクトとは、動作検証プログラム620が記録された記憶媒体および記憶装置である。動作検証プログラムプロダクトは、外観に関わらず、コンピュータ読み取り可能なプログラムをロードしているものを指す。
分割部110は、ソフトウェアの変更前実装物161、ソフトウェアの変更後実装物162、および並行処理対応表163を読み込む。
変更前実装物161は、複数の制御処理を含む第1のプログラム61の例である。変更後実装物162は、第1のプログラム61の複数の制御処理の少なくとも一部が変更された複数の制御処理を含む第2のプログラム62の例である。
分割部110は、並行処理を含んだ制御処理の内容を、タスクのコンテキストスイッチが起きない複数の逐次処理になるまで分割する。分割部110は、分割することにより、変更前分割済実装物111および変更後分割済実装物112を作成し、等価性検査部120に出力する。変更前分割済実装物111は、第1の分割済プログラム71の例である。変更後分割済実装物112は、第2の分割済プログラム72の例である。
分割部110は、並行処理と逐次処理の分割、あるいは並行逐次分割部ともいう。
また、並行処理監視部140は、等価性検査結果121を取得し、並行性欠陥141を出力する。
図3を用いて、本実施の形態に係る動作検証方法610および動作検証プログラム620の動作検証処理S100について説明する。
動作検証処理S100は、分割処理S110と、等価性検査処理S120と、欠陥検出処理S30と、原因推定処理S150とを有する。欠陥検出処理S30は、テスト実行処理S130と、並行処理監視処理S140とを有する。
変更前実装物161と変更後実装物162との各々には、並行性処理631を含まない制御処理と、並行性処理631を含む制御処理とがある。具体的には、変更前実装物161と変更後実装物162との各々に含まれる演算集合には、並行処理API632を含まない演算集合と、並行処理API632を含む演算集合とがある。図5では、並行処理APIを含む演算集合として、セマフォ取得を含む演算集合と、セマフォ解放を含む演算集合とがある。
ここで、変更前と変更後の違いは、演算集合、並行処理、分岐、合流、あるいはループといった複数の制御処理の内容の一部または全部が変更されていることである。
図6を用いて、本実施の形態に係る分割処理S110について説明する。
分割処理S110において、分割部110は、複数の制御処理63の各々を、複数の制御処理の並行処理を実現する並行性処理321と、複数の制御処理63による機能を実現する機能逐次処理320とに分割する。分割部110は、複数の制御処理63の各々が並行性処理321と機能逐次処理320とに分割された変更前実装物161を変更前分割済実装物111として出力する。また、分割部110は、複数の制御処理63の各々が並行性処理321と機能逐次処理320とに分割された変更後実装物162を変更後分割済実装物112として出力する。なお、上述したように、変更前実装物161は、第1のプログラム61の例である。変更後実装物162は、第2のプログラム62の例である。また、変更前分割済実装物111は、第1の分割済プログラム71の例である。変更後分割済実装物112は、第2の分割済プログラム72の例である。
なお、以下の図6の説明では処理対象データが変更前実装物161の場合を示しているが、処理対象データが変更後実装物162の場合も図6と同様の処理である。
ステップS112において、分割部110は、複数の制御処理63から、並行処理API632の一覧のうちいずれかの並行処理API632を含む制御処理を特定する。具体的には、分割部110は、並行処理API632の一覧と、変更前実装物161を構成する演算集合とを照合し、演算集合に並行処理API632が含まれるか否かを判定する。演算集合に並行処理API632が含まれる場合、処理はステップS113に進む。演算集合に並行処理API632が含まれない場合、処理はステップS114に進む。
ステップS113において、分割部110は、並行処理API632を含んだ演算集合の中身を、並行処理API使用処理である並行性処理321と、並行処理API使用処理を含まない部分的な演算集合とに分割する。分割した個々の部分的な演算集合は、タスクのコンテキストスイッチが起きない逐次処理に変換しているので、これを機能逐次処理320と呼ぶ。機能逐次処理320は、分割により逐次処理に変換された分割逐次処理ともいう。
ステップS114において、分割部110は、並行処理APIを含まない演算集合を通常逐次処理310とする。並行処理APIを含まない演算集合はそもそもタスクのコンテキストスイッチが起きないので、これ以上変換せずに通常逐次処理310と呼ぶ。分割部110は、並行処理API632を含んだすべての演算集合を分割した結果を変更前分割済実装物111とする。
変更前分割済実装物111では、並行処理API632を含まない演算集合は通常逐次処理310となる。また、並行処理API632を含んだ演算集合は、具体的には、機能逐次処理320と、並行性処理631であるセマフォ取得処理と、機能逐次処理320とに分割される。
なお、分割部110は、変更前分割済実装物111と同様の処理により、変更後分割済実装物112を生成する。
図8を用いて、本実施の形態に係る等価性検査処理S120について説明する。
等価性検査処理S120において、等価性検査部120は、変更前分割済実装物111と変更後分割済実装物112との等価性を検査する。等価性検査部120は、変更前分割済実装物111と変更後分割済実装物112との間で異なる差異部分212と、変更前分割済実装物111と変更後分割済実装物112との間で同等の同等部分211とを等価性検査結果121として出力する。
ステップS121において、等価性検査部120は、変更前分割済実装物111と変更後分割済実装物112とを取得する。具体的には、等価性検査部120は、分割部110から出力された変更前分割済実装物111と変更後分割済実装物112とを取得する。
ステップS122において、等価性検査部120は、等価性検査を用いて、変更前分割済実装物111と変更後分割済実装物112との等価性を検査し、等価性検査結果121を出力する。具体的には、等価性検査部120は、等価性検査を用いて、変更前分割済実装物111と変更後分割済実装物112との同等部分211と差異部分212とを等価性検査結果121として出力する。
図10を用いて、本実施の形態に係る欠陥検出処理S30について説明する。
欠陥検出処理S30において、欠陥検出部30は、等価性検査結果121に基づいて、変更後分割済実装物112の機能的欠陥131あるいは並行性欠陥141を検出する。
機能的欠陥判定処理S130において、テスト実行部130は、変更前機能仕様164と変更後機能仕様165と等価性検査結果121とを取得し、テストケースを生成する。テスト実行部130は、テストケースを実行し、機能的欠陥131を出力する。機能的欠陥131とは、変更後分割済実装物112について機能の欠陥が検出された箇所である。
並行処理監視処理S140において、並行処理監視部140は、等価性検査結果121を取得し、並行性欠陥141を出力する。並行性欠陥141とは、変更後分割済実装物112について並行処理に起因する欠陥が検出された箇所である。
機能的欠陥131と並行性欠陥141との各々は、検証内容511に対して、変更後に発生した欠陥510である。あるいは、機能的欠陥131と並行性欠陥141との各々は、検証内容511に対して、変更後に欠陥510が発生した欠陥箇所でもよい。機能的欠陥131の具体例としては、「特定の入力に対して要求として期待する出力」という検証内容に対して、「出力信号1と出力信号2の少なくとも一つが期待と異なる」という欠陥がある。並行性欠陥141の具体例としては、「解除されない待ち状態、すなわちデッドロックに陥らない」という検証内容に対して、「出力信号1と出力信号2の少なくとも一つが出力されない」という欠陥がある。
図12を用いて、本実施の形態に係る欠陥の原因推定処理S150について説明する。
原因推定処理S150において、原因推定部150は、変更後分割済実装物112について機能的欠陥131が検出された場合に、変更前分割済実装物111と変更後分割済実装物112との間で異なる機能逐次処理320を機能的欠陥131の原因と推定する。また、原因推定部150は、変更後分割済実装物112について並行性欠陥141が検出された場合に、変更前分割済実装物111と変更後分割済実装物112との間で異なる並行性処理321を並行性欠陥141の原因と推定する。機能的欠陥131の原因は、機能的欠陥原因151という。並行性欠陥141の原因は、並行性欠陥原因152という。機能的欠陥原因151と並行性欠陥原因152とを合わせて欠陥原因520ともいう。
ステップS153において、原因推定部150は、欠陥が機能的欠陥131と並行性欠陥141とのどちらかを判定する。欠陥が機能的欠陥131である場合は、処理はステップS154に進む。欠陥が並行性欠陥141である場合は、処理はステップS155に進む。
ステップS155において、原因推定部150は、並行性欠陥の原因調査であるため、いずれかのパス上にある並行処理API使用処理の差異部分に加えた変更が並行性欠陥原因152であると推定する。図9の変更後分割済実装物112の例では、原因推定部150は、黒い三角付きの四角で表されたセマフォ取得に加えた変更が並行性欠陥原因152であると推定する。
ここで、ソフトウェア、すなわちプログラムにおいて、機能逐次処理または通常逐次処理の差異部分に加えた変更とは、プログラムに含まれる制御処理の一部または全部を変更することである。また、制御処理とは、演算集合、分岐、合流、あるいはループといった処理である。また、並行処理API使用処理の差異部分に加えた変更とは、使用している並行処理APIは変更せずに、引数に関する処理および戻り値に関する処理の一部または全部を変更することである。
本実施の形態では、分割部110と、等価性検査部120と、テスト実行部130と、並行処理監視部140と、原因推定部150の機能がソフトウェアで実現される。しかし、変形例として、分割部110と、等価性検査部120と、テスト実行部130と、並行処理監視部140と、原因推定部150の機能がハードウェアで実現されてもよい。
図14に示すように、動作検証装置100は、処理回路909、入力インタフェース930、出力インタフェース940、および通信装置950といったハードウェアを備える。
本実施の形態に係る動作検証装置100では、セマフォ取得およびセマフォ解放といった並行処理を含んだ制御処理を、演算内容を全く変えずにタスクのコンテキストスイッチが起きない複数の逐次処理になるまで分割する。これにより、本実施の形態に係る動作検証装置100によれば、等価性検査をマルチタスク構成に適用可能となる。よって、本実施の形態に係る動作検証装置100によれば、差分および派生開発への移行あるいは運用において、品質確保および作業効率化のキーとなる影響範囲分析の適用範囲をシングルタスク構成からマルチタスク構成のソフトウェアに広げることで、あらゆる制御ソフトウェア開発の生産性向上を実現することができる。
本実施の形態では、主に、実施の形態1と異なる点について説明する。なお、実施の形態1で説明した構成と同様の構成には、同一の符号を付し、その説明を省略する。
実施の形態1では、一般的な並行性処理と実装環境に固有の並行処理APIとの対応が一対一である場合について説明した。実施の形態2では、一般的な並行性処理と実装環境に固有の並行処理APIの対応が一対多である場合について説明する。
本実施の形態に係る並行処理対応表163a,163bは、並行性処理321の種別に、並行性処理321のパラメータごとの命令が対応付けられている。並行処理対応表163a,163bは、一つの並行性処理について、機能的には同じだが使用するときの並行処理パラメータが異なる複数の並行処理APIが対応する。図15の並行処理対応表163aでは、並行性処理のセマフォ取得について、3つの並行処理パラメータ「取得できるまで待機」「取得できるまでポーリングで確認」「取得できるまでタイムアウト付きで待機」のそれぞれに対して実行環境Aの並行処理APIを一つ対応付けている。また、図16の並行処理対応表163bでは、図15と同様に、セマフォ取得について3つの並行処理パラメータのそれぞれに対して実行環境Bの並行処理APIを一つ対応付けている。
本実施の形態では、主に、実施の形態1と異なる点について説明する。なお、実施の形態1で説明した構成と同様の構成には、同一の符号を付し、その説明を省略する。
実施の形態1では、並行性処理321の差異部分に加えた変更は、使用している並行処理APIは変更せずに引数に関する処理および戻り値に関する処理の一部または全部を変更する場合を説明した。実施の形態3では、並行性処理321加えた変更が、使用する並行処理APIの追加あるいは削除である場合について説明する。
図17は、変更により使用する並行処理APIを追加した場合の等価性検査結果121aの例を示している。追加した並行処理APIを使用する処理は、変更後分割済実装物112にだけ存在する。
また、図18は、変更により使用している並行処理APIを削除した場合の等価性検査結果121bの例を示している。削除した並行処理APIを使用する処理は、変更前分割済実装物111にだけ存在する。
また、動作検証装置100は、1つの装置でなく、複数の装置から構成されたシステムでもよい。
なお、上述した実施の形態は、本質的に好ましい例示であって、本発明、その適用物および用途の範囲を制限することを意図するものではなく、必要に応じて種々の変更が可能である。
Claims (8)
- 複数の制御処理を含む第1のプログラムと前記複数の制御処理の少なくとも一部が変更された複数の制御処理を含む第2のプログラムとの各々について、前記複数の制御処理の各々を、前記複数の制御処理の並行処理を実現する並行性処理と、前記複数の制御処理による機能を実現する機能逐次処理とに分割し、前記複数の制御処理の各々が前記並行性処理と前記機能逐次処理とに分割された前記第1のプログラムを第1の分割済プログラムとして出力するとともに、前記複数の制御処理の各々が前記並行性処理と前記機能逐次処理とに分割された前記第2のプログラムを第2の分割済プログラムとして出力する分割部と、
前記第2の分割済プログラムについて機能の欠陥が機能的欠陥として検出された場合に、前記第1の分割済プログラムと前記第2の分割済プログラムとの間で異なる機能逐次処理を前記機能的欠陥の原因と推定し、前記第2の分割済プログラムについて並行処理に起因する欠陥が並行性欠陥として検出された場合に、前記第1の分割済プログラムと前記第2の分割済プログラムとの間で異なる並行性処理を前記並行性欠陥の原因と推定する原因推定部と
を備えた動作検証装置。 - 前記動作検証装置は、
前記第1の分割済プログラムと前記第2の分割済プログラムとの等価性を検査し、前記第1の分割済プログラムと前記第2の分割済プログラムとの間で異なる差異部分と、前記第1の分割済プログラムと前記第2の分割済プログラムとの間で同等の同等部分とを等価性検査結果として出力する等価性検査部と、
前記等価性検査結果に基づいて、前記第2の分割済プログラムについて前記機能的欠陥あるいは前記並行性欠陥を検出する欠陥検出部と
を備えた請求項1に記載の動作検証装置。 - 前記動作検証装置は、
前記並行性処理に前記並行性処理を実現する命令が対応付けられた並行処理対応表を記憶する記憶部を備え、
前記分割部は、
前記記憶部に記憶された前記並行処理対応表から前記命令の一覧を取得し、前記複数の制御処理から前記命令の一覧のうちいずれかの命令を含む制御処理を、前記命令を含む前記並行性処理と前記命令を含まない前記機能逐次処理とに分割する請求項1または2に記載の動作検証装置。 - 前記記憶部は、
プログラムの実行環境ごとに、前記並行性処理に前記命令が対応付けられた前記並行処理対応表を記憶し、
前記分割部は、
前記並行処理対応表から、前記第1のプログラムと前記第2のプログラムとの実行環境が提供する前記命令の一覧を取得する請求項3に記載の動作検証装置。 - 前記動作検証装置は、
前記並行性処理に前記並行性処理のパラメータごとの命令が対応付けられた並行処理対応表を記憶する記憶部を備え、
前記分割部は、
前記並行処理対応表から前記命令の一覧を取得し、前記複数の制御処理から前記命令の一覧のうちいずれかの命令を含む制御処理を、前記命令を含む前記並行性処理と前記命令を含まない前記機能逐次処理とに分割する請求項1または2に記載の動作検証装置。 - 前記第2のプログラムに加えた変更は、前記複数の制御処理のうち少なくともいずれかの処理内容の変更、新たな制御処理の追加による変更、あるいは、前記複数の制御処理のうち少なくともいずれかの削除による変更である請求項1から5のいずれか1項に記載の動作検証装置。
- 分割部が、複数の制御処理を含む第1のプログラムと前記複数の制御処理の少なくとも一部が変更された複数の制御処理を含む第2のプログラムとの各々について、前記複数の制御処理の各々を、前記複数の制御処理の並行処理を実現する並行性処理と、前記複数の制御処理による機能を実現する機能逐次処理とに分割し、前記複数の制御処理の各々が前記並行性処理と前記機能逐次処理とに分割された前記第1のプログラムを第1の分割済プログラムとして出力するとともに、前記複数の制御処理の各々が前記並行性処理と前記機能逐次処理とに分割された前記第2のプログラムを第2の分割済プログラムとして出力し、
原因推定部が、前記第2の分割済プログラムについて機能の欠陥が機能的欠陥として検出された場合に、前記第1の分割済プログラムと前記第2の分割済プログラムとの間で異なる機能逐次処理を前記機能的欠陥の原因と推定し、前記第2の分割済プログラムについて並行処理に起因する欠陥が並行性欠陥として検出された場合に、前記第1の分割済プログラムと前記第2の分割済プログラムとの間で異なる並行性処理を前記並行性欠陥の原因と推定する動作検証方法。 - 複数の制御処理を含む第1のプログラムと前記複数の制御処理の少なくとも一部が変更された複数の制御処理を含む第2のプログラムとの各々について、前記複数の制御処理の各々を、前記複数の制御処理の並行処理を実現する並行性処理と、前記複数の制御処理による機能を実現する機能逐次処理とに分割し、前記複数の制御処理の各々が前記並行性処理と前記機能逐次処理とに分割された前記第1のプログラムを第1の分割済プログラムとして出力するとともに、前記複数の制御処理の各々が前記並行性処理と前記機能逐次処理とに分割された前記第2のプログラムを第2の分割済プログラムとして出力する分割処理と、
前記第2の分割済プログラムについて機能の欠陥が機能的欠陥として検出された場合に、前記第1の分割済プログラムと前記第2の分割済プログラムとの間で異なる機能逐次処理を前記機能的欠陥の原因と推定し、前記第2の分割済プログラムについて並行処理に起因する欠陥が並行性欠陥として検出された場合に、前記第1の分割済プログラムと前記第2の分割済プログラムとの間で異なる並行性処理を前記並行性欠陥の原因と推定する原因推定処理と
をコンピュータに実行させる動作検証プログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2017/005633 WO2018150504A1 (ja) | 2017-02-16 | 2017-02-16 | 動作検証装置、動作検証方法および動作検証プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP6571897B2 true JP6571897B2 (ja) | 2019-09-04 |
JPWO2018150504A1 JPWO2018150504A1 (ja) | 2019-11-07 |
Family
ID=63169775
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019500100A Active JP6571897B2 (ja) | 2017-02-16 | 2017-02-16 | 動作検証装置、動作検証方法および動作検証プログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US20190317806A1 (ja) |
EP (1) | EP3564820B1 (ja) |
JP (1) | JP6571897B2 (ja) |
WO (1) | WO2018150504A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE112021002403T5 (de) | 2020-07-03 | 2023-03-09 | Hitachi Astemo, Ltd. | Fahrzeugsteuervorrichtung |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230244549A1 (en) * | 2021-12-13 | 2023-08-03 | Nvidia Corporation | Application programming interface to cause graph code to wait on a semaphore |
JP2024048916A (ja) * | 2022-09-28 | 2024-04-09 | 株式会社オートネットワーク技術研究所 | 情報処理システム、情報処理方法およびコンピュータプログラム |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11282722A (ja) * | 1998-03-31 | 1999-10-15 | Hitachi Software Eng Co Ltd | プログラム検証方法 |
WO2001022228A1 (en) * | 1999-09-17 | 2001-03-29 | Nortel Networks Limited | System and method for producing a verification system for verifying procedure interfaces |
JP4414373B2 (ja) * | 2005-06-30 | 2010-02-10 | 富士通株式会社 | プログラムの検証プログラム、プログラムの検証装置、プログラムの検証方法 |
JP4712583B2 (ja) * | 2006-03-20 | 2011-06-29 | 富士通株式会社 | ソフトウェア検証プログラム、ソフトウェア検証装置、ソフトウェア検証方法 |
JP4924188B2 (ja) | 2007-04-27 | 2012-04-25 | トヨタ自動車株式会社 | クロス検証装置 |
WO2013072977A1 (ja) | 2011-11-18 | 2013-05-23 | 株式会社日立製作所 | 情報処理装置、プログラム及び情報処理方法 |
JP2014038467A (ja) | 2012-08-15 | 2014-02-27 | Nec Corp | 一貫性破壊検出装置、一貫性破壊検出プログラム、及び一貫性破壊検出方法 |
-
2017
- 2017-02-16 EP EP17897024.0A patent/EP3564820B1/en active Active
- 2017-02-16 WO PCT/JP2017/005633 patent/WO2018150504A1/ja unknown
- 2017-02-16 US US16/473,198 patent/US20190317806A1/en not_active Abandoned
- 2017-02-16 JP JP2019500100A patent/JP6571897B2/ja active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE112021002403T5 (de) | 2020-07-03 | 2023-03-09 | Hitachi Astemo, Ltd. | Fahrzeugsteuervorrichtung |
Also Published As
Publication number | Publication date |
---|---|
EP3564820B1 (en) | 2021-01-06 |
JPWO2018150504A1 (ja) | 2019-11-07 |
EP3564820A1 (en) | 2019-11-06 |
WO2018150504A1 (ja) | 2018-08-23 |
EP3564820A4 (en) | 2020-02-26 |
US20190317806A1 (en) | 2019-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9612937B2 (en) | Determining relevant events in source code analysis | |
US8887146B2 (en) | System for inspecting information processing unit to which software update is applied | |
JP6571897B2 (ja) | 動作検証装置、動作検証方法および動作検証プログラム | |
US8499288B2 (en) | User interface analysis management | |
JP6289778B2 (ja) | テストケース生成装置及びテストケース生成プログラム | |
US9477576B2 (en) | Using application state data and additional code to resolve deadlocks | |
US20100153693A1 (en) | Code execution with automated domain switching | |
US20160239400A1 (en) | Embedding and executing trace functions in code to gather trace data | |
US20090083736A1 (en) | Virtualized computer, monitoring method of the virtualized computer and a computer readable medium thereof | |
JP6023317B2 (ja) | 情報処理装置、および、情報処理方法 | |
US8079026B2 (en) | Job definition verification system, and method and program thereof | |
US20200019451A1 (en) | Helping a hardware accelerator using software | |
US9092333B2 (en) | Fault isolation with abstracted objects | |
US9442826B2 (en) | Kernel functionality checker | |
CN108845837B (zh) | 一种检测windows系统运行模式的方法及电子设备 | |
US20100077383A1 (en) | Simulation method and storage medium for storing program | |
JP5757167B2 (ja) | 判定作業支援システム、判定作業支援方法、及びプログラム | |
US20140250330A1 (en) | System level architecture verification of a transactional execution | |
JP2009098907A (ja) | デバッグ装置及びデバッグ方法 | |
US20220308912A1 (en) | Setting changing device, setting changing method, and computer readable medium | |
KR102202633B1 (ko) | 오류 처리 프로세서 및 이를 이용한 오류 처리 방법 | |
US11080122B2 (en) | Software-invisible interrupt for a microprocessor | |
JP5949391B2 (ja) | 実行条件検査装置、実行条件検査システム、実行条件検査方法およびプログラム | |
Vostokov | Elementary Diagnostics Patterns | |
JP2007034864A (ja) | 入出力装置の診断方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190325 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20190325 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20190403 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190611 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190628 |
|
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: 20190716 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190808 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6571897 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |