JP2001518662A - 自動化したコンピュータ・ソフトウェアの妥当性検査および検証 - Google Patents

自動化したコンピュータ・ソフトウェアの妥当性検査および検証

Info

Publication number
JP2001518662A
JP2001518662A JP2000514197A JP2000514197A JP2001518662A JP 2001518662 A JP2001518662 A JP 2001518662A JP 2000514197 A JP2000514197 A JP 2000514197A JP 2000514197 A JP2000514197 A JP 2000514197A JP 2001518662 A JP2001518662 A JP 2001518662A
Authority
JP
Japan
Prior art keywords
address
code
map
branch
software
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
JP2000514197A
Other languages
English (en)
Inventor
グーセン,エムレイ・アール
シーマ,デイビッド・ケイ
リピット,カール・イー
Original Assignee
ハネウエル・インコーポレーテッド
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 ハネウエル・インコーポレーテッド filed Critical ハネウエル・インコーポレーテッド
Publication of JP2001518662A publication Critical patent/JP2001518662A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • G06F11/3612Software analysis for verifying properties of programs by runtime analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3676Test management for coverage analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3696Methods or tools to render software testable

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

(57)【要約】 コンピュータ・ソフトウェアの妥当性検査および検証を自動化する方法および装置は、ソフトウェアの試験実行中に、コードの全てのラインが実行されたこと、およびソフトウェア中の全ての分岐が少なくとも一度は発生した、または一度も発生していないことを確認する。試験されるコンピュータ・ソフトウェアはコンパイルされ、リンク・マップが生成される。コードをコンパイルした後で、これを試験フィクスチャ中で実行し、全ての設計機能を試験する。この試験実行中に、コードのどのラインが実行されたか、また任意の分岐がいつ発生したかを記録する監視プロセスを実行する。どの命令分岐が発生し、どの命令分岐が発生しなかったかを示す2つのマップを生成する。次いで、最初に生成されたリンク・マップと、生成された2つの分岐マップとを比較して、コードのどのラインが実行されたかを決定し、各分岐が少なくとも一度は発生したかどうか、また分岐が発生しなかったかどうかを判定する。

Description

