JP2016057969A - プログラム検査装置、ソフトウェア検査装置、sat制約条件データ、記憶媒体 - Google Patents

プログラム検査装置、ソフトウェア検査装置、sat制約条件データ、記憶媒体 Download PDF

Info

Publication number
JP2016057969A
JP2016057969A JP2014185326A JP2014185326A JP2016057969A JP 2016057969 A JP2016057969 A JP 2016057969A JP 2014185326 A JP2014185326 A JP 2014185326A JP 2014185326 A JP2014185326 A JP 2014185326A JP 2016057969 A JP2016057969 A JP 2016057969A
Authority
JP
Japan
Prior art keywords
condition
inspection
value
constraint
program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2014185326A
Other languages
English (en)
Other versions
JP2016057969A5 (ja
Inventor
昌能 西
Masataka Nishi
昌能 西
成沢 文雄
Fumio Narisawa
文雄 成沢
敦寛 大野
Atsuhiro Oono
敦寛 大野
正裕 松原
Masahiro Matsubara
正裕 松原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Astemo Ltd
Original Assignee
Hitachi Automotive Systems Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Automotive Systems Ltd filed Critical Hitachi Automotive Systems Ltd
Priority to JP2014185326A priority Critical patent/JP2016057969A/ja
Priority to PCT/JP2015/072980 priority patent/WO2016039076A1/ja
Publication of JP2016057969A publication Critical patent/JP2016057969A/ja
Publication of JP2016057969A5 publication Critical patent/JP2016057969A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/28Error detection; Error correction; Monitoring by checking the correct order of processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】検査対象ソフトウェアに対して入力する異常な入力値列をあらかじめ排除することにより、ソフトウェアの挙動を検査するために必要な計算リソースを抑制するプログラム検査装置、ソフトウェア検査装置、SAT制約条件データ、記憶媒体を提供する。【解決手段】プログラム検査装置は、検査対象である動的プログラムの入力値列、内部状態値列、出力値列、及びソフトウェアの要件を記述した検査条件を、充足可能性問題の制約条件として記述し、所望の検査条件を満たす解を探索することにより、検査に適した入力値列を出力値列から逆算的に求める。【選択図】図3

Description

本発明は、ソフトウェアを検査する技術に関する。
近年、モデル検査手法と呼ばれる入出力関係を動的に解析する手法が効果的であることが知られるようになってきた。モデル検査手法は、ソフトウェアに対する入力値とソフトウェアの内部状態により出力値が動的に決定されるソフトウェアモデルを構築し、モデルから時系列に出力される出力値列として観察されるソフトウェアの動的挙動の妥当性を評価する手法である。これにより、機能要件および安全性要件に違反する不具合に相当する入力値または内部状態が存在することを探索する。
近年、ソースコードを対象としたモデル検査手法が、車載ソフトウェアの潜在的不具合を確実に検出する手段として有効であることが知られている。車載ソフトウェアは、時系列に沿って与えられる入力値列に対して内部状態値列を演算し、出力値列を出力するものであるため、上述のモデル検査手法の特性とよく合致するからである。以下このように時系列に変化する要素を有するソフトウェアまたはその挙動を模擬したソフトウェアのことを、動的プログラムと呼称する場合もある。ISO26262規格においてもソフトウェアの認証要件を満たすことを証明する手段としてモデル検査手法を要請するようになっている。
モデル検査手法は、ソフトウェアの内部状態を記述する内部状態値を定義し、ソフトウェアの入出力関係に対応する状態遷移規則を実装した状態遷移モデルを用いて、不具合に相当する状態遷移列を発見するという意味で、動的な入出力関係解析手法である。下記特許文献1〜3は、モデル検査手法に係る従来技術を記載している。
モデル検査手法の他に検査手法としてよく用いられるシミュレーションは、モデル検査手法における内部状態値の初期値に関する制約条件、およびソフトウェアに対する入力値列に関する制約条件を満たすような内部状態値および入力値列を、検査オペレータが逐一個別に設定してソフトウェアを実行し、その結果得られた出力値列を個別に評価することにより、出力値列が検査条件に違反するか否かを検査する手法である。
モデル検査手法とシミュレーションはともに、内部状態値と入力値列を網羅的に列挙することに起因する計算量が膨大となるため、計算リソースの制約がある前提の下では実用的な規模のソフトウェアに対して適用することが困難である。
この計算量増加の要因は、状態遷移経路を網羅するために設定する必要がある初期内部状態値の数が膨大にあり、個別に初期状態値を設定して状態遷移経路を構築していく必要があることに起因する。また、適当に選択した1つの初期状態値から入力値列に対応して得られる状態遷移経路の数は、探索したい時系列の入力値列の長さに対して少なくとも多項式的に、最悪で指数関数的に増加してしまう。このような探索方式に起因する計算量増加も、モデル検査手法の適用を妨げる要因となっている。
特開2013−200787号公報 特開2012−155517号公報 特表2007−528059号公報
モデル検査手法をソフトウェアの検査に用いる際、旧来の方式においては、入力値列や初期内部状態値を一律にプログラム内変数とみなし、制約条件として変数毎に値域を設定するなどの制約を援用するに留まっていた。このため、検査に際して探索範囲として考慮する正常な入力値列として、値域の制約条件を満たす範囲内で取りうる乱数列まで含めてしまう。すなわち、ソフトウェアの本来の動作に鑑みると時系列に沿って変動し得る入力値列のみを探索範囲とすればよいにも関わらず、従来手法においては値域の制約条件さえ満たしている限りは時系列的に取りえない値であっても探索範囲に含まれてしまう。
例えば走行制御を目的として設計された動的プログラムが受け付ける入力値列は、エンジン温度、走行速度、車体加速度などであり、これら入力値列は、時系列における相関関係に対応する制約条件の下においてのみ、検査条件(すなわち機能要件や安全性要件)を満たしさえすればよい。
上記のような異常な入力値列が検査対象ソフトウェアに対して入力されると、検査対象ソフトウェアの出力値列も異常となるので、モデル検査装置はこれを異常とみなす。しかしこのような検査は本来不要である。したがってモデル検査手法(またはシミュレーション)を用いてソフトウェアを検査する場合、上記のように時系列上の制約条件を逸脱する異常な入力値列(例えば乱数列)は、計算リソースの消費を抑制する観点から、動的プログラムに対して入力する前に排除することが望ましい。
本発明は、上記のような課題に鑑みてなされたものであり、検査対象ソフトウェアに対して入力する異常な入力値列をあらかじめ排除することにより、ソフトウェアの挙動を検査するために必要な計算リソースを抑制することを目的とする。
本発明に係るプログラム検査装置は、検査対象である動的プログラムの入力値列、内部状態値列、および出力値列と、ソフトウェアの要件を記述した検査条件とを、充足可能性問題の制約条件として記述し、所望の検査条件を満たす解を探索することにより、検査に適した入力値列を出力値列から逆算的に求める。
本発明に係るプログラム検査装置によれば、実用的な規模のソフトウェアを検査するための計算リソースを抑制することができる。また、異常な入力値列が入力されることによって異常な出力値列が出力された場合、これを異常とみなす誤判定を抑制することができる。
検査対象ソフトウェアの動作を記述した状態遷移モデルの概念図である。 本発明に係るプログラム検査装置が用いる各パラメータを示す表である。 ソフトウェア100を再帰的に繰り返し実行することにより各値列を求める様子を示す図である。 本発明に係るプログラム検査装置がソフトウェア100に対して充足可能性判定を実施する処理を説明するフローチャートである。 実施形態2に係るソフトウェア検査装置400の構成図である。 検査用プログラム構築部410がソフトウェア100を用いて検査用プログラム405を構築する手順を説明するフローチャートである。 実施形態3における動的プログラム601の構成を示す図である。 ブレーキオーバーライド機能を実装した車両走行制御プログラム602のソースコード例である。 車両走行制御プログラム602の初期値制約条件の具体例である。 車両走行制御プログラム602の入力値列制約条件の具体例である。 車両走行制御プログラム602の入力値列制約条件の具体例である。 車両走行制御プログラム602の検査条件の具体例である。 車両走行制御プログラム602の内部状態値、入力値列、および出力値列の演算例を示すタイムチャートである。 プログラム検査装置406の構成図である。
<本発明の基本的な考え方>
本発明の理解を促進するため、以下ではまず本発明の基本的な考え方について説明し、その後に本発明の実施形態について説明する。
検査対象ソフトウェアに対して時系列的に不自然な異常入力値列を入力すると、ソフトウェアの内部状態値列や出力値列もその異常入力値列によって異常値となってしまう。検査を効率化する観点からは、時系列的に妥当な内部状態値列や出力値列のみが得られるような入力値列をソフトウェアに対して与えることが望ましい。しかし、いかなる入力値列を時系列的に与えれば妥当な内部状態値列や出力値列が得られるのかについては、必ずしも検査前の時点で明らかになっているわけではない。したがって従来のソフトウェア検査においては、入力値列を制限するとしてもせいぜい上下限値の範囲内に収めるようにする程度の制約しか課しておらず、結果として時系列的に異常な入力値列もテスト対象となるので、検査効率の観点からは望ましくなかった。
そこで本発明においては、時系列的に妥当な内部状態値列や出力値列が得られる入力値列を求めることを充足可能性問題(SATisfiability problem、以下SAT問題と呼ぶ場合もある)として捉え直し、これを解くことにより検査に適した入力値列を求めることにした。
充足可能性問題とは、ある論理式を充足する変数群を求める問題である。これを本発明の課題に即して説明すると、時系列的に妥当な内部状態値列や出力値列を論理式として記述し、これを充足する入力値列を求めることに相当する。充足可能性問題を解くSATソルバは公知であるため、SATソルバの制約条件として上記論理式を与えてその解をSATソルバに探索させることにより、所望の入力値列を得ることができる。その入力値列を用いてソフトウェア検査を実施することにより、限られた計算リソースの下で実用的な規模のソフトウェアを検査することができる。なおSATソルバは一般的にビット論理演算形式の論理式を充足する解を求めるように実装されているが、その他形式論理式によって表現されるSAT問題についても本発明を適用することができる。
SATソルバに対して与える制約条件は、実施しようとしているソフトウェア検査の種類に応じて変えることができる。これにより、同じ仕組みを用いて複数種類のソフトウェア検査に対応することができる。制約条件としては例えば、(a)時系列の入力値列間の相関関係、(b)時系列の出力値列間の相関関係、(c)時系列の入力値列と出力値列との間の相関関係、(d)これら相関関係と内部状態値の初期値との組み合わせ、などが考えられるが、これに限られるものではない。
<実施の形態1>
図1Aは、検査対象ソフトウェアの動作を記述した状態遷移モデルの概念図である。図1Aにおいて、ソフトウェア100に対して時系列的に変化する入力値列DATA_IN[t]を与え、ソフトウェア100はこれに応じて時系列的に変化する内部状態値列STATE[t]を有するとともに、入力値列に対応する時系列の出力値列DATA_OUT[t]を出力する。ソフトウェア100は時系列に沿って動的に内部状態が変化するので、動的プログラムと呼ぶ場合もある。
ソフトウェア100を、入力値と内部状態から出力値を決定する関数とみなし、入力値列DATA_IN[t]、内部状態値列STATE[t]、および出力値列DATA_OUT[t]と併せてその関数を定義することにより、ソフトウェア100の動的挙動を表す状態遷移モデルを構築することができる。本発明に係るプログラム検査装置は、この状態遷移モデルと以下に説明する各パラメータを用いて、上述の充足可能性問題を解く。
図1Bは、本発明に係るプログラム検査装置が用いる各パラメータを示す表である。入力値列、出力値列、内部状態については図1Aで説明した通りである。状態値S[t]はこれら3変数を1つにまとめたものである。関数PROGRAM_STATEと関数PROGRAM_OUTはソフトウェア100の状態遷移モデルを記述した関数である。初期値制約条件CONDITION_INITは内部状態値の初期値として取り得る値を規制する条件である。入力値列制約条件CONDITION_INPUTは、入力値列DATA_IN[t]の値域など従来と同様の制約を記述したものである。検査条件CONDITION_CHECKは、ソフトウェア100に対して実施する検査を制約条件として記述したものである。
初期値制約条件CONDITION_INITとしては、ソフトウェア100が取りうる正常な初期内部状態値を列挙すればよい。検査条件CONDITION_CHECKとしては、ソフトウェア100の動作形態に即して定義した機能要件、動作制約、ハザード条件などを設定すればよい。
図2は、ソフトウェア100を再帰的に繰り返し実行することにより各値列を求める様子を示す図である。初期内部状態値201とt=0における入力値202をソフトウェア100に対して入力して実行することにより、t=1における出力値203と内部状態値204が求められる。t=1以降の入力値列DATA_INをソフトウェア100に対して順次投入してソフトウェア100を再帰的に実行することにより、t=1以降の各値列を求めることができる。
ソフトウェア100に対する検査は、入力値列205、出力値列206、および内部状態値列STATE[t]のいずれかまたはこれらを組み合わせた値列が、所定の検査条件を満たしているか否かを判定することにより実施される。すなわち、ソフトウェア100が検査条件に違反するか否かを検査することは、指定した検査条件および時系列における各値列の実際の値を制約条件として、検査条件を満たさない値列が存在するか否かを探索するSAT問題に帰結される。指定した検査条件および時系列における各値列の実際の値は、論理式として表現することにより、SAT問題における制約条件として流用することができる。
図3は、本発明に係るプログラム検査装置がソフトウェア100に対して充足可能性判定を実施する処理を説明するフローチャートである。以下図3の各ステップについて説明する。
(図3:ステップS300)
プログラム検査装置は、図1Bで説明した初期値制約条件、入力値列制約条件、検査条件、入力値列DATA_IN[]、内部状態値列STATE[]の初期値(STATE[0])を、プログラム検査装置に対する入力として取得する。これらの値は例えば適当なデータファイルなどに記載して入力すればよい。
(図3:ステップS301)
プログラム検査装置は、図1Bで説明した初期値制約条件、入力値列制約条件、および検査条件とともに、図2で説明した手法によって得られる入力値列DATA_IN[]、内部状態値列STATE[]、および出力値列DATA_OUT[]を、論理式形式で記述する。具体的には、時系列における各値列および各制約条件を論理積によって結合したものが、SATソルバに対して与える制約条件となる。この制約条件を記述した論理式群のことを、以下では検査用プログラムと呼ぶ場合もある。なお本実施形態1においては、検査条件を満たさない値列が存在するか否かを探索することによって検査条件を充足するか否かを判定することとしたので、制約条件としてCONDITION_CHECK==FALSEを指定した。検査用プログラムは、プログラム検査装置自身が構築してもよいし、外部装置がこれを構築してプログラム検査装置に対して与えてもよい。
(図3:ステップS302〜S3021)
プログラム検査装置(のSATソルバ、以下同様)は、初期値制約条件を充足する解(すなわち各値列、以下同様)が存在するか否かを判定する(S302)。充足解がなければ、初期値制約条件そのものが適切に設定されていない旨を判定結果として報告し、本フローチャートを終了する(S3021)。
(図3:ステップS303〜S3031)
プログラム検査装置は、入力値列制約条件を充足する解が存在するか否かを判定する(S303)。充足解がなければ、入力値列制約条件そのものが適切に設定されていない旨を判定結果として報告し、本フローチャートを終了する(S3031)。
(図3:ステップS304〜S3041)
プログラム検査装置は、検査条件を充足する解が存在するか否かを判定する(S304)。充足解がなければ、検査条件そのものが適切に設定されていない旨を判定結果として報告し、本フローチャートを終了する(S3041)。
(図3:ステップS302〜S304:補足)
これら3ステップは、制約条件を設定するオペレータが例えば人的操作ミスなどによって誤った制約条件を設定し、SATソルバが妥当な解を導きだせなくなるようなエラーをあらかじめ抑制するための、予備的な処理である。
(図3:ステップS305〜S3051)
プログラム検査装置は、ステップS301で構築した検査用プログラムが記述している論理式を充足する解が存在するか否かを判定する(S305)。ステップS305において解が存在しない(すなわちCONDITION_CHECK==FALSEとなる値列が存在しない)場合は、検査条件に違反がない旨の判定結果を報告し、本フローチャートを終了する(S3051)。
(図3:ステップS306)
ステップS305において解が存在する場合は、その具体的な割り当て値(すなわちDATA_IN[]、STATE[]、およびDATA_OUT[]の各時系列値)を、検査条件に違反する具体的な事例として報告し、本フローチャートを終了する。
<実施の形態1:制約条件の例>
以下では、制約条件を適当に設定することにより、本発明に係るプログラム検査装置を様々な種別のソフトウェア検査に対して適用できることを説明する。具体的な適用例として、(a)ソフトウェア設計不具合の解析、(b)ソフトウェア故障モード影響解析、(c)ソフトウェア故障ツリー解析が挙げられる。
ソフトウェア設計不具合の解析において本発明を適用する場合、以下の制約条件を設定すればよい:
(a)ソフトウェア100が取りうる正常な初期内部状態値の集合を初期値制約条件として設定する;
(b)ソフトウェア100の動作環境に依存する前提条件として機能要件内に明示されている、ソフトウェア100に対する妥当な入力値列DATA_IN[]の定義を、入力値列制約条件として設定する;
(c)ソフトウェアの動作形態に即して定義した機能要件を、正常な入力値列DATA_IN[]に対して得られる出力値列DATA_OUT[]を検査条件として設定し、これに違反するような不都合な入力値列DATA_IN[]が存在するか否かを判定する。
ソフトウェア故障モード影響解析において本発明を適用する場合、以下の制約条件を設定すればよい:
(a)ソフトウェア100が取りうる正常な初期内部状態値の集合を初期値制約条件として設定する;
(b)ソフトウェア100の動作時前提条件として機能要件内に明示されている、ソフトウェア100に対する妥当な入力値列DATA_IN[]、またはソフトウェア100が入力値を取得するデータソースにおいて起こりうる故障要因を明示的に指定して、これが招くいずれかのタイミングにおける異常な入力値列DATA_IN[]を、入力値列制約条件として設定する;
(c)ソフトウェア100の安全要件に即して定義したハザード条件を検査条件として設定し、検査条件に違反するような不都合な入力値列DATA_IN[]が存在するか否かを判定する。
ソフトウェア故障ツリー解析において本発明を適用する場合、以下の制約条件を設定すればよい:
(a)ソフトウェア100が取りうる正常な初期内部状態値の集合を初期値制約条件として設定する;
(b)ソフトウェア100の動作時前提条件として機能要件内に明示されている、ソフトウェア100に対する妥当な入力値列DATA_IN[]、またはソフトウェア100が入力値を取得するデータソースにおいて起こりうる故障要因が招くいずれかのタイミングにおける異常な入力値列DATA_IN[]を、入力値列制約条件として設定する;
(c)ソフトウェア100の安全要件に即して定義したハザード条件を検査条件として設定し、検査条件に違反するような不都合な故障要因および入力値列DATA_IN[]の組み合わせが存在するか否かを判定する。
<実施の形態1:まとめ>
以上のように、本実施形態1に係るプログラム検査装置は、時系列に変化する値列、およびソフトウェア100に対する検査条件を、SATソルバに対する制約条件を記述した論理式として使用し、制約条件を充足する解を探索する。これにより、時系列で変化する入力値列DATA_IN[]に対して応答するソフトウェア100が機能要件に違反するような不具合を有するか否かを判定することができる。
また、本実施形態1に係るプログラム検査装置によれば、時系列的に正常な入力値列DATA_IN[]、およびこれから出力される出力値列DATA_OUT[]を導き出すことができる。これにより、検査範囲とする入力値列を時系列的に正常な値域のみに限定することができる。したがって、計算リソースが限られた状況下においても、実用的な規模のソフトウェアに対して課した検査項目を正しく判定することができる。具体的には、ソフトウェア100の規模に対して解の探索範囲が指数関数的に増加するのに対し、本実施形態によれば計算量はソフトウェア100の規模に対しておよそ多項式関数的に増加するに留めることができる。
また、本実施形態1に係るプログラム検査装置によれば、異常な入力値列DATA_IN[]に対応する異常な出力値列DATA_OUT[]を誤って異常とみなすという誤検出を阻止できる。
<実施の形態2>
図4は、本発明の実施形態2に係るソフトウェア検査装置400の構成図である。ソフトウェア検査装置400は、実施形態1で説明したプログラム検査装置406を用いてソフトウェア100を検査する装置であり、初期値制約設定部407、入力値列制約設定部408、検査条件設定部409、検査用プログラム構築部410、プログラム検査装置406を備える。
ソフトウェア検査装置400は、初期値制約条件401、入力値列制約条件402、検査対象であるソフトウェア100、検査条件403を入力として受け取り、図3のステップS302〜S306で説明した各判定結果を出力する。具体的には、プログラム検査装置406が、初期値制約条件が不正である旨の判定結果416(S3021)、入力値制約条件が不正である旨の判定結果417(S3031)、検査条件が不正である旨の判定結果418(S3041)、検査条件違反がない旨の判定結果419(S3051)、検査条件に違反する初期値と時系列値420(S306)を出力する。
初期値制約条件401は、初期値制約記述単位の論理和、論理積、または論理否定を組み合わせることにより構成される。初期値制約記述単位は、(内部状態の初期値に対する前提条件)と(拘束条件)の対によって構成される。この前提条件および拘束条件は、内部状態の初期値に相当する変数、入力値列に相当する変数群、および固定値を用いて変数間の制約条件を記述した式を含む。
初期値制約設定部407は、適当なユーザインターフェースなどを介して初期値制約条件401を受け取り、これを初期値制約条件の形式で記述した初期値制約条件記述411に変換する。このとき、演算負荷の観点から、初期値制約条件401が指定する条件と等価かつ計算効率が良い論理式を構築してもよい。例えば初期値制約条件401が『(前提条件)が成立するならば(内部状態値の初期値の拘束条件)』という形式で指定されている場合、これと等価な論理式である『NOT(前提条件)||(内部状態値の初期値の拘束条件)』を初期値制約条件記述411としてもよい。入力値列制約設定部408と検査条件設定部409についても同様である。
入力値列制約条件402は、入力値列制約記述単位の論理和、論理積、または論理否定を組み合わせることにより構成される。入力値列制約記述単位は、(入力値列に対する前提条件)と(拘束条件)の対によって構成される。入力値列制約設定部408は、適当なユーザインターフェースなどを介して入力値列制約条件402を受け取り、これを入力値列制約条件の形式で記述した入力値列制約条件記述412に変換する。
検査条件403は、検査条件記述単位の論理和、論理積、および論理否定を組み合わせることにより構成される。検査条件記述単位は、(入力値列または内部状態初期値に対する前提条件)と(出力値列に対する拘束条件)の対によって構成される。この(前提条件)および(拘束条件)は、内部状態値の初期値に相当する変数、入力値列および出力値列に相当する変数群、および固定値を用いて変数間の制約条件を記述した式を含む。検査条件設定部409は、適当なユーザインターフェースなどを介して検査条件403を受け取り、これを検査条件の形式で記述した検査条件記述415に変換する。検査条件403はさらに、演算負荷を調整するための実行回数などを指定する再帰実行条件414を指定することもできる。
図5は、検査用プログラム構築部410がソフトウェア100を用いて検査用プログラム405を構築する手順を説明するフローチャートである。本フローチャートは図3のステップS301〜S304に相当する。検査用プログラム構築部410は初期化処理として論理式P=TRUEをあらかじめセットしておく(S500)。以下図5の各ステップについて説明する。
(図5:ステップS501、S508)
検査用プログラム構築部410は、初期値制約条件記述411、入力値列制約条件記述412、および検査条件記述415がそれぞれ矛盾なく記述されており、これらを充足する解が存在するか否かを判定する。充足解がなければステップS508に進み、いずれかの制約条件記述が不正である旨の判定結果(S302〜S304に相当)を出力して本フローチャートを終了する。充足解があればステップS502に進む。
(図5:ステップS502〜S503)
検査用プログラム構築部410は、初期値制約設定部407により論理式形式に変換された初期値制約条件記述411と論理式Pの初期値TRUEとの論理積をとる(S502)。検査用プログラム構築部410は、入力値列制約設定部408により論理式形式に変換された入力値列制約条件記述412と、ステップS502で更新した論理式Pとの論理積をとる(S503)。
(図5:ステップS504〜S505)
検査用プログラム構築部410は、再帰実行条件414を取得する(S504)。再帰実行条件414は、例えば入力値列の最終時点Tを指定する。検査用プログラム構築部410は、以下のステップS506を再帰実行した回数のカウンタtを初期化する(S505)。
(図5:ステップS506)
検査用プログラム構築部410は、ソフトウェア100に対して入力値列を順次入力して内部状態値と出力値を求め、これら値列(動的プログラム記述413に相当)と論理式Pとの論理積をとる。検査用プログラム構築部410は、この処理を最終時点Tに到るまで反復実行する。
(図5:ステップS507)
検査用プログラム構築部410は、検査条件設定部409により論理式形式に変換された検査条件記述415と、ステップS506で更新した論理式Pとの論理積をとる。この時点で得られた論理式Pを検査用プログラム405とする。プログラム検査装置406はこの検査用プログラム405を用いて実施形態1で説明した処理を実行する。
<実施の形態3>
本発明の実施形態3では、具体的な制約条件の記述例として、走行安定化機能ESC(Electronic Stability Control)とブレーキオーバーライド機能を同時に搭載した車両システムにおいて用いる車両走行制御プログラム602を検査対象とする例について説明する。各装置の構成は実施形態1〜2と同様であるため、以下では制約条件の具体例について主に説明する。
本実施形態3では、動摩擦係数が一時的に低下する道路状態にある走行路を走行中にアクセルおよびブレーキを同時に強く踏み込んでしまったとき、車両走行制御プログラム602がESCによるブレーキ制御よりも強く踏み込まれたブレーキを優先するような実装となっていることを検査する。
ESCは通常、理想的な走行路との接触状況から逸脱して車両状態が不安定化したとき一時的に起動される走行補助機能である。ESCによるブレーキ制御とブレーキそのものの制御とが適切に実装されていない場合、車両システムの操縦者が急ブレーキを意図してブレーキを強く踏み込むと、ブレーキ自体の制御機能とESCによる制御機能との間で出力競合を招いてしまい、適切な加減速度を一意に決められなくなる。このような不具合を避けるため、車両走行制御プログラム602はこれら機能に関する適切な優先処理を実装している必要がある。
ブレーキオーバーライド機能は、このような出力競合時に、ブレーキの優先度を強制する機能である。例えば、車両走行制御プログラム602が意図しない加速指令を設定してしまう状況においても、操縦者によるブレーキ踏み込みを通じた減速指令を優先する機能が挙げられる。
図6は、本実施形態3における動的プログラム601の構成を示す図である。図6に示す動的プログラム601は、検査対象とする車両走行制御プログラム602、およびシミュレーションモデルを援用する等して適当に設計した車両の動特性モデル603によって構成される。
車両走行制御プログラム602に対する入力値列は、アクセル踏み込み値、ブレーキ踏み込み値、ステアリング角度値を含む車両操作値入力値列604、車両走行制御プログラム602が車両システムから受け取る計測状態値入力値列605、車両システムの動特性が依存する動作環境状態値入力値列606である。動作環境状態値入力値列606の1例として、走行路の状態に依存する動摩擦係数が挙げられる。
車両走行制御プログラム602は出力値列として、加速度力量値、減速度力量値、旋回トルク値、ストップランプ値を含む車両制御値出力値列607を出力する。車両走行制御プログラム602は内部状態値として、動摩擦係数推定値、車両速度、車両姿勢角速度を用いる。
車両の動特性モデル603は入力値列として、動作環境状態値入力値列606、車両制御値出力値列607を用いる。動特性モデル603は出力値列として、計測状態値入力値列605を出力する。動特性モデル603は内部状態値として、車両加速度、車両姿勢角速度を用いる。
図7は、ブレーキオーバーライド機能を実装した車両走行制御プログラム602のソースコード例である。図7(a)は同機能を適切に実装していない例を示し、図7(b)は同機能を適切に修正した例を示す。
図7に示す例においては、姿勢不安定状態を判定する制約条件の例として、車両操作値入力値列604や計測状態値入力値列605を用いることを想定している。また急ブレーキ踏み込みを判定する制約条件の例として、車両操作値入力値列604の構成要素であるブレーキ踏み込み値を用いることを想定している。図7に示すソースコードは、これらの判定条件に相当する制約条件を用いて、BRAKE_ON、BRAKE_OFF、ESC_ON、ESC_OFF、FOLLOW_COMなどの適当な制御処理を選択し、車両制御値出力値列607である加速度力量値、減速度力量値、旋回トルク値、およびストップランプ値を出力する。
図7に示すソースコードを検査する場合、検査条件は、「急ブレーキ踏み込み時は必ずそのブレーキ踏み込み指令が優先される」となる。ソフトウェア検査装置400は、この制約条件に違反する不都合な挙動が存在するか否かを探索する。この制約条件に違反するプログラム(図7(a))は、車両が不安定化した時のESC起動を急ブレーキによるブレーキ制御よりも優先するように設計されているので、一時的に姿勢不安定化した時に踏み込まれた急ブレーキが有効に機能しない。ソフトウェア検査装置400は、このような不都合な挙動を検出する。
図8は、車両走行制御プログラム602の初期値制約条件の具体例である。本例においては初期値の値域に関する制約条件のみを記述している。
図9Aおよび図9Bは、車両走行制御プログラム602の入力値列制約条件の具体例である。前提条件の表現形式としては、前提条件の適用時点の制約や特定の条件付き制約条件を用いることができる。
動摩擦係数の制約条件として例えば、想定範囲とする動摩擦係数に関する拘束条件、動摩擦係数値の一次連続性に関する拘束条件、特定の期間中に動摩擦係数値が低下するという限定、などを用いることができる。
アクセル踏み込み値に関する制約条件として例えば、検査範囲とするアクセル踏み込み値の上下限制約、アクセル踏み込み値の一次連続性制約、アクセル踏み込み値の時系列値に関する制約、などを用いることができる。図9Aおよび図9Bに示す例においては、踏み込み値初期値よりも最終値が小さくなり、上下限制約と一次連続性制約の下で、最終値が指定値となることを想定し、その旨の制約条件を記述している。すなわち検査範囲は、これら制約条件を満たす範囲内に限定される。
図10は、車両走行制御プログラム602の検査条件の具体例である。1つ目の検査条件は、再帰実行条件414として取得した検査範囲の任意の時点において、(a)ブレーキの踏み込み条件を満たすという前提条件と、(b)ストップランプが点灯することに相当する拘束条件とによって構成されている。2つ目の検査条件は、再帰実行条件414として取得した検査範囲の任意の時点において、(a)ブレーキ踏み込み条件を満たすという前提条件と、(b)減速度力量値に関する指定の拘束条件とによって構成されている。
図11は、車両走行制御プログラム602の内部状態値、入力値列、および出力値列の演算例を示すタイムチャートである。このタイムチャートは、再帰実行条件414として取得した検査範囲の離散時間毎に、入力値列、内部状態値、出力値列を表示したものである。ここではソフトウェア検査装置400が検査条件に違反する旨の判定結果を出力するタイムチャート例を示している。
走行途中で動摩擦係数(VEC_mu)が急激に低下し、操縦者が急ブレーキ(DATA_IN_BRAKE_PEDAL)を踏みこんだ時点から、姿勢角速度計測値(DATA_IN_RATE_YAW)が大きく負の方向に振れてしまい、図7(a)記載のプログラムにおける姿勢不安定を判定する条件を満たしたと仮定する。これによりESC_ON状態になり、急ブレーキによる原則よりもESCによる姿勢安定化を目的としたブレーキ制御が優先されることとなる。すなわち図7(a)に示すプログラムによれば、ストップランプ(DATA_OUT_STOP_LAMP)を点灯させる分岐条件に到達することができず、検査条件に違反する。ESCモードがOFFになった時点から急ブレーキを有効にする制御を開始し、その後にストップランプはON状態に正しく移行している。
車両走行制御プログラム602の設計者は、図11に示す検査条件違反に基づき、図7(a)に示すプログラムにおける違反原因を読み取り、図7(b)に示す通り修正したプログラムを対象として再度検査を実行する。同様の検査条件違反が無くなった時点で、少なくとも、図8と図9で限定した範囲において、指定した検査条件に違反しないことを証明できたことになる。
<実施の形態4>
図12は、プログラム検査装置406の構成図である。プログラム検査装置406は、SAT問題を解くアルゴリズムを実装したソフトウェアであるSATソルバ4062、これを実行するCPU(Central Processing Unit)4061、検査用プログラム405や各制約条件記述を格納する記憶装置4063、データ入出力のためのインターフェース4064を備える。SATソルバ4062は必ずしもソフトウェアとして実装する必要はなく、同様のアルゴリズムを実装した回路デバイスなどのハードウェアによって構成することもできるし、SAT問題に特化した高速処理コンピュータなどの別デバイスとして構成することもできる。
本発明は上記した実施形態に限定されるものではなく、様々な変形例が含まれる。上記実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施形態の構成の一部を他の実施形態の構成に置き換えることもできる。また、ある実施形態の構成に他の実施形態の構成を加えることもできる。また、各実施形態の構成の一部について、他の構成を追加・削除・置換することもできる。
上記制御部、処理部、機能等は、それらの一部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記制御部、処理部、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD(Solid State Drive)等の記録装置、ICカード、SDカード、DVD等の記録媒体に格納することができる。
100:ソフトウェア、400:ソフトウェア検査装置、401:初期値制約条件、402:入力値列制約条件、403:検査条件、405:検査用プログラム、406:プログラム検査装置、407:初期値制約設定部、408:入力値列制約設定部、409:検査条件設定部、410:検査用プログラム構築部、411:初期値制約条件記述、412:入力値列制約条件記述、413:動的プログラム記述、414:再帰実行条件、415:検査条件記述。

Claims (12)

  1. 入力値にしたがって内部状態値を更新するとともに前記入力値に対応する出力値を出力する処理を実装した動的プログラムを検査するプログラム検査装置であって、
    指定した制約条件を充足することができる解を求めることにより前記動的プログラムの前記入力値、前記内部状態値、および前記出力値を検査するSATソルバを備え、
    前記SATソルバは、
    前記内部状態値を前記動的プログラムに保持させつつ入力値列内の入力値を前記動的プログラムに対して順次引き渡して実行することにより求められる前記動的プログラムの内部状態値列と出力値列を前記入力値列とともに記述した動的プログラム記述、
    前記入力値列が満たすべき検査条件、前記内部状態値列が満たすべき検査条件、および前記出力値列が満たすべき検査条件の少なくともいずれかを記述した検査条件記述、
    を前記制約条件として受け取り、前記制約条件に違反する前記入力値列、前記制約条件に違反する前記内部状態値列の初期値、および前記制約条件に違反する前記出力値列の少なくともいずれかが存在するか否かを前記解として探索し、前記解が存在しない場合はその旨の処理結果を出力し、前記解が存在する場合はその解に対応する前記入力値列、前記内部状態値列、および前記出力値列を出力する
    ことを特徴とするプログラム検査装置。
  2. 前記SATソルバは、前記制約条件としてさらに、
    前記内部状態値の初期値が満たすべき条件を記述した初期値制約条件記述、および
    前記動的プログラムに対して引き渡す前記入力値列が満たすべき条件を記述した入力値列制約条件記述、
    を受け取り、
    前記SATソルバは、
    前記検査条件を満たす前記解が存在しない場合は前記検査条件自体が適正でない旨の処理結果を出力し、
    前記初期値制約条件記述が記述する条件を満たす前記解が存在しない場合はその条件自体が適正でない旨の処理結果を出力し、
    前記入力値列制約条件記述が記述する条件を満たす前記解が存在しない場合はその条件自体が適正でない旨の処理結果を出力する
    ことを特徴とする請求項1記載のプログラム検査装置。
  3. 前記検査条件、および前記入力値列制約条件記述が記述している条件は、前記入力値列内の入力値毎に定義されている
    ことを特徴とする請求項2記載のプログラム検査装置。
  4. 請求項1記載のプログラム検査装置を用いて前記動的プログラムを検査するソフトウェア装置であって、
    前記内部状態値を前記動的プログラムに保持させつつ入力値列内の入力値を前記動的プログラムに対して順次引き渡して実行することにより前記内部状態値列と前記出力値列を求める検査用プログラム構築部、
    前記入力値列が満たすべき検査条件、前記内部状態値列が満たすべき検査条件、および前記出力値列が満たすべき検査条件の少なくともいずれかを受け取り、前記検査条件記述に変換する、検査条件設定部、
    を備え、
    前記検査用プログラム構築部は、求めた前記内部状態値列と前記出力値列を前記動的プログラム記述として前記プログラム検査装置に対して引き渡し、
    前記検査条件設定部は、前記変換した検査条件記述を前記プログラム検査装置に対して引き渡す
    ことを特徴とするソフトウェア検査装置。
  5. 請求項2記載のプログラム検査装置を用いて前記動的プログラムを検査するソフトウェア装置であって、
    前記内部状態値を前記動的プログラムに保持させつつ入力値列内の入力値を前記動的プログラムに対して順次引き渡して実行することにより前記内部状態値列と前記出力値列を求める検査用プログラム構築部、
    前記入力値列が満たすべき検査条件、前記内部状態値列が満たすべき検査条件、および前記出力値列が満たすべき検査条件の少なくともいずれかを受け取り、前記検査条件記述に変換する、検査条件設定部、
    前記内部状態値の初期値が満たすべき条件を受け取り、前記初期値制約条件記述に変換する、初期値制約設定部、
    前記動的プログラムに対して引き渡す前記入力値列が満たすべき条件を受け取り、前記入力値列制約条件記述に変換する、入力値列制約設定部、
    を備え、
    前記検査用プログラム構築部は、求めた前記内部状態値列と前記出力値列を前記動的プログラム記述として前記プログラム検査装置に対して引き渡し、
    前記検査条件設定部は、前記変換した検査条件記述を前記プログラム検査装置に対して引き渡し、
    前記初期値制約設定部は、前記変換した初期値制約条件記述を前記プログラム検査装置に対して引き渡し、
    前記入力値制約設定部は、前記変換した入力値列制約条件記述を前記プログラム検査装置に対して引き渡す
    ことを特徴とするソフトウェア検査装置。
  6. 前記検査条件設定部は、前記入力値列、前記内部状態値列、および前記出力値列のうち少なくともいずれかが満たすべき前提条件および拘束条件を、論理演算式の形式で前記検査条件記述として生成する
    ことを特徴とする請求項4記載のソフトウェア検査装置。
  7. 前記入力値制約設定部は、前記入力値列が満たすべき前提条件および拘束条件を、論理演算式の形式で前記入力値列制約条件記述として生成し、
    前記初期値制約設定部は、前記内部状態値の初期値が満たすべき前提条件および拘束条件を、論理演算式の形式で前記初期値制約条件記述として生成する
    ことを特徴とする請求項5記載のソフトウェア検査装置。
  8. 前記検査条件設定部は、ビット論理演算式の形式で前記検査条件記述を生成する
    ことを特徴とする請求項6記載のソフトウェア検査装置。
  9. 前記入力値制約設定部は、ビット論理演算式の形式で前記入力値列制約条件記述を生成し、
    前記初期値制約設定部は、ビット論理演算式の形式で前記初期値制約条件記述を生成する
    ことを特徴とする請求項7記載のソフトウェア検査装置。
  10. 指定した制約条件を充足することができる解を求めることにより、入力値にしたがって内部状態値を更新するとともに前記入力値に対応する出力値を出力する処理を実装した動的プログラムの前記入力値、前記内部状態値、および前記出力値を検査するSATソルバに対して入力する前記制約条件を記述したSAT制約条件データであって、
    前記内部状態値を前記動的プログラムに保持させつつ入力値列内の入力値を前記動的プログラムに対して順次引き渡して実行することにより求められる前記動的プログラムの内部状態値列と出力値列を前記入力値列とともに記述した動的プログラム記述、
    前記入力値列が満たすべき検査条件、前記内部状態値列が満たすべき検査条件、および前記出力値列が満たすべき検査条件の少なくともいずれかを記述した検査条件記述、
    を含み、
    前記検査条件記述は、前記入力値列、前記内部状態値列、および前記出力値列のうち少なくともいずれかが満たすべき前提条件および拘束条件を、論理演算式の形式で記述している
    ことを特徴とするSAT制約条件データ。
  11. 前記SAT制約条件データはさらに、
    前記内部状態値の初期値が満たすべき条件を記述した初期値制約条件記述、および
    前記動的プログラムに対して引き渡す前記入力値列が満たすべき条件を記述した入力値列制約条件記述、
    を含み、
    前記入力値列制約条件記述は、前記入力値列が満たすべき前提条件および拘束条件を、論理演算式の形式で記述しており、
    前記初期値制約条件記述は、前記内部状態値の初期値が満たすべき前提条件および拘束条件を、論理演算式の形式で記述している
    ことを特徴とする請求項10記載のSAT制約条件データ。
  12. 請求項10記載のSAT制約条件データを格納したことを特徴とする記憶媒体。
JP2014185326A 2014-09-11 2014-09-11 プログラム検査装置、ソフトウェア検査装置、sat制約条件データ、記憶媒体 Pending JP2016057969A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014185326A JP2016057969A (ja) 2014-09-11 2014-09-11 プログラム検査装置、ソフトウェア検査装置、sat制約条件データ、記憶媒体
PCT/JP2015/072980 WO2016039076A1 (ja) 2014-09-11 2015-08-17 プログラム検査装置、ソフトウェア検査装置、sat制約条件データ、記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014185326A JP2016057969A (ja) 2014-09-11 2014-09-11 プログラム検査装置、ソフトウェア検査装置、sat制約条件データ、記憶媒体

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2018221824A Division JP6584625B2 (ja) 2018-11-28 2018-11-28 プログラム検査装置、ソフトウェア検査装置、sat制約条件データ、記憶媒体

Publications (2)

Publication Number Publication Date
JP2016057969A true JP2016057969A (ja) 2016-04-21
JP2016057969A5 JP2016057969A5 (ja) 2017-03-30

Family

ID=55458834

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014185326A Pending JP2016057969A (ja) 2014-09-11 2014-09-11 プログラム検査装置、ソフトウェア検査装置、sat制約条件データ、記憶媒体

Country Status (2)

Country Link
JP (1) JP2016057969A (ja)
WO (1) WO2016039076A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017203660A1 (ja) * 2016-05-26 2017-11-30 株式会社日立製作所 データ処理装置、データ処理方法、及び自律システム
JP2018092374A (ja) * 2016-12-02 2018-06-14 株式会社日立製作所 テストケース生成装置、及びテストケース生成方法
WO2018173910A1 (ja) * 2017-03-24 2018-09-27 日立オートモティブシステムズ株式会社 車両制御装置
DE112017007271T5 (de) 2017-04-19 2019-12-05 Mitsubishi Electric Corporation Äquivalenzverifikationseinrichtung und Äquivalenzverifikationsprogramm
JP2020135171A (ja) * 2019-02-15 2020-08-31 株式会社日立製作所 機械学習プログラム検証装置および機械学習プログラム検証方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3511017A1 (en) 2010-09-27 2019-07-17 Siwa Corporation Selective removal of age-modified cells for treatment of atherosclerosis
CN107544284B (zh) * 2017-07-20 2020-11-27 同济大学 一种复合工况下汽车制动器摩擦噪声控制方法
CN111966579A (zh) * 2020-07-24 2020-11-20 复旦大学 基于自然语言处理与机器学习的自适应文本输入生成方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011052030A1 (ja) * 2009-10-26 2011-05-05 株式会社 東芝 事前条件生成装置
JP2013045269A (ja) * 2011-08-24 2013-03-04 Nec Corp モデル検査装置、モデル検査方法およびコンピュータプログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015111142A1 (ja) * 2014-01-22 2015-07-30 株式会社日立製作所 システム解析装置、設計不良解析装置、故障モード解析装置、故障ツリー解析装置、自律動作装置及び自律動作制御システム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011052030A1 (ja) * 2009-10-26 2011-05-05 株式会社 東芝 事前条件生成装置
JP2013045269A (ja) * 2011-08-24 2013-03-04 Nec Corp モデル検査装置、モデル検査方法およびコンピュータプログラム

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017203660A1 (ja) * 2016-05-26 2017-11-30 株式会社日立製作所 データ処理装置、データ処理方法、及び自律システム
JP2018092374A (ja) * 2016-12-02 2018-06-14 株式会社日立製作所 テストケース生成装置、及びテストケース生成方法
WO2018173910A1 (ja) * 2017-03-24 2018-09-27 日立オートモティブシステムズ株式会社 車両制御装置
US11372706B2 (en) 2017-03-24 2022-06-28 Hitachi Astemo, Ltd. Vehicle control device
DE112017007271T5 (de) 2017-04-19 2019-12-05 Mitsubishi Electric Corporation Äquivalenzverifikationseinrichtung und Äquivalenzverifikationsprogramm
JP2020135171A (ja) * 2019-02-15 2020-08-31 株式会社日立製作所 機械学習プログラム検証装置および機械学習プログラム検証方法
JP7059220B2 (ja) 2019-02-15 2022-04-25 株式会社日立製作所 機械学習プログラム検証装置および機械学習プログラム検証方法

Also Published As

Publication number Publication date
WO2016039076A1 (ja) 2016-03-17

Similar Documents

Publication Publication Date Title
WO2016039076A1 (ja) プログラム検査装置、ソフトウェア検査装置、sat制約条件データ、記憶媒体
US9208451B2 (en) Automatic identification of information useful for generation-based functional verification
US11270228B2 (en) Information processing method and information processing system
US8875064B2 (en) Automated design rule checking (DRC) test case generation
WO2016121074A1 (ja) ソフトウェア検査装置
Ramezani et al. Multiple objective functions for falsification of cyber-physical systems
US8881075B2 (en) Method for measuring assertion density in a system of verifying integrated circuit design
JP6723483B2 (ja) テストケース生成装置、テストケース生成方法およびテストケース生成プログラム
US20190146893A1 (en) Simulation device, simulation system, simulation method, and simulation program
JP6584625B2 (ja) プログラム検査装置、ソフトウェア検査装置、sat制約条件データ、記憶媒体
US9646252B2 (en) Template clauses based SAT techniques
US8903700B2 (en) Concretization of abstracted traces
JP2013254371A (ja) ソフトウェア開発支援装置、ソフトウェア開発支援方法及びソフトウェア開発支援プログラム
US8166444B2 (en) Clock gating using abstraction refinement
US8554522B2 (en) Detection of design redundancy
KR20210023722A (ko) 요구 사항에 대한 시스템의 테스트 방법
Abraham Verification and validation spanning models to code
US20110071809A1 (en) Model generation based on a constraint and an initial model
US8639490B2 (en) Concretization of abstracted traces
Dominka et al. Taming and optimizing feature interaction in software-intensive automotive systems
US7467366B2 (en) Method for generating a timing path software monitor for identifying a critical timing path in hardware devices coupled between components
US10810111B2 (en) Computer system, test method, and recording medium
Galarraga et al. Toward Linux-based safety-critical systems—Execution time variability analysis of Linux system calls
JP2022122773A (ja) 評価装置および評価方法
Fukano et al. Advanced electronic platform technologies supporting development of complicated vehicle control software

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170224

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170224

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170711

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170829

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180130

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180904