The ELISA Project community gathered at Canonical’s London office from June 9–11, 2026, for three days of technical presentations, discussions, and collaboration focused on advancing Linux for safety-critical applications.
The workshop included discussions on evaluating Linux virtual memory area (VMA) criticalities and maintaining kernel requirements and test specifications outside the kernel source tree. The main topics included memory isolation, timing determinism, ownership integrity, assumptions of use, and traceability between requirements, code, and tests.
In this blog from our post-event series, we highlight two sessions covering these topics. The first presented a work-in-progress proof-of-concept framework for studying Linux memory behavior through reproducible experiments, with the long-term goal of developing measurable and comparable Linux safety metrics. The second explored an out-of-tree approach to maintaining kernel requirements and test specifications, drawing on lessons from upstream trials. It covered ongoing SPDX 3.1 modeling work, support planned for tools such as BASIL and StrictDoc, and next steps for building a shared repository and keeping requirements, code, and tests in sync as the kernel evolves.
A PoC Based Framework to Evaluate Linux VMA Criticalities in Safety-Critical Systems – Alessandro Carminati, NVIDIA
Alessandro Carminati of NVIDIA presented a work-in-progress proof-of-concept framework for evaluating Linux virtual memory area (VMA) criticalities in safety-critical systems. Building on the safe VMA concept introduced at the 2025 ELISA Workshop, he explored how memory should remain isolated, behave predictably, maintain accurate ownership information, and have these properties verified through experiments.
The demos examined delays when memory was first accessed, what happened when applications requested more memory than the system could provide, and how fragmentation could place kernel and user pages next to each other in physical memory. He explained that this adjacency alone was not a failure, but could allow a kernel bug to corrupt an application’s memory. A controlled demonstration showed how such corruption could silently change application data, including data marked as read-only for the application.
Alessandro also introduced the framework’s Buildroot-based environment, which brought together tools for running experiments, collecting data, and presenting results. He outlined plans for a Yocto layer, more experiments, and broader architecture coverage. The long-term goal was to turn these observations into measurable and comparable Linux safety metrics, with further development and collaboration needed within ELISA. Slides here.
Defining Linux Kernel Requirements and Test Specifications out of the Kernel Tree – Gabriele Paoloni, Red Hat; Kate Stewart, Linux Foundation; Chuck Wolber, The Boeing Company
Gabriele Paoloni (Red Hat), Kate Stewart (Linux Foundation), and Chuck Wolber (Boeing Company) presented a proposal for maintaining Linux kernel requirements and test specifications outside the kernel source tree. They explained why documenting the intent of code could help developers assess changes, help testers verify expected behavior, and improve maintainability. Trials on the tracing subsystem had helped identify a bug, remove a redundant flag, and clarify assumptions of use, the conditions under which a function was expected to be used.
The presenters shared lessons from attempts to introduce requirements and linked tests upstream, which led them to propose a separate requirements and test specification repository. This approach would link requirements to the corresponding code and test implementations without requiring changes to the kernel source. They also discussed ongoing SPDX 3.1 modeling work to connect requirements, assumptions, verification specifications, test results, and evaluations. The discussion distinguished raw test output from the evaluation needed to determine whether a requirement had been met.
The session highlighted how changes to linked code could trigger a review of the associated requirements and tests. A code change would not necessarily require a requirement to change, but its continued validity and links would need to be checked. Planned next steps included refining the model through examples, supporting it in tools such as BASIL and StrictDoc, defining a change management process, and creating a shared repository populated with Linux kernel requirements. The speakers emphasized working with interested kernel maintainers and the KernelCI community to demonstrate the approach’s value and build wider participation. Slides here.
Both sessions outlined next steps for advancing the ongoing work. For the VMA framework, these included adding a Yocto layer, expanding experiments and architecture coverage, and working towards measurable and comparable Linux safety metrics. For the out-of-tree requirements proposal, the next steps included refining the SPDX 3.1 model through practical examples, adding support in BASIL and StrictDoc, and defining a change management process to keep requirements, code, and tests in sync. Creating and populating a shared requirements repository, with input from interested kernel maintainers and the KernelCI community, would help demonstrate the approach’s value and encourage wider participation.








