CppDepend
業界事例

信頼性の高いミッションクリティカルな航空宇宙ソフトウェアのためのCppDepend

認証可能なアビオニクス・防衛ソフトウェア:DO-178Cプログラムのためのアーキテクチャ管理、トレーサビリティ、長期ライフサイクル保守性。

チーム規模:100名以上コードベース:200万LOC規格: DO-178C, MISRA C/C++, JSF++ AV、CERT

CppDependが標準でサポートする規格は? 組み込みルールセットの対象 MISRA C/MISRA C++, CWE, CERT C/CERT C++ および AUTOSAR C++14 — 他の規格は対象外です。このページで言及されているその他の規格(ISO 26262、DO-178C、IEC 62304、IEC 61508、JSF++ AV、NIST SSDF、ASPICE…)への準拠は、次によって実施されます カスタムCQLinqルール プロジェクト用に作成され、さらにアーキテクチャ検証とCI品質ゲートを組み合わせます。

信頼性の高いミッションクリティカルな航空宇宙ソフトウェアのためのCppDepend

航空宇宙・防衛産業は、ソフトウェアの信頼性、安全性、コンプライアンスに関して高い基準を設けています。飛行制御システム、レーダーソフトウェア、航法モジュール、アビオニクスなど、リスクは極めて高く、障害は許容されません。だからこそ、コード品質、保守性、トレーサビリティを開発プロセスのあらゆる部分に組み込む必要があります。

CppDependは、CおよびC++で書かれた大規模な安全性重視のコードベース全体で、コード品質とアーキテクチャの整合性を確保する力を航空宇宙ソフトウェアチームに提供します。

主要規格とガイドライン

  • DO-178C:航空宇宙で最も重要な安全規格であり、ソフトウェア開発における徹底した検証、トレーサビリティ、厳密さを要求します。
  • MISRA C / MISRA C++:特に組み込みアビオニクスシステムで、安全で予測可能なコードを確保するために広く採用されています。
  • JSF++ AV:統合打撃戦闘機プログラム向けに開発されたC++のサブセットで、安全性と保守性に重点を置いています。
  • CERT C/C++:ミッションクリティカルなシステムで脆弱性や未定義動作を回避するために使用されます。

CppDependは、完全にカスタマイズ可能なルールセット、依存関係管理、アーキテクチャ検証を通じて、これらの規格の実装をチームに可能にします。

航空宇宙ソフトウェア開発の課題

  • 長寿命の大規模レガシーコードベース
  • 厳格な認証およびトレーサビリティ要件
  • 厳しいモジュール性要件を持つ複雑なアーキテクチャ
  • 10〜20年にわたりコードを保守するプレッシャー
  • 未定義動作に対するセキュリティと堅牢性の確保

CppDependが航空宇宙ソフトウェアチームをサポートする方法

  • トレーサビリティ:豊富な差分・トレンド分析でコードの経時変化を追跡します。
  • アーキテクチャ適用:厳格なコンポーネント境界を定義・適用し、結合度を下げてモジュール性を維持します。
  • ルールのカスタマイズ:保守性メトリクス、カスタムクエリ、ダッシュボードを通じてDO-178Cサポートを実装します。
  • 監査準備:内部・外部レビュー向けの詳細なレポートとダッシュボードを生成します。
  • セキュリティ:脆弱性につながる可能性のある危険なコーディングパターンや依存関係を検出します。

航空宇宙・防衛でCppDependを使用しているのは?

CppDependは、安全性、セキュリティ、長期保守が重要となる防衛請負企業、アビオニクス企業、航空宇宙R&D部門で使用されています。コードアーキテクチャのモデル化、カスタムポリシーの適用、深い洞察の提供能力により、レガシープロジェクトと新システム開発の両方に適しています。

航空宇宙チームへのメリット

  • クリーンで構造化されたコードを維持することで再認証コストを削減
  • 明確な依存関係グラフで長期保守を実現可能に
  • システムの信頼性を損なう可能性のあるアーキテクチャドリフトを早期に検出
  • トレンド追跡と技術的負債の見積もりによる継続的改善を可能に

事例紹介:航空宇宙ソフトウェア開発におけるDO-178Cの遵守とアーキテクチャ管理

課題。 大手航空宇宙技術企業が次世代アビオニクス向け組み込みソフトウェアを開発していました。そのソフトウェアは航空システムの最高保証レベルであるDO-178CレベルA安全規格と厳格な社内コーディング…

結果。 DO-178Cサポート:CppDependはコーディング規格、制御フロー複雑性、アーキテクチャ構造の検証を自動化することで、目的A-5(設計)、A-6(実装)、A-7(コード規格)の達成を支援しました。

事例の全文を読む

CppDependがコードベースで何を明らかにするかをご覧ください

独自のプロジェクトで解析を実行:コーディング規格、アーキテクチャ検証、技術的負債、品質ゲート — 数分で。