CppDepend
防衛 — 戦闘機

CppDependによるJSF++ AV(Joint Strike Fighter Air Vehicle)C++コーディング規格

CppDependがJSF Air Vehicle C++コーディング規格(JSF++)をどのように適用するか:ルール自動化、MISRA由来のチェック、安全重視のアビオニクスC++のアーキテクチャ制御。

CppDependが標準でサポートするもの。 CppDependには次の組み込みルールセットが付属: MISRA C/MISRA C++, CWE, CERT C/CERT C++ および AUTOSAR C++14 — 他の規格は含みません。この規格を含む他のすべての規格は、次を通じて適用されます: カスタムCQLinqルール チームが作成し(必要に応じて当社が支援)、さらにアーキテクチャ検証とCI品質ゲートを組み合わせます。

JSF++ AV (Joint Strike Fighter Air Vehicle Coding Standards、Lockheed Martin、2005)は、安全重視のアビオニクス向けの最も影響力のあるC++コーディング規格の1つです。F-35プログラム向けに書かれ、言語サブセット、例外処理、メモリ管理、テンプレート、決定性をカバーする221のルールを定義しています。MISRA C++:2008に大きな影響を与え、DO-178Cの下でC++を運用する防衛プログラムの参照規格であり続けています。

JSF++ AVルールの主要テーマ

  • 予測可能な動作: 未定義または実装定義の動作なし;厳格な初期化および型安全性ルール。
  • 決定論的なリソース使用: 動的メモリの厳密な管理 — 定義されたフェーズでのみ割り当て、リークなし、制限された使用。
  • 例外の規律: 例外は厳格なパターン下でのみ(または禁止)、制御フローを解析可能に保つため。
  • レビュー可能なコード: 複雑度、関数サイズ、結合度の制限により、コードが人間とツールで検証可能な状態を維持。

CppDependがJSF++スタイルの適用を自動化する方法

  • カスタムCQLinqルール: JSF++ AVルール(およびプログラムのテーラリング)を実行可能なクエリとして形式化 — 手動チェックリストは不要に。
  • MISRA C++組み込み: JSF++はMISRA C++:2008とDNAの大部分を共有 — 組み込みルールセットが共通コアを即座にカバーします。
  • アーキテクチャ制御: ミッションソフトウェア、プラットフォームサービス、ドライバー間のレイヤリングを適用します。
  • 品質ゲート: JSF++コンプライアンスをCIのマージブロッキング基準にし、レガシーコードのベースラインを設定します。
  • 監査の証拠: プログラムレビュー用のエクスポート可能なルール別コンプライアンスレポート。

関連業界と事例

関連コーディング規格

DO-178C · MISRA C++ · CERT C++ · IEC 61508

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

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