【発明の詳細な説明】
【0001】 (発明の分野) 本発明は、コンピュータ・ソフトウェアの妥当性検査および検証の自動化に関
する。
【0002】 (発明の背景) 従来は、航空機の操縦翼面は、操縦士と制御設備の間の直接の機械的接続を介
して制御されていた。この制御は、ケーブルおよびプーリによって、または様々
な油圧系統を介してもたらされる。現代の航空機は、ますますコンピュータ援用
システムを介して操縦されるようになっている。フライバイワイヤ式システムで
は、フット・ペダルやヨークなどの制御器具を操縦士が動かすと、この動きが電
気信号に変換され、その後この信号が、制御設備を動かす電気的アクチュエータ
に伝送される。運動を電気信号に変換するこれらのブラック・ボックスは、航空
機の安全にとって重要なソフトウェアを有する。
【0003】 こうした新しいコンピュータ・システムが航空機上で適切に動作することを保
証するために、連邦航空局(FAA)は、重要なシステム中で使用される全ての
ソフトウェアをFAA公認とすることを要求している。FAAの認証を得るため
に、ソフトウェアは、A、B、C、D、またはEの5つのレベルのうちの1つに
従って開発され、試験される。レベルDおよびEは、非常にわずかな分析しか必
要とせず、準拠していることを示すためにそれほど多くの分析を必要としない。
レベルCの認証はこれより若干難しくなる。この開発レベルでは、ソフトウェア
から要件および試験手続きをたどることができなければならず、試験結果はシス
テム要件と相関していなければならない。このレベルは、主にソフトウェアの開
発方法に関連するものである。
【0004】 レベルbeの認証では、システム中にデッド・コード(試験プロセス中に到達
不可能または実行不可能なコード)が存在しないことを示すことができるように
、ソフトウェアと実装のデモンストレーションが行われなけれならない。デッド
・コードの検査はソース・コードについて実行され、試験結果は、実行可能なコ
ードの各ソース・ラインに試験中に到達したことを示す必要がある。
【0005】 レベルAの認証はレベルBをベースとし、埋込型コンピュータ・システム中で
実行されるソフトウェアの経路範囲試験(path coverage testing)に追加要件 を課すものである。レベルBの試験では、あらゆるソース・ラインが実行され、
あらゆる論理経路が採用されたことを示すだけでよいが、レベルAの試験では、
オブジェクト・コード中のあらゆる機械命令が実行されることを証明しなければ
ならない。さらに、そのソフトウェアを介したあらゆる論理経路決定が試験中に
網羅的に行われたことも示さなければならない。
【0006】 レベルBの試験とレベルAの試験の差は、以下の例で最も明らかである。 001−IF(A.and.B).OR)(C.and.D)) 002−THEN set E to X 003−set E to Y
【0007】 レベルBの試験では、2つの結果、すなわち1)ライン001、002、およ
び003が実行されること、ならびに2)ライン001および003は実行され
たが、ライン002は実行されなかったことを示す必要がある。レベルAの試験
では、ライン001の条件を真または偽にする可能な組合せそれぞれを示す必要
がある。レベルBの試験は、ソース・コード・レベルで実行することができる。
レベルAは、機械コード・レベルで実行しなければならない。
【0008】 実行可能なコードの各ソース・ラインは、コンパイラおよびリンカによって1
つまたは複数の機械命令に翻訳されるので、各機械命令の条件付き分岐が少なく
とも一度分岐すること、および一度も分岐しないことを検証することができる実
行時ツールが、レベルAの認証試験を自動化する上で重要な役割を果たすことに
なる。
【0009】 現在は、レベルAの試験は、実行されたコードの各ラインを示すコンピュータ
・プログラムのテスト・ランの結果と、ソース・コードがコンパイルされた時点
で生成されたリンク・マップとを人間が比較することによって、航空機に重要な
コンピュータ・ソフトウェアに関して実行している。コードを分析する人間は、
最初に、コードのあらゆるラインが実行されたかどうか、また各分岐がある一点
で発生したかどうか、次いでそれが発生しなかったかどうかを判定しなければな
らない。個人またはグループがコンピュータ・コードを分析するのにかかる時間
の長さから、特に航空機システムがより大規模かつ高度になるときには、このプ
ロセスを自動化することには大きな利点がある。
【0010】 (発明の概要) 本発明は、コンピュータ・ソフトウェアを自動的に妥当性検査および検証する
方法および装置を開示するものである。試験するソフトウェアを、最初にソフト
ウェア・ライブラリから取り出し、ソース・コードからオブジェクト・コードに
コンパイルし、ソフトウェア・プログラム中のコードの全てのラインをリストす
るリンク・マップを生成する。次いで、オブジェクト・コードを、コンピュータ
・エレクトロニクス中に取り込む。試験フィクスチャ(test fixture)を用いて
、コンピュータ・エレクトロニクスを、それらが実行するように設計された全て
の機能について試験する。コンピュータ・エレクトロニクスの試験中には、オブ
ジェクト・コードの実行を監視する。この監視の主な目的は、実行されたオブジ
ェクト・コードのラインの履歴を与える2つの別個の命令アドレス・マップを作
成することである。
【0011】 第1のマップは、ソフトウェア・コードが分岐せず、連続したアドレスでコー
ドのラインを実行した場合の、ソフトウェア・プログラムについての全ての命令
アドレスを含む。第2のアドレス・マップは、分岐が発生し、プログラム中のそ
の他の場所にあるコードのラインがその後に実行されるコードのラインについて
の全ての命令アドレスを含む。
【0012】 第1および第2のマップが生成された後で、これらを最初に作成されたリンク
・マップと比較し、プログラム中のコードのあらゆるラインが実行されたかどう
かをまず最初に判定する。クラスAの試験では、次いで、プログラム中のあらゆ
る分岐が少なくとも一度発生したかどうかについて判定を行い、次いで一度も発
生しなかったかどうかについて判定を行う。これらの結果は、その後システムか
ら出力されるリポートに与えられる。
【0013】 (好ましい実施形態の説明) 図1に示すのは、ソフトウェア装置の妥当性検査および検証を自動化するため
のシステム構成を示すブロック図である。試験するソフトウェアは、最初はソー
ス・コードおよびソフトウェア・ライブラリ12に格納されている。このソース
・コードは、コンパイル・リンク装置14によってソース・コードおよびソフト
ウェア・ライブラリ12から取り出される。この装置は、ソース・コードをコン
パイルして、アビオニクス・プロセッサ16にオブジェクト・コードを出力し、
かつソフトウェア中のコードの全てのライン、およびソフトウェアの一部となる
全てのループについてのリンクのリストを提供するリンク・マップも生成する。
【0014】 アビオニクス・プロセッサ16は、航空機中に設置された、操縦桿および器具
上の操縦士の動きの変換を実現するブラック・ボックスであり、これらの動きを
、制御設備を動かす電子アクチュエータにその後与えられる電気信号に変換する
。当業者なら、この実施形態のアビオニクス・プロセッサを使用することは単な
る好ましい実施形態であり、本発明のシステムではコンピュータ・ソフトウェア
を利用した任意タイプのエレクトロニクスを試験することができることを理解す
るであろう。
【0015】 アビオニクス・プロセッサ16にオブジェクト・コードが取り込まれた後で、
試験サイト環境18は、このプロセッサをその全ての設計機能を介して動作させ
る。この試験の目的は、プロセッサが、想定されている全ての機能を実行できる
かどうかを判定することである。アビオニクス・プロセッサ16の試験中に、監
視装置20は、アビオニクス・プロセッサ中でのコードの各ラインの実行を追跡
し、2つのタイプの別個のアドレス・マップを生成する。一方のマップは分岐発
生アドレス・マップであり、もう一方のマップは分岐非発生アドレス・マップで
ある。これらのマップは、連続した命令を読み取るときに、オブジェクト・コー
ドのラインがプログラム中の他の場所で実行されたか、またはオブジェクト・コ
ードのラインが連続した順序で実行されたかのいずれかで実行された命令をリス
トするものである。監視装置の動作の詳細については、以下でより詳しく述べる
【0016】 次いで、分岐発生アドレス・マップおよび分岐非発生アドレス・マップが両方
とも分析装置22に伝送される。分析装置22も、コンパイル・リンク装置14
によって最初に生成されたリンク・マップを取り出し、また、分岐発生マップお
よび分岐非発生マップの両方を用いた詳細な比較プロセスを通じて、アビオニク
ス・プロセッサ中でオブジェクト・コードがどのように実行されたかについての
詳細な分析を提供する。
【0017】 本発明のシステムの目的は、連邦航空局(FAA)の規定の下で必要とされる
レベルAおよびレベルBのソフトウェアの試験を両方とも実施することである。
レベルBの認証では、システム中にデッド・コード(試験プロセス中に到達不可
能または実行不可能なコード)が存在しないことを示すことができるように、ソ
フトウェア実装のデモンストレーションを実施することが必要である。このデッ
ド・コードの検査はソース・コードについて実行され、試験結果は、実行可能な
コードの各ソース・ラインに試験中に到達したことを示す必要がある。
【0018】 レベルAの認証はレベルBをベースとし、埋込型システムで実行されるソフト
ウェアの経路範囲試験に追加要件を課すものである。レベルBの試験では、あら
ゆるソース・ラインが実行され、あらゆる論理経路が採用されたことを示すだけ
でよいが、レベルAの試験では、オブジェクト・コード中の各機械命令が実行さ
れることを証明しなければならない。さらに、ソフトウェアを介したあらゆる論
理経路決定が試験中に網羅的に行われたことも示さなければならない。これは、
次の命令に進むか、またはプログラム中のその他の場所に進むかについての決定
を必要とする命令を実行するときに、両選択肢がともに少なくとも一度は選択さ
れたことを示さなければならないことを意味する。図2は、監視装置20の動作
を説明する流れ図である。上述のように、監視装置は、分析装置22に与えられ
る分岐発生アドレス・マップおよび分岐非発生アドレス・マップを提供する。動
作中に、アビオニクス・プロセッサ16中でオブジェクト・コードが実行されて
いる間に、監視装置20は、ステップ40で、実行されているコードの各ライン
のアドレスを受信する。ステップ42でアドレスが受信された後で、この現在の
アドレスはメモリに記憶される。現在のアドレスは、アビオニクス・プロセッサ
16の動作が割り込まれた場合に使用される割込みアドレス・ハンドラにも記憶
され、監視装置は、その後アビオニクス・プロセッサが正常な動作を開始した後
で、同じ箇所から受信することができる。
【0019】 次いでステップ146で、割込み信号が受信されているかどうかについての問
合せを行う。受信されていない場合には、ステップ48で、実行された以前の命
令のアドレスをメモリから取り出す。次いでステップ50で、アドレスの比較を
行い、現在のアドレスが以前のアドレスより2を超えて大きいかどうかについて
質問する。答えが2より大きい場合には、アドレス命令が連続して実行されてい
ないこと、以前のアドレスが決定命令であったこと、および以前の命令アドレス
とは遠隔の命令が実行されたことを示す。
【0020】 現在のアドレスが以前のアドレスより2を超えて大きい場合には、ステップ5
6で、以前のアドレスについて分岐発生ビットがセットされ、次いで以前の命令
アドレスが分岐発生マップ中に置かれる。現在のアドレスが以前のアドレスより
2を超えて大きくない場合には、分岐が発生せず、命令が連続的に実行されたこ
とは明らかである。ステップ52で、以前のアドレスについて分岐非発生のビッ
トがセットされる。この時点で、命令アドレスは分岐非発生マップ中に置かれる
。ステップ60で、完成した分岐発生マップおよび分岐非発生マップが、分析装
置22に伝送される。
【0021】 図3は、分析装置22の動作を説明する流れ図である。
【図面の簡単な説明】
【図1】 コンピュータ・ソフトウェア・システムの自動化した妥当性検査および検証を
示すブロック図である。
【図2】 ソフトウェアの実行の監視を示す流れ図である。
【図3】 分岐発生アドレス・マップおよび分岐非発生アドレス・マップの、リンク・マ
ップとの比較を示す流れ図である。
【手続補正書】特許協力条約第34条補正の翻訳文提出書
【提出日】平成12年3月29日(2000.3.29)
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正内容】
【発明の名称】 自動化したコンピュータ・ソフトウェアの妥当性検査および検
【特許請求の範囲】
【発明の詳細な説明】
【0001】 (発明の分野) 本発明は、コンピュータ・ソフトウェアの妥当性検査および検証の自動化に関
する。
【0002】 (発明の背景) 従来は、航空機の操縦翼面は、操縦士と制御設備の間の直接の機械的接続を介
して制御されていた。この制御は、ケーブルおよびプーリによって、または様々
な油圧系統を介してもたらされる。現代の航空機は、ますますコンピュータ援用
システムを介して操縦されるようになっている。フライバイワイヤ式システムで
は、フット・ペダルやヨークなどの制御器具を操縦士が動かすと、この動きが電
気信号に変換され、その後この信号が、制御設備を動かす電気的アクチュエータ
に伝送される。運動を電気信号に変換するこれらのブラック・ボックスは、航空
機の安全にとって重要なソフトウェアを有する。
【0003】 こうした新しいコンピュータ・システムが航空機上で適切に動作することを保
証するために、連邦航空局(FAA)は、重要なシステム中で使用される全ての
ソフトウェアをFAA公認とすることを要求している。FAAの認証を得るため
に、ソフトウェアは、A、B、C、D、またはEの5つのレベルのうちの1つに
従って開発され、試験される。レベルDおよびEは、非常にわずかな分析しか必
要とせず、準拠していることを示すためにそれほど多くの分析を必要としない。
レベルCの認証はこれより若干難しくなる。この開発レベルでは、ソフトウェア
から要件および試験手続きをたどることができなければならず、試験結果はシス
テム要件と相関していなければならない。このレベルは、主にソフトウェアの開
発方法に関連するものである。
【0004】 レベルBの認証では、システム中にデッド・コード(試験プロセス中に到達不
可能または実行不可能なコード)が存在しないことを示すことができるように、
ソフトウェアと実装のデモンストレーションが行われなければならない。デッド
・コードの検査はソース・コードについて実行され、試験結果は、実行可能なコ
ードの各ソース・ラインに試験中に到達したことを示す必要がある。
【0005】 レベルAの認証はレベルBをベースとし、埋込型コンピュータ・システム中で
実行されるソフトウェアの経路範囲試験(path coverage testing)に追加要件 を課すものである。レベルBの試験では、あらゆるソース・ラインが実行され、
あらゆる論理経路が採用されたことを示すだけでよいが、レベルAの試験では、
オブジェクト・コード中のあらゆる機械命令が実行されることを証明しなければ
ならない。さらに、そのソフトウェアを介したあらゆる論理経路決定が試験中に
網羅的に行われたことも示さなければならない。
【0006】 レベルBの試験とレベルAの試験の差は、以下の例で最も明らかである。 001−IF(A.and.B).OR)(C.and.D)) 002−THEN set E to X 003−set E to Y
【0007】 レベルBの試験では、2つの結果、すなわち1)ライン001、002、およ
び003が実行されること、ならびに2)ライン001および003は実行され
たが、ライン002は実行されなかったことを示す必要がある。レベルAの試験
では、ライン001の条件を真または偽にする可能な組合せそれぞれを示す必要
がある。レベルBの試験は、ソース・コード・レベルで実行することができる。
レベルAは、機械コード・レベルで実行しなければならない。
【0008】 実行可能なコードの各ソース・ラインは、コンパイラおよびリンカによって1
つまたは複数の機械命令に翻訳されるので、各機械命令の条件付き分岐が少なく
とも一度分岐すること、および一度も分岐しないことを検証することができる実
行時ツールが、レベルAの認証試験を自動化する上で重要な役割を果たすことに
なる。
【0009】 現在は、レベルAの試験は、実行されたコードの各ラインを示すコンピュータ
・プログラムのテスト・ランの結果と、ソース・コードがコンパイルされた時点
で生成されたリンク・マップとを人間が比較することによって、航空機に重要な
コンピュータ・ソフトウェアに関して実行している。コードを分析する人間は、
最初に、コードのあらゆるラインが実行されたかどうか、また各分岐がある一点
で発生したかどうか、次いでそれが発生しなかったかどうかを判定しなければな
らない。個人またはグループがコンピュータ・コードを分析するのにかかる時間
の長さから、特に航空機システムがより大規模かつ高度になるときには、このプ
ロセスを自動化することには大きな利点がある。
【0010】 (発明の概要) 本発明は、コンピュータ・ソフトウェアを自動的に妥当性検査および検証する
方法および装置を開示するものである。試験するソフトウェアを、最初にソフト
ウェア・ライブラリから取り出し、ソース・コードからオブジェクト・コードに
コンパイルし、ソフトウェア・プログラム中のコードの全てのラインをリストす
るリンク・マップを生成する。次いで、オブジェクト・コードを、コンピュータ
・エレクトロニクス中に取り込む。試験フィクスチャ(test fixture)を用いて
、コンピュータ・エレクトロニクスを、それらが実行するように設計された全て
の機能について試験する。コンピュータ・エレクトロニクスの試験中には、オブ
ジェクト・コードの実行を監視する。この監視の主な目的は、実行されたオブジ
ェクト・コードのラインの履歴を提供する2つの別個の命令アドレス・マップを
作成することである。第1のマップは、ソフトウェア・コードが分岐せず、連続
したアドレスでコードのラインを実行した場合の、ソフトウェア・プログラムに
ついての全ての命令アドレスを含む。第2のアドレス・マップは、分岐が発生し
、プログラム中のその他の場所にあるコードのラインがその後に実行されるコー
ドのラインについての全ての命令アドレスを含む。
【0011】 第1および第2のマップが生成された後で、これらを最初に作成されたリンク
・マップと比較し、プログラム中のコードのあらゆるラインが実行されたかどう
かをまず最初に判定する。クラスAの試験では、次いで、プログラム中のあらゆ
る分岐が少なくとも一度発生したかどうかについて判定を行い、次いで一度も発
生しなかったかどうかについて判定を行う。これらの結果は、その後システムか
ら出力されるリポートに与えられる。
【0012】 (好ましい実施形態の説明) 図1に示すのは、ソフトウェア装置の妥当性検査および検証を自動化するため
のシステム構成を示すブロック図である。試験するソフトウェアは、最初はソー
ス・コードおよびソフトウェア・ライブラリ12に格納されている。このソース
・コードは、コンパイル・リンク装置14によってソース・コードおよびソフト
ウェア・ライブラリ12から取り出される。この装置は、ソース・コードをコン
パイルして、アビオニクス・プロセッサ16にオブジェクト・コードを出力し、
かつソフトウェア中のコードの全てのライン、およびソフトウェアの一部となる
全てのループについてのリンクのリストを提供するリンク・マップも生成する。
【0013】 アビオニクス・プロセッサ16は、航空機中に設置された、操縦桿および器具
上の操縦士の動きの変換を実現するブラック・ボックスであり、これらの動きを
、制御設備を動かす電子アクチュエータにその後与えられる電気信号に変換する
。当業者なら、この実施形態のアビオニクス・プロセッサを使用することは単な
る好ましい実施形態であり、本発明のシステムではコンピュータ・ソフトウェア
を利用した任意タイプのエレクトロニクスを試験することができることを理解す
るであろう。
【0014】 アビオニクス・プロセッサ16にオブジェクト・コードが取り込まれた後で、
試験サイト環境18は、このプロセッサをその全ての設計機能を介して動作させ
る。この試験の目的は、プロセッサが、想定されている全ての機能を実行できる
かどうかを判定することである。アビオニクス・プロセッサ16の試験中に、監
視装置20は、アビオニクス・プロセッサ中でのコードの各ラインの実行を追跡
し、2つのタイプの別個のアドレス・マップを生成する。一方のマップは分岐発
生アドレス・マップであり、もう一方のマップは分岐非発生アドレス・マップで
ある。これらのマップは、連続した命令を読み取るときに、オブジェクト・コー
ドのラインがプログラム中の他の場所で実行されたか、またはオブジェクト・コ
ードのラインが連続した順序で実行されたかのいずれかで実行された命令をリス
トするものである。監視装置の動作の詳細については、以下でより詳しく述べる
【0015】 次いで、分岐発生アドレス・マップおよび分岐非発生アドレス・マップが両方
とも分析装置22に伝送される。分析装置22も、コンパイル・リンク装置14
によって最初に生成されたリンク・マップを取り出し、また、分岐発生マップお
よび分岐非発生マップの両方を用いた詳細な比較プロセスを通じて、アビオニク
ス・プロセッサ中でオブジェクト・コードがどのように実行されたかについての
詳細な分析を提供する。
【0016】 本発明のシステムの目的は、連邦航空局(FAA)の規定の下で必要とされる
レベルAおよびレベルBのソフトウェアの試験を両方とも実施することである。
レベルBの認証では、システム中にデッド・コード(試験プロセス中に到達不可
能または実行不可能なコード)が存在しないことを示すことができるように、ソ
フトウェア実装のデモンストレーションを実施することが必要である。このデッ
ド・コードの検査はソース・コードについて実行され、試験結果は、実行可能な
コードの各ソース・ラインに試験中に到達したことを示す必要がある。
【0017】 レベルAの認証はレベルBをベースとし、埋込型システムで実行されるソフト
ウェアの経路範囲試験に追加要件を課すものである。レベルBの試験では、あら
ゆるソース・ラインが実行され、あらゆる論理経路が採用されたことを示すだけ
でよいが、レベルAの試験では、オブジェクト・コード中の各機械命令が実行さ
れることを証明しなければならない。さらに、ソフトウェアを介したあらゆる論
理経路決定が試験中に網羅的に行われたことも示さなければならない。これは、
次の命令に進むか、またはプログラム中のその他の場所に進むかについての決定
を必要とする命令を実行するときに、両選択肢がともに少なくとも一度は選択さ
れたことを示さなければならないことを意味する。図2は、監視装置20の動作
を説明する流れ図である。上述のように、監視装置は、分析装置22に与えられ
る分岐発生アドレス・マップおよび分岐非発生アドレス・マップを提供する。動
作中に、アビオニクス・プロセッサ16中でオブジェクト・コードが実行されて
いる間に、監視装置20は、ステップ46で、実行されているコードの各ライン
のアドレスを受信する。ステップ46でアドレスが受信された後で、この現在の
アドレスはステップ54でメモリに記憶される。現在のアドレスは、アビオニク
ス・プロセッサ16の動作が割り込まれたステップ40の場合に使用される割込
みアドレス・ハンドラにもステップ54およびステップ56で記憶され、監視装
置は、その後アビオニクス・プロセッサが正常な動作を開始した後で、ステップ
42およびステップ58にて同じ箇所から受信することができる。
【0018】 次いでステップ40で、割込み信号が受信されているかどうかについての問合
せを行う。受信されていない場合には、ステップ44で、実行された以前の命令
のアドレスをメモリから取り出す。次いでステップ48およびステップ49で、
アドレスの比較を行い、現在のアドレスが以前のアドレスより1を超えて大きい
かどうかについて質問する。答えが1より大きい場合には、アドレス命令が連続
して実行されていないこと、以前のアドレスが決定命令であったこと、および以
前の命令アドレスとは遠隔の命令が実行されたことを示す。
【0019】 ステップ50で現在のアドレスが以前のアドレスより1を超えて大きい場合に
は、ステップ56で、以前のアドレスについて分岐発生ビットがセットされ、次
いで以前の命令アドレスが分岐発生マップ中に置かれる。現在のアドレスが以前
のアドレスより1を超えて大きくない場合には、分岐が発生せず、命令が連続的
に実行されたことは明らかである。ステップ52で、以前のアドレスについて分
岐非発生のビットがセットされる。この時点で、命令アドレスは分岐非発生マッ
プ中に置かれる。この時点で、完成した分岐発生マップおよび分岐非発生マップ
が、分析装置22に伝送される。
【0020】 図4は、実行レコード・マップおよびリンク・マップの構造を示している。リ
ンク・マップは、1)プロセッサの機械コードを含むことができる、または2)
命令を表すニーモニックを含むことができるという、2つのかたちで構築するこ
とができる。その内容は、範囲分析装置22に、アビオニクス・プロセッサ16
が採用することができる潜在的な実行経路を提供する。実行レコード・マップは
、それぞれの命令のメモリ位置に関連づけられた単純な2フィールド・レコード
・テーブルである。分岐非発生フィールドおよび分岐発生フィールド中のデータ
は、監視装置20によって評価される真または偽の状態を表す。
【0021】 図3は、範囲分析装置22の動作を説明する流れ図である。範囲分析装置は、
実行レコード・マップの内容をコンパイルおよびリンク装置14によって生成さ
れたリンク・マップと突き合わせて比較することによって、実行レコード・マッ
プの後処理を実行する。アドレス0000から開始して、ステップ80で、リン
ク・マップ中の最初の命令を解釈する。次いでステップ81で、コードのこのラ
インが分岐命令であるかどうかについて問合せを行う。それが分岐命令でない場
合には、ステップ82で、このアドレスについて実行レコード・マップの分岐非
発生フィールドを調べる。この命令が見つかった場合(イエス)には、この命令
は試験中に実行されており、範囲分析プロセスはステップ80に戻り、リンク・
マップ中の次のアドレスが読み取られる。ステップ82で命令が見つからない場
合、これはその命令が実行されていないことを示し、これはソフトウェア中にデ
ッド・コードが存在するか、または試験中に欠陥が生じたことを意味する。ステ
ップ83で、この障害は試験範囲リポート26にロギングされ、プロセスはステ
ップ80に戻り、リンク・マップ中の次のアドレスが読み取られる。
【0022】 ステップ81で、コードのそのラインが分岐発生命令であると判定された場合
には、両方の実行レコード・フィールド(分岐発生フィールドおよび分岐非発生
フィールド)を調べなければならない。ステップ84で、分岐が発生したかどう
かについての問合せを行う。全ての分岐命令について、これを一度行わなければ
ならない。ステップ84の答えがイエスである場合には、ステップ88で、分岐
が発生しなかったかどうかについて、もう1つの問合せを行う。これも全ての分
岐命令について少なくとも一度は行わなければならない。ステップ88の答えが
イエスである場合には、プロセスはステップ80に戻り、リンク・マップ中の次
のアドレスが読み取られる。
【0023】 ステップ84で答えがノーである場合には、これは分岐命令が分岐を引き起こ
さなかったことを意味する。これはコード中に障害があることを示し、ステップ
85で、分岐命令のアドレスがロギングされる。ステップ86で命令をさらに分
析し、分岐非発生フィールドが真にセットされるかどうかを判定する。その答え
がノーである場合には、コード中に障害があり、ステップ87で、その命令のア
ドレスが試験範囲リポートにロギングされる。次いで、プロセスはステップ80
に戻り、リンク・マップ中の次のアドレスが読み取られる。ステップ86の答え
がイエスである場合には、これは分岐がその時点で一度も発生していないことを
意味する。次いで、プロセスはステップ80に戻り、リンク・マップ中の次のア
ドレスが読み取られる。
【0024】 ステップ88で、分岐発生フィールドが真であったが分岐非発生フィールドが
偽である場合には、この試験によって与えられた刺激のみが分岐を引き起こす条
件をもたらし、インライン・コードは実行されなかったことになる。その分岐の
みが実行されたことを示す障害は、ステップ89で、このアドレスについての試
験範囲リポートにロギングされる。次いで、プロセスはステップ80に戻り、リ
ンク・マップ中の次のアドレスが読み取られる。
【0025】 範囲分析はリンク・マップ全体について実行される。リンク・マップ中のあら
ゆるアドレスが生成された後で、試験範囲リポート26が生成される。このリポ
ートは、デッド・コードが存在するかどうか、また全ての分岐命令が適切に実行
されたかどうかを判定するために試験環境中で実行されたときのソフトウェアの
詳細な分析を提供することになる。
【図面の簡単な説明】
【図1】 コンピュータ・ソフトウェア・システムの自動化した妥当性検査および検証を
示すブロック図である。
【図2】 ソフトウェアの実行の監視を示す流れ図である。
【図3】 分岐発生アドレス・マップおよび分岐非発生アドレス・マップの、リンク・マ
ップとの比較を示す流れ図である。
【図4】 範囲分析装置によってリンク・マップと比較される、監視装置によって作成さ
れた実行レコード・マップを示す図である。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,SD,SZ,UG,ZW),EA(AM ,AZ,BY,KG,KZ,MD,RU,TJ,TM) ,AL,AM,AT,AU,AZ,BA,BB,BG, BR,BY,CA,CH,CN,CU,CZ,DE,D K,EE,ES,FI,GB,GE,GH,GM,HR ,HU,ID,IL,IS,JP,KE,KG,KP, KR,KZ,LC,LK,LR,LS,LT,LU,L V,MD,MG,MK,MN,MW,MX,NO,NZ ,PL,PT,RO,RU,SD,SE,SG,SI, SK,SL,TJ,TM,TR,TT,UA,UG,U Z,VN,YU,ZW (72)発明者 シーマ,デイビッド・ケイ アメリカ合衆国・52403・アイオワ州・サ ウス イースト シダー ラピッズ・イー ストランド ドライブ・341 (72)発明者 リピット,カール・イー アメリカ合衆国・39110・ミシシッピー 州・マディソン・デアフィールド ロー ド・27 Fターム(参考) 5B042 HH11 HH32 JJ01 JJ12

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 コンピュータ・ソフトウェアの妥当性検査および検証を自動
    化するための方法であって、 ソフトウェア・プログラムをソース・コードの形態で提供し、ソース・コード
    をオブジェクト・コードにコンパイルし、リンク・マップを生成するステップと
    、 ソフトウェア・プログラムの全ての機能が実行されるようなかたちでオブジェ
    クト・コードを実行するステップと、 オブジェクト・コードの実行を監視して、第1および第2のアドレス・マップ
    を生成するステップであって、第1のマップは、分岐が発生しない場合のソフト
    ウェア・プログラムの実行についての全ての命令アドレスを含み、第2のマップ
    は、分岐が発生する場合のソフトウェア・プログラムの実行についての全ての命
    令アドレスを含むステップと、 リンク・マップと第1および第2のアドレス・マップとを比較して、コードの
    全てのラインが実行されたかどうかを判定し、実行されなかったコードのライン
    を識別するステップと を含む方法。
  2. 【請求項2】 リンク・マップと第1および第2のアドレス・マップとを比
    較するステップが、特定の命令アドレスについて、分岐が発生したかどうか、ま
    た分岐が発生しなかったかどうかの両方を判定するステップをさらに含む請求項
    1に記載のコンピュータ・ソフトウェアの妥当性検査および検証を自動化する方
    法。
  3. 【請求項3】 実行中の現在の命令のアドレスと以前の命令のアドレスとを
    比較するステップと、現在の命令が以前のアドレスより2アドレスを超えて大き
    い場合に、以前のアドレスを第2の分岐マップ中に入れるステップと、現在のア
    ドレスが以前のアドレスより2以下だけ大きい場合に、以前のアドレスを第1の
    マップ中に入れるステップとをさらに含む請求項1に記載のコンピュータ・ソフ
    トウェアの妥当性検査および検証を自動化する方法。
  4. 【請求項4】 オブジェクト・コードの実行中に非同期割込みが補償される
    請求項1に記載のコンピュータ・ソフトウェアの妥当性検査および検証を自動化
    する方法。
  5. 【請求項5】 コンピュータ・ソフトウェアの妥当性検査および検証を自動
    化する装置であって、 ソフトウェア・プログラムをコンパイルし、リンク・マップを生成する手段と
    、 ソフトウェア・プログラムの機能が完全に実行されるようにソフトウェア・プ
    ログラムを実行する手段と、 ソフトウェア・プログラムの実行を監視し、第1および第2のアドレス・マッ
    プを生成する手段であって、第1のアドレス・マップは、分岐が発生しないとき
    のソフトウェア・プログラムの実行についての全ての命令アドレスを含み、第2
    のアドレス・マップは、分岐が発生するときのソフトウェア・プログラムの実行
    についての全ての命令アドレスを含む手段と、 リンクマップと第1および第2のアドレス・マップとを比較して、ソフトウェ
    ア・コード中のコードの全てのラインが実行されているかどうか、全ての分岐が
    コンピュータ・ソフトウェア中で少なくとも一度は発生しているかどうか、およ
    び全ての分岐が一度も発生していないかどうかを判定する手段と を含む装置。
  6. 【請求項6】 ソフトウェア・プログラムを実行する手段が試験フィクスチ
    ャである請求項1に記載のコンピュータ・ソフトウェアの妥当性検査および検証
    を自動化する装置。
  7. 【請求項7】 コード実行中に非同期割込みを補償する手段をさらに含む請
    求項5に記載のコンピュータ・ソフトウェアの妥当性検査および検証を自動化す
    る装置。
