Developers
Training
Effective CHERI training joins concepts with practice: capabilities and authority, C/C++ porting, fault diagnosis, compartment design and platform-specific workflows.
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.