静的/カバレッジ解析、単体テスト、要件トレーサビリティ

 
 
 

国際スタンダード認証に最も実績のあるLDRA社テストツールは、ソフトウエア開発ライフサイクルの全般にわたって検証作業の自動化を支援します。FAA(連邦航空局)のDO-178スタンダード認証に初めて採用されたツールであり、その後、200以上のプロジェクトに採用されました。それらの多くは、最も高い安全性が要求される Level A 対象システムです。そして、TÜV等の認証機関によるツール認定はもとより、DO-178の要件を満たすツール認定キットも提供しています。また MISRA の議長を輩出するなど、各種スタンダード委員会にも貢献し、最高峰の検証ツールとして他に類を見ない進化を続けています。

オートモーティブ・ソフトウェア・フロンティア 2024

制御結合とデータ結合の解析について

 
モジュール化により高品質なソフトウェアを実現するには、コードコンポーネントであるモジュールが期待どおりに相互作用することが必須だ。実際、DO-178C(民間航空機搭載ソフトウェアの開発ガイドライン)では、「要件ベースのテストがコードコンポーネント間のデータと制御結合を実行したことを確認するための解析」 を要求する。 また、ISO 26262等の機能安全規格では、最悪ケース実行時間(WCET)などのタイミング性能の検証を要求するが、欠陥のある結合などソフトウェアの問題は、遅延や実行時間の変動を引き起こす可能性があり、特にマルチコアシステムにおいては注意が必要だ。本講演では、制御結合とデータ結合の解析をどのように達成できるかについて説明し、次世代戦闘機共同開発やアルテミス計画等で採用される、一歩進んだ検証ツールを使用して、そのプロセスをどのように効率化できるかについての概要を紹介する。

 
 

Jay Thomas LDRA Technology
講演動画(日本語字幕付き)を公開

自動車機能安全カンファレンス 2023

MISRA C – 25 years of success (MISRA C - 25 年間の成功と将来)

 
MISRA C は1998年の初版発行以来、自動車業界だけでなく高信頼ソフトウェア業界からも多くの支持を集め、改訂を重ねてきた。また、MISRA C++:2008 はセーフティクリティカルなアプリケーションでの C++ の採用を促進することになった。今年、誕生25周年を節目にMISRA C:2023 が4月に発行され、10月にはMISRA C++ の改訂版を公開予定である。本講演ではMISRA C ワーキンググループ議長の立場から、MISRA C:2023 に導入された変更の概要や、将来のロードマップ(セキュアコーディング、自動生成コード、標準ライブラリなど)について説明する。


MISRA Cワーキンググループ議長
Andrew Banks LDRA Technology

講演動画(日本語字幕付き)を公開

LDRA tool suite®

LDRA ツールスイートは、LDRA の主力プラットフォームであり、要件トレーサビリティ、テスト管理、コーディング規約への準拠、コード品質レビュー、コード カバレッジ分析、データ フローおよび制御フロー分析、ユニット/統合/ターゲット テスト、認証および規制サポートなど、一連の機能を提供します。これにより、安全性とセキュリティが重要なソフトウェア開発チームは、以下の厳格な基準に従って認証または承認を取得できます。
 
航空宇宙および防衛 (DO-178B/C、DO-254、DO-278、Def Stan 00-56)
自動車 (ISO 26262、ISO/SAE 21434、自動車 SPICE)
産業およびエネルギー (IEC 61508、IEC 62443-4-1、IEC 60880、ISO 13849)
医療(IEC 62304)
鉄道輸送 (EN 50128)

 
 

静的解析とカバレッジ解析 TBvision®

コーディング規約チェック、複雑度解析、コード品質の尺度(可読性、保守性、テスト容易性)、データフローとコントロールフローカップリング、カバレッジ解析等を自動化して、結果を視覚的にレポートします。LDRA社独自の構文解析エンジンを持ち、スタンダードの新しい要求にも素早く対応しています。

静的解析:

複雑度解析、データ・コントロールフロー解析、
独自の解析エンジンで多くのコーディング規約をサポート(多くのツールはサードパーティ製の解析エンジンに依存しています)
MISRA C:2023, MISRA C:2012 (including the Amendments), MISRA C++:2008, MISRA AC, MISRA-C:2004, MISRA C:1998, AUTOSAR C++, CERT C, CERT C++, CERT J, CWE, IPA/SEC ESCR, SEC C, SEC C++, HIS, DERA, JPL safety critical C, GJB Chinese Military standard, the Embedded C Coding standard, JSF++ AV standard, High-Integrity C++ Coding Standard, LM Train Control Program (LMTCP), HIC++, HIC++v4

カバレッジ解析:

ステートメント、ブランチ、MC/DC、LCSAJパス、関数コール、データフロー、オブジェクトコード
 

単体テストの自動化 TBrun®