JP2000514197A 1997-09-29 1998-09-24 自動化したコンピュータ・ソフトウェアの妥当性検査および検証 Pending JP2001518662A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/939,419 1997-09-29
US08/939,419 US6071316A (en) 1997-09-29 1997-09-29 Automated validation and verification of computer software
PCT/US1998/020104 WO1999017199A1 (en) 1997-09-29 1998-09-24 Automated validation and verification of computer software

Publications (1)

Publication Number Publication Date
JP2001518662A true JP2001518662A (ja) 2001-10-16

Family

ID=25473156

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000514197A Pending JP2001518662A (ja) 1997-09-29 1998-09-24 自動化したコンピュータ・ソフトウェアの妥当性検査および検証

Country Status (11)

Country Link
US (1) US6071316A (ja)
EP (1) EP1019818B1 (ja)
JP (1) JP2001518662A (ja)
AU (1) AU747937B2 (ja)
CA (1) CA2304314A1 (ja)
DE (1) DE69810795T2 (ja)
DK (1) DK1019818T3 (ja)
IL (1) IL135263A (ja)
NO (1) NO319540B1 (ja)
NZ (1) NZ503595A (ja)
WO (1) WO1999017199A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101476536B1 (ko) * 2013-05-27 2014-12-24 (주)스마일게이트엔터테인먼트 프로그램 검수 방법 및 시스템

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6959431B1 (en) * 1999-05-13 2005-10-25 Compuware Corporation System and method to measure and report on effectiveness of software program testing
JP2000347900A (ja) * 1999-06-02 2000-12-15 Fujitsu Ltd 入力パラメータ生成装置、その方法及び記録媒体
AU778165B2 (en) * 1999-09-20 2004-11-18 Paul H. Harkins Real-time program audit software
US6775827B1 (en) 1999-09-20 2004-08-10 Harkins Audit Software, Inc. Real-time program audit software
US6961930B1 (en) * 1999-09-22 2005-11-01 Hewlett-Packard Development Company, L.P. Efficient, transparent and flexible latency sampling
US6546547B1 (en) * 1999-09-22 2003-04-08 Cisco Technology, Inc. Method and system for an automated net booting tool
US6748584B1 (en) * 1999-12-29 2004-06-08 Veritas Operating Corporation Method for determining the degree to which changed code has been exercised
US6804814B1 (en) 1999-12-29 2004-10-12 Veritas Operating Corporation Method for simulating back program execution from a traceback sequence
US6745383B1 (en) 1999-12-29 2004-06-01 Veritas Operating Corporation Early warning mechanism for enhancing enterprise availability
US6693558B2 (en) * 2001-06-18 2004-02-17 Innovative Solutions & Support, Inc. Aircraft flat panel display system
CA2704252C (en) * 2001-07-26 2011-09-27 Irise System and process for interacting with a user to define a behavior of a portion of an interactive presentation
US7127641B1 (en) * 2002-03-29 2006-10-24 Cypress Semiconductor Corp. System and method for software testing with extensible markup language and extensible stylesheet language
US7080358B2 (en) * 2002-04-10 2006-07-18 Sun Microsystems, Inc. Mechanism for generating an execution log and coverage data for a set of computer code
SE0202019D0 (sv) 2002-06-28 2002-06-28 Abb As Revalidation of a compiler for safety control
US7334219B2 (en) * 2002-09-30 2008-02-19 Ensco, Inc. Method and system for object level software testing
SE524639C2 (sv) * 2002-10-15 2004-09-07 Abb As Feldetektering i en industriell kontroller under säkerhetsrelaterad styrning
US7114150B2 (en) * 2003-02-13 2006-09-26 International Business Machines Corporation Apparatus and method for dynamic instrumenting of code to minimize system perturbation
EP1498813A3 (en) * 2003-03-06 2007-01-24 Microsoft Corporation Design time validation of systems
US20050028146A1 (en) * 2003-08-01 2005-02-03 Quick Shawn G. Systems and methods for software and firmware testing using checkpoint signatures
US7624394B1 (en) * 2003-11-18 2009-11-24 Adobe Systems Incorporation Software installation verification
US20070074180A1 (en) * 2003-12-22 2007-03-29 Nasa Hq's Systems, Methods and Apparatus for Procedure Development and Verification
FR2871907B1 (fr) * 2004-06-22 2006-09-08 Thales Sa Dispositif de controle de la couverture structurelle d'un logiciel et procede mettant en oeuvre le dispositif
US7589735B2 (en) * 2005-08-24 2009-09-15 Innovative Solutions & Support (Iss) Aircraft flat panel display system with graphical image integrity
US7724259B2 (en) * 2005-08-24 2010-05-25 Innovative Solutions And Support, Inc. Aircraft flat panel display system with improved information availability
US7725922B2 (en) * 2006-03-21 2010-05-25 Novell, Inc. System and method for using sandboxes in a managed shell
US7743414B2 (en) * 2006-05-26 2010-06-22 Novell, Inc. System and method for executing a permissions recorder analyzer
US20080005619A1 (en) * 2006-06-29 2008-01-03 Tamarah Arons Validation of software execution paths
US7805707B2 (en) * 2006-07-21 2010-09-28 Novell, Inc. System and method for preparing runtime checks
US7739735B2 (en) * 2006-07-26 2010-06-15 Novell, Inc. System and method for dynamic optimizations using security assertions
US7856654B2 (en) * 2006-08-11 2010-12-21 Novell, Inc. System and method for network permissions evaluation
US7823186B2 (en) * 2006-08-24 2010-10-26 Novell, Inc. System and method for applying security policies on multiple assembly caches
US7793267B2 (en) 2006-10-13 2010-09-07 International Business Machines Corporation Computer software test coverage analysis
US7895576B2 (en) * 2006-11-10 2011-02-22 International Business Machines Corporation Method for automating internationalization software testing
FR2916546A1 (fr) * 2007-05-24 2008-11-28 Airbus France Sa Procede de simulation d'un systeme embarque a bord d'un aeronef pour tester un logiciel de fonctionnement et dispositif pour la mise en oeuvre de ce procede
US8689194B1 (en) 2007-08-20 2014-04-01 The Mathworks, Inc. Optimization identification
FR2937437B1 (fr) * 2008-10-20 2011-09-16 Airbus France Procede de fonctionnement d'un equipement embarque, equipement associe et aeronef comprenant un tel equipement
DE102009014698A1 (de) * 2009-03-27 2010-10-07 Abb Ag System und Verfahren zur automatischen Prüfung eines Programms für sicherheitsgerichtete Automatisierungssysteme
US8515658B1 (en) * 2009-07-06 2013-08-20 The Boeing Company Managing navigational chart presentation
US8954870B2 (en) 2010-10-08 2015-02-10 Irise System and method for extending a visualization platform
US9396094B2 (en) 2011-07-21 2016-07-19 International Business Machines Corporation Software test automation systems and methods
US8881126B2 (en) * 2012-07-31 2014-11-04 Oracle International Corporation Systems and methods for testing a compiler through compile-time decision feedback
US8935674B2 (en) * 2012-08-15 2015-01-13 International Business Machines Corporation Determining correctness conditions for use in static analysis
KR102013582B1 (ko) * 2012-09-07 2019-08-23 삼성전자 주식회사 혼합 모드 프로그램의 소스 코드 오류 위치 검출 장치 및 방법
US9703959B2 (en) * 2014-08-07 2017-07-11 International Business Machines Corporation Dynamic verification of a computer software application execution path
US10042613B2 (en) * 2016-08-19 2018-08-07 International Business Machines Corporation System, method, and recording medium for validating computer documentation
US10127147B2 (en) * 2016-12-23 2018-11-13 Sap Se Automated software compliance analysis
US10628167B2 (en) 2018-02-21 2020-04-21 International Business Machines Corporation Runtime detection of code modification
US11307962B2 (en) 2018-07-09 2022-04-19 United States Of America As Represented By The Secretary Of The Navy Method for semantic preserving transform mutation discovery and vetting
US10613970B1 (en) * 2018-08-31 2020-04-07 Intuit Inc. Method and system for managing deployment of software application components based on software performance data
US11074160B2 (en) 2018-12-10 2021-07-27 International Business Machines Corporation Automated test script generator
US11138366B2 (en) 2019-02-25 2021-10-05 Allstate Insurance Company Systems and methods for automated code validation

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3577760D1 (de) * 1985-12-30 1990-06-21 Ibm Deutschland Verfahren und einrichtung zur analyse von steuerprogrammen.
US4831517A (en) * 1986-10-10 1989-05-16 International Business Machines Corporation Branch and return on address instruction and methods and apparatus for implementing same in a digital data processing system
US4819233A (en) * 1987-04-08 1989-04-04 Westinghouse Electric Corp. Verification of computer software
US4864569A (en) * 1987-11-25 1989-09-05 Westinghouse Electric Corp. Software verification and validation configuration management system
US5079731A (en) * 1989-10-17 1992-01-07 Alcon Laboratories, Inc. Method and apparatus for process control validation
US5263162A (en) * 1990-11-07 1993-11-16 Hewlett-Packard Company Method of validating a label translation configuration by parsing a real expression describing the translation configuration
US5432795A (en) * 1991-03-07 1995-07-11 Digital Equipment Corporation System for reporting errors of a translated program and using a boundry instruction bitmap to determine the corresponding instruction address in a source program
AU5550194A (en) * 1993-09-27 1995-04-18 Giga Operations Corporation Implementation of a selected instruction set cpu in programmable hardware
US5559718A (en) * 1994-04-28 1996-09-24 Cadence Design Systems, Inc. System and method for model-based verification of local design rules
EP0703532B1 (en) * 1994-09-22 2001-11-28 Sun Microsystems, Inc. Embedded program flow information for object code manipulation
US5748964A (en) * 1994-12-20 1998-05-05 Sun Microsystems, Inc. Bytecode program interpreter apparatus and method with pre-verification of data type restrictions
US5721863A (en) * 1996-01-29 1998-02-24 International Business Machines Corporation Method and structure for accessing semi-associative cache memory using multiple memories to store different components of the address
US5963739A (en) * 1996-04-26 1999-10-05 Peter V. Homeier Method for verifying the total correctness of a program with mutually recursive procedures
US5822607A (en) * 1997-06-09 1998-10-13 Integrated Device Technology, Inc. Method for fast validation checking for code and data segment descriptor loads

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101476536B1 (ko) * 2013-05-27 2014-12-24 (주)스마일게이트엔터테인먼트 프로그램 검수 방법 및 시스템

