Skip to main content
Perforce QAC static analysis and Razorcat TESSY dynamic testing in a shift-left CI/CD pipeline for MISRA and IEC 62304 medical-device software, available in India from GSAS Micro Systems

Shift-Left for Safety-Critical Code: Perforce QAC Static Analysis + Razorcat TESSY Dynamic Testing for MISRA, IEC 62304 and FDA Compliance in India

GSAS Engineering · · 11 min read

The Cheapest Defect Is the One You Catch First

In safety-critical and medical-device software, a defect found during a clinical audit costs orders of magnitude more than the same defect found on the developer’s keyboard. That economic reality is the entire argument for shift-left: push verification as early in the development lifecycle as it can go.

For embedded teams in Bengaluru, Hyderabad, Chennai, Pune, Mumbai and Delhi NCR building MISRA-compliant C/C++ for IEC 62304 medical devices and FDA submissions, the most effective shift-left toolchain is two purpose-built tools used in the right order:

  1. Perforce QAC: static analysis and MISRA enforcement, run first, so the codebase is significantly cleaner before a single test executes.
  2. Razorcat TESSY: dynamic analysis, unit testing and code coverage (statement, branch, MC/DC), run after, on code that is already clean.

GSAS Micro Systems is the authorized engineering partner in India for both Perforce and Razorcat, so the complete static-plus-dynamic toolchain comes from a single relationship, with local engineering, INR invoicing and one support channel.

This guide explains why the order matters, what each tool proves, and how the combined evidence package maps to MISRA, IEC 62304 and FDA expectations.

Why Static Analysis Goes First

Static analysis examines source code without executing it. It reasons about all possible execution paths, not just the ones a test case happens to exercise. That makes it the natural first gate:

  • It enforces a coding standard (MISRA C, MISRA C++, AUTOSAR C++14, CERT, CWE) across the entire codebase on every commit.
  • It finds defect classes, undefined and implementation-defined behaviour, dataflow anomalies, dangerous constructs, that no single test input would reveal.
  • It removes a large fraction of latent issues before dynamic testing, so unit testing is spent confirming behaviour rather than tripping over avoidable coding-standard violations.

Run dynamic testing first, and you waste expensive test cycles on code that static analysis would have flagged in seconds. Run static analysis first, and dynamic testing becomes faster, cleaner and more focused, the essence of shift-left.

Why Perforce QAC for the Static Stage

Perforce QAC (formerly PRQA) is a precision static analyzer purpose-built for MISRA enforcement, and that focus is its differentiator. Unlike broad multi-tool suites that treat static analysis as one capability among many, bolting it next to separate dynamic, coverage and security point tools, QAC is engineered specifically for accurate, comprehensive coding-standard compliance.

A few facts make the case (vendor superlatives below are attributed to Perforce; product capabilities are stated as fact):

  • MISRA authority. Perforce (formerly PRQA) positions itself as a founding member of the MISRA consortium, it helps define the standard, not merely check against it. Perforce states that it is a member of MISRA Consortium Limited and that its experts sit on the MISRA Working Groups. That depth of involvement is why MISRA precision is QAC’s core identity rather than a checkbox.
  • Inter-procedural dataflow engine. Per Perforce, “Perforce QAC’s inter-procedural dataflow analysis goes beyond surface-level scanning to deliver deep, contextual insights into your codebase.” QAC exposes configurable dataflow analysis depth, letting teams tune from fast incremental scans to deep whole-program flow analysis, trading speed for thoroughness as a project matures.
  • MISRA coverage. Perforce positions QAC as the gold standard for MISRA and markets 100% enforcement coverage for the latest editions through dedicated compliance modules, including MISRA C:2025, delivered in QAC 2025.1 (April 2025), as well as MISRA C:2023 and MISRA C++:2023.
  • Precision framing. Perforce positions QAC as delivering the most accurate, comprehensive MISRA checking, purpose-built precision that, in Perforce’s framing, means fewer false positives and more actionable results, so engineers spend time fixing real issues rather than triaging noise.

Rust, C and C++ in One Analysis: QAC 2026.1

Modern safety-critical codebases increasingly mix Rust with legacy C and C++. QAC 2026.1 adds support for the Rust programming language alongside C and C++, and, per Perforce, Rust crates can link to C and C++ translation units in Dataflow and RCMA, so flow analysis crosses the language boundary. The product page lists “mixed-language support for C, C++, and Rust.” For Indian teams modernizing safety-critical firmware incrementally, that cross-language inter-procedural dataflow means the static gate does not develop a blind spot at the Rust/C boundary.

Why Dynamic Testing Comes Second: Razorcat TESSY