静的解析時に行われるシステムワイドなコントロールフローとデータフローの解析情報から、ユニットのインターフェイス、パラメータ、グローバル(入出力)、戻り値、変数タイプとその用法、プロシジャーコールなどの詳細を抽出して、単体テストの実行に必要なドライバー、スタブ、ラッパーコード等を自動生成します。これにより多くの解析作業から開放され、リグレッションテストの作業なども軽減されて、高い能力の技術者はモデリングやアーキテクチャ設計に専念することができます。また大規模なレガシーシステムへの単体テストを現実的な選択肢にします。
 

TBmisra MISRA等コーディング規約のチェック

TBmisra は静的解析機能のオプションで、MISRA C/C++ ガイドラインに準拠するためのソースコードチェックを自動化します。TBmisraはMISRAに加えて、様々なコーディング規約をサポートしています。
 

  • AUTOSAR C++ 17, 18, 19、DERA、HIC++, HIC++v4、JSF++ AV、MISRA-AC、MISRA C 1998, 2004, 2012, 2023、MISRA C++ 2008、IPA/SEC ESCRIPA/SEC ESCR C++ Ver. 2.0

 
  MISRA のルール(大まかな)をより詳細で簡潔な定義に分類するので非常に役立ちました

 

TBsecure CERT、CWE等セキュアコーディング

TBsecureは静的解析機能のオプションで、SEIのCERT C/C++ 等のセキュリティガイドラインに準拠するためのソースコードチェックを自動化します。TBsecure には、セキュリティに重点を置いたいくつかのコーディング規約が含まれています。 
 

  • CERT-C 2008、2014、2016、CERT-C++ 2014、2016、CERT-J、CWESEC-Cv1、SEC-Cv2、SEC-Cv3、SEC-C++v2 
 

TBhis HISソースコードメトリック

TBhisは静的解析機能のオプションで、HIS ソースコードメトリックに準拠するためのチェックを自動化します。HIS(Hersteller Initiative Software)は、Audi AG、BMW AG、Daimler AG、Porsche AG、およびVolkswagen AG から構成される委員会です。HIS の言語サブセットはMISRAに取って代わられましたが、今日でも一般的に使用されています。

 

TBexclude MISRA等への逸脱処理を支援

TBexcludeは静的解析機能のオプションで、プログラミングルールの違反への注釈付けや除外をMISRAの逸脱処理に互換して支援します。システム、ファイル、関数、名前スコープなどの指定が可能であり、1クリックでグループ単位での除外も行えます。
 

TBsafe MC/DC、インフォメーションフロー解析

TBsafeはLDRAツールスイートのオプションで、機能安全規格の最高レベルの保証に準拠するために必要となるMC/DCカバレッジ解析やインフォメーションフロー解析機能が追加されます。
 

 

 
 
MC/DCテストケースプランナーに結果を反映

DDFC 動的データフローカバレッジ

DDFC(Dynamic Data Flow Coverage)はLDRAツールスイートのオプションで、動的データフローカバレッジ解析機能が追加されます。実行中のソフトウェアの制御フローを分析し、実行時にどの変数が使用されたかをレポートします。DDFC は、機能安全規格で求められる完全なデータと制御結合を含むソフトウェア構造のカバレッジに対応しています。

TBextreme テストベクタの自動生成

TBextremeはLDRAツールスイートのTBrun単体テストツールのオプションで、テストベクタ(入力値と期待値)を自動生成します。主に以下の用途に活用されます。
 

  • 迅速かつ効率的に構造化カバレッジを最大化
  • リファクタリング時に変更前後で挙動が変わっていないことを確認
  • 堅牢性テスト
  • テストケースのテンプレートとして使用

TBwcet 最悪実行時間(WCET)測定

TBwcetはTBrun 単体テストツールのオプションで、最悪実行時間 (WCET) の測定を自動化します。これによりTBrun は指定されたテストを繰り返し実行して、実行時間の変動をグラフィカルに表示します。ユーザーは好みのハードウェアストレスユーティリティ (stress-ng [18] など) を選択して、ターゲットプロセッサ上のさまざまな共有リソースに、さまざまな程度の負荷をかけることができます。これはマルチコア プロセッサ (MCP) が搭載されるシステムの、適切なリソースと干渉の緩和の証拠を提供する唯一の方法です。

TBobjectbox オブジェクトコードカバレッジ

TBobjectbox はLDRA ツール スイートのオプションで、ソースコードからオブジェクトコードへのトレーサビリティおよびオブジェクトコードカバレッジ分析を含む、完全なオブジェクトコード検証 (OCV)ソリューションを提供します。OCV は、 「コンパイラ、リンカ、またはその他の手段がソースコードを直接追跡できない追加コードを生成する」場合に、オブジェクトコードの有効性を証明するために利用できる最も自動化された完全なメカニズムを提供します。このような保証は、DO-178/Cの(DAL) A または ECSS-E-ST-40C ソフトウェア重要度カテゴリ A に準拠するシステムにとって不可欠です。 
 
