Developers

Build a first application

A first CHERI application should be deliberately small: compile, run and debug one program in a known environment before adding libraries or hardware complexity.

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

What you’ll do

A first CHERI application should be deliberately small: compile, run and debug one program in a known environment before adding libraries or hardware complexity. The goal is to verify the toolchain and see how capabilities appear in ordinary development work.

Before you begin

A reproducible first build gives the team a baseline for later porting and a quick way to separate environment problems from code problems.

Steps

1. Start known

Use the platform’s supported example, documented compiler and matching runtime image.

2. Inspect

Build with warnings enabled, run the program and inspect pointer or capability properties with the available debugger.

3. Record

Save commands, versions, target ABI and expected output so another developer can repeat the result.

Check your result

A hello-world build proves that the environment works; it does not demonstrate security, compatibility or production readiness.

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

Useful references

Continue

Build the smallest supported example, change one memory operation and observe how the toolchain or runtime reports an invalid access.

Port a small existing program