Static analysis cannot tell you whether a function returns the correct result for a given input, that requires execution. Once QAC has cleaned the code, Razorcat TESSY takes over the dynamic stage:

  • Automated unit, module and integration testing for embedded C and C++.
  • Code coverage at every level safety standards demand, statement (C0), branch (C1), decision, and MC/DC (Modified Condition/Decision Coverage), the structural coverage metric required for the highest software safety classes.
  • Test design via the Classification Tree Editor (CTE) and Scenario Editor, with stub generation for isolating the unit under test.
  • Host-based or on-target execution: run fast on the host during development, then on the target hardware (for example via a SEGGER J-Link probe) to produce certification-grade evidence.
  • Requirements traceability: TESSY imports requirements (ReqIF, Polarion, DOORS, Jama, Visure) and links test cases to requirements for bidirectional traceability, exactly what assessors ask to see.

Because the code reaching TESSY has already passed QAC’s MISRA gate, dynamic testing is spent proving functional correctness and hitting coverage targets, not chasing coding-standard defects that should never have reached the test bench. That is what makes the combined toolchain more efficient, not just more thorough.

The Combined Shift-Left Workflow

In a CI/CD pipeline, the two tools run in sequence on the same codebase:

Stage 1, Static analysis (Perforce QAC)

  1. Developer pushes code.
  2. QAC runs the project’s MISRA configuration via the CI runner (Jenkins, GitLab CI, etc.).
  3. New MISRA / coding-standard violations are flagged; critical violations block the merge, advisory violations are tracked.
  4. Compliance dashboards and audit-export reports are generated for the safety case.

Stage 2, Dynamic testing (Razorcat TESSY)

  1. The same pipeline triggers TESSY batch execution on the now-clean code.
  2. TESSY compiles the units under test with the project cross-compiler.
  3. Test suites execute (host-based for speed, on-target for evidence).
  4. Coverage is measured, statement, branch, MC/DC, and enforced as quality gates (for example, 100% MC/DC for the highest software safety class).
  5. Coverage and traceability reports are generated for the safety case.

Combined evidence: the safety case carries QAC MISRA-compliance reports and TESSY MC/DC coverage reports, satisfying both static and dynamic verification objectives. Static (QAC) plus dynamic (TESSY) equals a complete shift-left toolchain that catches defects earlier and more accurately, best of both worlds, all from GSAS.

Mapping the Toolchain to IEC 62304 and FDA

For medical-device software, the regulatory anchor is IEC 62304, which defines a software development lifecycle and grades software by safety class, Class A (no injury possible), Class B (non-serious injury possible), and Class C (death or serious injury possible). The higher the class, the more rigorous the verification evidence.

Where Perforce QAC Fits

Perforce QAC is TÜV-SÜD certified for compliance with key functional-safety standards, including ISO 26262 (automotive) up to ASIL D, IEC 61508 (industrial) up to SIL 4, EN 50716 (railways) up to SW-SIL 4, IEC 60880 (nuclear), and IEC 62304 (medical devices) up to Software Safety Class C. The certification covers QAC’s dedicated C (QAC) and C++ (QAC++) analysis engines.

On the medical-device side specifically, Perforce states: “Perforce QAC, when used in conjunction with the MISRA coding standard, is independently certified to be suitable for the development of safety-related software according to IEC 62304.” And on the regulatory acceptance path: “In the U.S., the FDA accepts demonstration of compliance to the standard as evidence that regulatory processes have been fulfilled.” (Source: perforce.com/blog/qac/fda-compliance-med-device.)

Many medical-device companies adopt MISRA precisely because it helps satisfy the software acceptance criteria in IEC 62304, and QAC is the tool that enforces MISRA with the depth a Class C audit expects.

Where Razorcat TESSY Fits

TESSY is qualified for safety-critical use across ISO 26262, IEC 61508, DO-178C, IEC 62304 and EN 50128. For Class B and Class C medical software, IEC 62304 expects structural coverage evidence from unit and integration testing, exactly what TESSY produces, up to and including MC/DC. The requirements-to-test-to-coverage traceability TESSY generates is the spine of an IEC 62304 verification record.

Why One Authorized Partner Beats a Stack of Point Tools

A common alternative is to assemble a DevSecOps stack from separate third-party static, dynamic and coverage tools, a broad multi-tool suite where static analysis is one capability among many and integration is the customer’s problem. GSAS offers the opposite: two best-of-breed tools, QAC for precision static MISRA enforcement, TESSY for dynamic MC/DC testing, purpose-built for their stage, integrated in the same CI/CD pipeline, and supplied by one authorized engineering partner in India. One purchase order, one support channel, one team that configures both on your project.

