🤖 AI Summary
Security-first architectures like CHERI face usability bottlenecks during software porting, particularly due to opaque compiler diagnostics, sparse documentation, and the cognitive burden of reasoning about hardware-enforced memory safety and memory model restructuring. Method: This study conducts the first systematic empirical evaluation from a developer-experience perspective, employing in-depth interviews, controlled C-code migration experiments, and qualitative analysis across diverse real-world codebases. Contribution/Results: We identify that non-technical barriers—especially unintuitive error messages and narrow-scoped documentation—are primary impediments to efficient porting. The findings reveal significant gaps in toolchain support and heightened cognitive load associated with low-level memory safety abstractions. Consequently, the work proposes a developer-centric usability framework for secure architecture design, arguing that security enhancements must be co-designed with developer experience considerations—including diagnostic clarity, comprehensive documentation, and intuitive tooling—to ensure practical adoption.
📝 Abstract
A digital security-by-design computer architecture, like CHERI, lets you program without fear of buffer overflows or other memory safety errors, but CHERI also rewrites some of the assumptions about how C works and how fundamental types (such as pointers) are implemented in hardware. We conducted a usability study to examine how developers react to the changes required by CHERI when porting software to run on it. We find that developers struggle with CHERI's display of warnings and errors and a lack of diverse documentation.