Developers

Training

Effective CHERI training joins concepts with practice: capabilities and authority, C/C++ porting, fault diagnosis, compartment design and platform-specific workflows.

For
Developers, engineering managers and educators
Last reviewed
2026-08-05
Review cycle
Review every 6 months

What you’ll do

Effective CHERI training joins concepts with practice: capabilities and authority, C/C++ porting, fault diagnosis, compartment design and platform-specific workflows. Different roles need different depth.

Build training around a task the learner can repeat: inspect a capability, trigger and diagnose a bounds fault, port a small component, or create a compartment interface. Record the platform and release so the exercise remains usable after tools and documentation move on.

Before you begin

Shared vocabulary and hands-on exercises reduce the risk that teams treat CHERI as either a transparent compiler switch or an entirely new programming model.

Steps

1. Foundation

Teach memory-safety failure modes, bounds, permissions, tags, provenance and the limits of the technology.

2. Practice

Use a matched environment to port code, trigger and diagnose faults, and reduce authority.

3. Role depth

Give architects, developers, assurance teams and decision-makers exercises that match their responsibilities.

Check your result

A completed course does not establish competence for a production platform. Reinforce learning through reviewed work and project-specific guidance.

Record the architecture, platform, ABI, release, source revision and complete commands. A second developer should be able to reproduce the result.

Useful references

Continue

Choose one practical learning outcome and require a reproducible artefact—a port, test or compartment design—as evidence.

Find training material