"LDRAの out of boxなソリューションを LMCO と JSFプロジェクトのサブコントラクターが活用できるようになった" - Mike Cottrill, シニアエンベッデッドソフトウエアエンジニア、 JSF SW Collaborative Environments, ロッキードマーチン

 
 

以下の動画では、単体テストツールで、ソースコードレベルで実行されたのと同じテストを、オブジェクトコードレベルにも適用する、現実的なソリューションを紹介しています。
 

TLP あらゆるターゲットをサポート

TLP(Target Licence Package)はLDRA ツール スイートのオプションです。航空業界のDO-178B/Cスタンダードで採用される、独自のインスツルメンテーション手法で、あらゆるコンパイラ、デバッガ、ターゲット実行環境をサポートします。サポート実績は、こちらのページ を参考ください。
 
 HighTec社コンパイラとロータバッハ社デバッガの統合例

 

TQSP ツール認定パッケージ

LDRA社ツールスイートは、ISO 26262やIEC 61508などでTÜVのツール事前認定を取得済みですが、TQSP(Tool Qualification Support Pack)オプションは、DO-178などで求められるプロジェクト固有のツール認定の時間と労力を大幅に削減します。プログラミング標準チェック、構造カバレッジ解析、データと制御の結合、単体テスト機能向けに提供されます。
 
LDRA 社のDO-178 ツール認定サポートパック(Tool Qualification Support Pack)は、80 の異なる組織の 250 以上の DO-178 認証に活用されています。これらの数字には、すべての DO-178 準拠アプリケーションの中で最も重要な 85 を超える DAL A 認証が含まれています。
 
 ツール事前認定の課題 LinkIcon

 
 

要件トレーサビリティ管理 TBmanager®

国際スタンダード認証には、開発ライフサイクル全体にわたる計画的な作業と、それを証明する文書や成果物が求められます。その中でもコードレベルの検証は項目も多く、工数全体の50~80%を占めると言われています。そのような中、要件トレーサビリティの管理は一層複雑になり、開発者の大きな負担となっています。TBmanagerはLDRAの各種機能とのシームレスな統合により、検証結果のトレーサビリティ管理作業の効率を飛躍的に改善します。また国際スタンダードで要求されるオブジェクティブ(達成すべき課題)に成果物を関連付けて、計画的な作業を管理する標準的な環境も提供します。

 
 
objectives.jpg 各種スタンダードごとに用意される Objectives file_objectives.jpg Objectives に各種ドキュメントをマップ user.jpg 担当者を要件に割り当て mapsourcefiles.jpg 要件にソースファイルをマップ vg.jpg 検証グループとタスク verify.jpg LDRA テストツールを直接起動・実行 objectives_codereview.jpg 検証結果と Objectives

各種スタンダードのオブジェクティブをテンプレートで割り当て

TBmanagerには、IEC 61508, IEC 62304, ISO 26262, EN 50128, DO-178 などスタンダードごとの課題(objectives)のテンプレートが用意されており、この各課題に対して要件やテスト成果物、プロジェクトのドキュメントをドラッグ/ドロップで設定して、進捗を監視・管理することができます。

要件とテストのトレーサビリティプロセスを管理

TBmanagerを経由してLDRAツールスイートのテストを実行することで、検証の成果物(コードレビュー、クオリティレビュー、単体テスト、コードカバレッジ)は、実行された環境や担当者の下、要件や課題(objectives)にリンク(紐付け)され、認証機関へ提出可能なエビデンスが生成されます。

プロジェクトを通じて各種ドキュメントを参照

TBmanagerは外部ドキュメントやファイルのリポジトリを保持して、検証結果やトレーサビリティの列挙、管理を支援します。すべての外部ドキュメントは各スタンダードの課題(objectives)、要件、テストとリンクされ、TBmanagerプロジェクト全体で、テストまたは課題履行の証拠として担当者に活用されます。

ドキュメントのプレースホルダ―として

情報共有を支援するために、TBmanagerでは望まれる結果とプロセスの成果物を定義するドキュメントのプレースホルダを作成することができます。プロジェクトマネージャによって定義され、サブプロジェクトやユーザーのワークスペースの詳細情報と共に表示されてチームメンバーとの連携を強化します。ユーザーは所望の結果や成果物を割り当てて、他のユーザーやプロジェクトマネージャに共有することができます。

TBvision を介してテスト結果の解析作業を支援

TBvisionの強力なレポート機能を使用して、TBmanager上でコードレビュー、コード•カバレッジ、コードメトリックス等を直接表示することができます。テストの結果はシステムの全体表示に加えて、特定のテスト対象にフィルタリングして可視化することもできます。

TBmanager Interface Package (TIP)

TIP は、TBmanager と各種要件管理ツールとの統合を提供します。対応済みリストにない場合は、お問い合わせください。

お問い合わせ

購入前の製品説明・資料請求・見積依頼・デモ依頼など

 メールでお問い合わせください 
 

購入後の製品の技術サポートに関するお問い合わせ

 技術的なお問い合わせは、ヘルプデスクまでメールでお問い合わせください