JSF++ AV (Joint Strike Fighter Air Vehicle) C++ Coding Standard with CppDepend
How CppDepend enforces the JSF Air Vehicle C++ coding standard (JSF++): rule automation, MISRA-derived checks, and architecture control for safety-critical avionics C++.
JSF++ AV (Joint Strike Fighter Air Vehicle Coding Standards, Lockheed Martin, 2005) is one of the most influential C++ coding standards for safety-critical avionics. Written for the F-35 program, it defines 221 rules covering language subsets, exception handling, memory management, templates and determinism. It heavily influenced MISRA C++:2008 and remains a reference for defense programs flying C++ under DO-178C.
Key JSF++ AV Rule Themes
Predictable behavior: no undefined or implementation-defined behavior; strict initialization and type-safety rules.
Deterministic resource use: tight control over dynamic memory — allocation only in defined phases, no leaks, bounded usage.
Exception discipline: exceptions only under strict patterns (or banned), so control flow stays analyzable.
Reviewable code: limits on complexity, function size and coupling so code remains verifiable by humans and tools.
How CppDepend Automates JSF++-Style Enforcement
Custom CQLinq rules: formalize JSF++ AV rules (and your program’s tailoring) as executable queries — no more manual checklists.
MISRA C++ built-in: JSF++ shares most of its DNA with MISRA C++:2008 — the built-in rule set covers the common core immediately.
Architecture control: enforce the layering between mission software, platform services and drivers.
Quality gates: make JSF++ compliance a merge-blocking criterion in CI, with baselines for legacy code.
Evidence for audits: exportable rule-by-rule compliance reports for program reviews.
Built-in vs. custom standards. CppDepend ships built-in rule sets for MISRA C/MISRA C++, CWE, CERT C/CERT C++ and AUTOSAR C++14. Functional-safety and industry standards like this one are enforced through custom CQLinq rules, architecture validation and quality gates defined by your team.