Also Published As

Publication number Publication date
WO1999017199A1 (en) 1999-04-08
NO20001481L (no) 2000-05-26
DE69810795D1 (de) 2003-02-20
DK1019818T3 (da) 2003-03-31
CA2304314A1 (en) 1999-04-08
IL135263A (en) 2004-03-28
AU9776698A (en) 1999-04-23
NO319540B1 (no) 2005-08-29
EP1019818B1 (en) 2003-01-15
US6071316A (en) 2000-06-06
AU747937B2 (en) 2002-05-30
NO20001481D0 (no) 2000-03-22
NZ503595A (en) 2002-10-25
EP1019818A1 (en) 2000-07-19
IL135263A0 (en) 2001-05-20
DE69810795T2 (de) 2003-09-18

Similar Documents

Publication Publication Date Title
JP2001518662A (ja) 自動化したコンピュータ・ソフトウェアの妥当性検査および検証
CN101802792B (zh) 用于测试航空器上的系统的操作软件的有效性的自动脚本生成方法及用于实现该方法的设备
US8464222B2 (en) Method, apparatus or software for identifying dependencies between components for a given build of a componentised product
US7275184B2 (en) Software verification method for control units and verification system
US11954015B2 (en) Software environment for control engine debug, test, calibration and tuning
Hartman Model based test generation tools
KR20100051080A (ko) 자동차 오작동의 진단을 위한 방법 및 시스템
Beine A model-based reference workflow for the development of safety-critical software
Beringer et al. Consistency Analysis of AUTOSAR Timing Requirements.
Gleirscher et al. Sound development of safety supervisors
Erkkinen et al. Verification, validation, and test with model-based design
Boehm et al. Using empirical testbeds to accelerate technology maturity and transition: the SCRover experience
Yasmine et al. Towards formal verification of autonomous driving supervisor functions
CN111752823A (zh) 一种车载电源应用软件的测试方法、装置及设备
Yang et al. An effective model-based development process using simulink/stateflow for automotive body control electronics
Blackburn et al. Interface-driven, model-based test automation
Britt Case study: Applying formal methods to the traffic alert and collision avoidance system (TCAS) II
Hallerstede et al. A Mechanized Semantics for Component-Based Systems in the HAMR AADL Runtime
Stockmann et al. Debugging Models in the Context of Automotive Software Development.
Heckel et al. Component integration testing by graph transformations
Stone et al. Improved modeling and validation of command sequences using a checkable sequence language
CN116521274A (zh) 业务运行结果确定方法及装置
Fatih et al. Improving the Continuous Integration Pro cess for the Vehicle Dynamics Software at VCC using Docker
Koch et al. Generating EAST-ADL event chains from scenario-based requirements specifications
Kum et al. Model-based automated validation techniques for automotive embedded systems