Our engineers in Bengaluru, Hyderabad, Chennai, Pune, Mumbai and Delhi NCR stand up the combined pipeline and help your team assemble the verification evidence package, see our functional safety capability for how we support IEC 62304, ISO 26262 and DO-178C programs end to end.

Frequently Asked Questions

Should I run static analysis or dynamic testing first? Static analysis first. Perforce QAC enforces MISRA and removes whole defect classes across the entire codebase before any test runs, so Razorcat TESSY’s dynamic unit testing is spent proving functional correctness and coverage on clean code, faster and more focused. That ordering is the core of an effective shift-left workflow.

Does Perforce QAC support MISRA C:2025? Yes. Perforce markets 100% MISRA enforcement coverage for the latest editions through dedicated compliance modules, with MISRA C:2025 delivered in QAC 2025.1 (April 2025), alongside MISRA C:2023 and MISRA C++:2023.

Is Perforce QAC suitable for FDA-regulated medical-device software? Perforce QAC is TÜV-SÜD certified for IEC 62304 up to Software Safety Class C, and Perforce states that QAC, used with the MISRA coding standard, is independently certified suitable for IEC 62304 software development, with the FDA accepting demonstration of standards compliance as regulatory evidence (Source: perforce.com/blog/qac/fda-compliance-med-device).

What does Razorcat TESSY add that QAC does not? QAC reasons about the code statically; it cannot confirm a function returns the correct value for a given input. TESSY executes the code, verifies outputs against expected results, and measures structural coverage up to MC/DC, the dynamic evidence IEC 62304 expects for higher software safety classes.

Can I buy both tools from one vendor in India? Yes. GSAS Micro Systems is the authorized engineering partner in India for both Perforce (QAC) and Razorcat (TESSY), with local engineering support, INR invoicing and a single support channel across Bengaluru, Hyderabad, Chennai, Pune, Mumbai and Delhi NCR.

Does QAC handle Rust as well as C and C++? QAC 2026.1 adds Rust support alongside C and C++, including cross-language inter-procedural dataflow where Rust crates link to C and C++ translation units, so the static gate stays effective in mixed-language safety-critical codebases.

Build a Certification-Ready Shift-Left Toolchain with GSAS

Whether you are starting a new IEC 62304 Class C medical program or adding rigour to an existing one, GSAS supplies the complete shift-left stack, Perforce QAC for MISRA static analysis and Razorcat TESSY for dynamic unit testing and MC/DC coverage, plus the local engineering to configure both in your CI/CD pipeline and produce the evidence your auditors expect.

Request a QAC + TESSY evaluation →

Source / References

Interested in Perforce tools?

Talk to our application engineers for personalized tool recommendations.

Frequently asked questions

Should I run static analysis or dynamic testing first?
Static analysis first. Perforce QAC enforces MISRA and removes whole defect classes across the entire codebase before any test runs, so Razorcat TESSY's dynamic unit testing is spent proving functional correctness and coverage on clean code, faster and more focused. That ordering is the core of an effective shift-left workflow.
Does Perforce QAC support MISRA C:2025?
Yes. Perforce markets 100% MISRA enforcement coverage for the latest editions through dedicated compliance modules, with MISRA C:2025 delivered in QAC 2025.1 (April 2025), alongside MISRA C:2023 and MISRA C++:2023.
Is Perforce QAC suitable for FDA-regulated medical-device software?
Perforce QAC is TUV SUD certified for IEC 62304 up to Software Safety Class C, and Perforce states that QAC, used with the MISRA coding standard, is independently certified suitable for IEC 62304 software development, with the FDA accepting demonstration of standards compliance as regulatory evidence.
What does Razorcat TESSY add that QAC does not?
QAC reasons about the code statically; it cannot confirm a function returns the correct value for a given input. TESSY executes the code, verifies outputs against expected results, and measures structural coverage up to MC/DC, the dynamic evidence IEC 62304 expects for higher software safety classes.
Can I buy both QAC and TESSY from one vendor in India?
Yes. GSAS Micro Systems is the authorized engineering partner in India for both Perforce (QAC) and Razorcat (TESSY), with local engineering support and a single support channel across Bengaluru, Hyderabad, Chennai, Pune, Mumbai and Delhi NCR.
Does QAC handle Rust as well as C and C++?
QAC 2026.1 adds Rust support alongside C and C++, including cross-language inter-procedural dataflow where Rust crates link to C and C++ translation units, so the static gate stays effective in mixed-language safety-critical codebases.

Stay in the Loop

Get monthly compliance updates, product insights, and engineering best practices delivered to your inbox.