THE LINUX FOUNDATION PROJECTS
Category

Working Group

ELISA Tools Working Group - Enabling Functional Safety

ELISA Tools Working Group – Enabling Functional Safety

By Blog, Working Group

Written by Tools Working Group Co-Chairs Luigi Pellecchia (Red Hat) and Alessandro Carminati (NVIDIA), along with Eli Gurvitz (NVIDIA).

The ELISA Project Tools Working Group is bringing together the ELISA community around the investigation, development and usage of tools for functional safety in Linux.

Overview

We use tools for SW development almost every minute of our working day without even thinking about it. We write requirements with editors, store them in databases, review them in collaboration systems and trace them to other work products with tools. This list of activities and tools is only for a small set of work products, it is incomplete and doesn’t even mention the emerging AI based tools.

As we traverse the V model, the tasks become more complex and the tools more advanced. Think of architectural design systems, compilers, static analysis tools and test management systems. Clearly, tools are the basis of SW development and no Safety Case can be completed without them.

Commercial tools exist for some tasks but they are often not suitable for Linux because of several reasons, as an example, many of the tasks operate on pre-existing code and without following the standard V-Model, and as one of the main actors of the open source landscape, users are used to work with open source tools. Open source tools also exist, but many of them were developed without functional safety in mind and they all require tool classification. The Tools WG will evaluate open source tools and suggest methods to qualify them. 

The goal of the ELISA Tools WG is to be a forum for ELISA members and the Linux community at large, for discussion and joint development of functional-safety related tools, with emphasis on tools suitable for Linux – from software requirements management to static code analysis, to code structure navigation, to SBOM generation, to continuous compliance, to impact analysis and more. 

Members of the WG will be able to join the open discussions, learn about existing tools, participate in their development and maintenance, propose new features or influence the community to develop a new tool. Development of effective and safe tools is hard. The tool must be defined clearly, the code developed to a high standard, and the tools must be safe according to the requirements of safety standards like ISO 26262 part 8 chapter 11 (Confidence in use of tools). Therefore, the cooperation by members of the forum is a win-win situation. Even when a tool is wholly contributed by one member company, the adoption of the tool by other members results in improvements to the tool and its acceptance by the industry and assessors. 

Industry cooperation is even more important with the emergence of AI-based tools and their inherent challenges. AI allows us to solve problems that were previously too hard to solve due to code complexity or the scale of the problem. But classification and qualification of AI-based tools requires new ideas and can benefit from joint development. The Tools working group aims to track the evolution of international standards on the usage of AI in safety related tools, and adopt them in its deliverables.

What we provide to the community

The Tools WG already provides the following tools that are being actively maintained.

BASIL

BASIL (https://github.com/elisa-tech/BASIL)  is a tool for developing and managing work items such as requirements, test specifications, test cases, justifications, while building a traceability matrix that connects these artifacts and their relationships. It also provides test execution support, allowing test results to be linked back to the relevant work items and traceability relationships for end-to-end verification and coverage.

KSNav

https://github.com/elisa-tech/ks-nav 

A static analysis / reverse engineering tool targeting elf executables with DWARF information and source code, specialized on the Linux kernel. It provides information on functions, data and call trees. It is used for static code analysis, safety analysis and more. 

The tool is planned to support: the linux kernel, glibc, and unspecified elf executable. Not all targets provide the same results or accuracy.
Tool provides the following per target-diagrams for:

  • function-level call trees;
  • subsystem call trees;
  • subsystem graphs with labeled edges;
  • isolated target-subsystem views;
  • functions referencing global data;
  • subsystems referencing global data.

Stress-ng

Stress-ng (https://github.com/ColinIanKing/stress-ng) is the leading HW and SW stressing system for Linux. It is developed by Colin King and is partially supported by ELISA.

Cregit

Cregit (https://github.com/cregit/cregit) is a tool for analyzing Git repositories and generating HTML views that show who contributed which parts of the source code, using token-level analysis to produce more meaningful blame information. It processes repository history, maps commits and authors, and produces browsable visualizations of code contributions, making it useful for studying code ownership and developer contributions over time.
The Tools WG also provides sandbox environments for experimenting with the tools. This enables quick evaluation and easy integration of the tools into proprietary workflows.

Additional planned tools

The Tools WG plans to add the following tools:

Tigran – the brave MISRA classifier

Tigran will handle the flood of MISRA and CERT-C violations of the Linux kernel. It will implement a novel AI-based approach to classify all the violations into two classes:

  • Deviated – there is proof that the violation can not cause a failure in a particular configuration of Linux
  • Potential issues – all the rest, i.e. violations for which there is no proof that the violation can’t cause a failure.

Tigran will provide a database with ready-made classifications of multiple configurations of the Linux kernel. These classifications can be used directly in a safety case (the Deviated violations), or used to derive AoUs (assumptions of use) for potential issues. In other words, Tigran will help you mark “static code analysis” as done and provide all the evidence needed for the Safety Case.   

Governance

The Tools WG operates under the guidance of the ELISA Technical Steering Committee (TSC). It is headed by Luigi Pellecchia from RedHat and co-hosted by Alessandro Carminati from NVIDIA. 

The WG will meet on a weekly basis, reviewing ongoing work, discussing tooling issues and planning activities. The meetings will also include periodic demos and knowledge-sharing sessions. Apart from the weekly meetings, the WG will also sync on other channels like Discord and GitHub.

Join the Tools WG

If your company is building a safety-related system based on Linux, then the Tools WG is the place where you should be. We will help each other close down the sticky areas of the Safety Concept – safety analysis, traceability, static code analysis, complexity analysis and so on.

If you can contribute tools, time or expertise in application of functional safety processes, you are welcome to participate, make your voice heard and shape the evolution of open source tools for the functional safety community.

Participation does not require developing a tool: bringing a use case or tooling problem, reviewing proposed approaches, sharing experience, or just joining the technical discussion are all valuable contributions.

Get involved:

Subscribe to the Tools WG mailing list.

Participate in the weekly public meeting on Thursdays at 15:00 CET.

Join the Tools WG conversations on Discord.

Letting Linux Fly First Steps Towards Using Linux in Flight - ELISA Project blog

Letting Linux Fly: First Steps Towards Using Linux in Flight

By Blog, Working Group

This blog was written by Dr.-Ing. Martin Halle and highlights the ELISA Project Aerospace Working Group’s first steps toward using Linux safely in flight.

The ELISA Project Aerospace Working Group is actively developing use cases designed to improve Linux architecture and related tools. The overarching goal is to pave the way for using Linux safely in avionics at various levels of criticality.

To lay the flight path for these ambitious goals, the working group has released a new demonstration focusing on a lower-criticality use case, serving as an essential first step toward using Linux in flight.

The Cabin Light Use Case

The new demonstration showcases a system that would operate an aircraft’s cabin lights. Specifically, we show how to measure the system’s compliance with strict timing expectations. While the Light Server and Light App are based on Python, the core of the verification process relies on robust, aerospace-grade monitoring. Any system output is written to a log file in a syslog style, which is then shown live using the Linux “tail” command.

Ensuring Reliability with Copilot

To monitor our timing expectations, the demonstration makes use of the Copilot runtime verification framework, a tool designed specifically for hard real-time systems.

What is Copilot?

  • It is an open-source temporal programming language.
  • It compiles to C99 with predictable time and memory bounds.
  • It is routinely used by NASA to write and verify critical systems both in aerospace and on the ground.

In this specific demo, we use Copilot to express the temporal properties we expect of a real-time Linux kernel operating in the aerospace domain. For example, the framework ensures that a cabin light will actually turn on or off within a limited amount of time when a demand is made. Copilot acts as a watchdog, monitoring this specific property and reporting whenever there are any violations.

Get Involved and Learn More

This video and demonstration are part of the broader ELISA Aerospace Working Group initiative. We invite developers, engineers, and aerospace enthusiasts to explore the code, replicate the demo, and contribute to the future of open-source avionics.

Explore the Resources:

ELISA Seminar – Functional safety with Xen, Zephyr and Linux for avionics, automotive and industrial

Recap – ELISA Seminar – Functional safety with Xen, Zephyr and Linux for avionics, automotive and industrial

By Ambassadors, Blog, Seminar Series, Technical Update, Working Group

On May 13, 2026, the ELISA Project hosted a seminar exploring how open source technologies including Xen, Zephyr RTOS, and Linux are advancing toward deployment in safety-critical systems across avionics, automotive, and industrial domains.

The session featured Ayan Kumar Halder (AMD) and Matthew Weber (Boeing), who shared ongoing collaborative work around functional safety, mixed-criticality systems, and open source safety certification efforts.

The discussion focused on how Xen, Zephyr, and Linux can be composed into a unified architecture for safety-critical environments. The speakers outlined how Xen can act as a Type-1 hypervisor, isolating workloads with different safety requirements while supporting deterministic execution, static partitioning, and freedom from interference between virtual machines.

A major theme throughout the session was the growing collaboration between the Xen community and the ELISA Project to build an open functional safety ecosystem. The work spans multiple safety standards including ISO 26262, IEC 61508, and DO-178C, with the goal of creating reusable safety certification artifacts and methodologies that can benefit multiple industries.

The seminar highlighted several ongoing technical efforts within the Xen functional safety initiative, including:

  • MISRA C compliance improvements and automated CI checking
  • MPU support for ARM Cortex-R systems
  • Static partitioning and deterministic scheduling
  • Requirements traceability and architecture specifications
  • Domain-based testing, fault injection, fuzzing, and unit testing
  • White-box testing approaches using Ceedling and coverage analysis
  • Open source traceability workflows using Open Fast Trace

The speakers also discussed the importance of defining assumptions of use (AoU) between system components such as firmware, hypervisors, operating systems, and applications. This systems-level perspective is critical for enabling Linux and Xen to operate within certified safety environments.

Matthew Weber shared additional insights from the aerospace domain, explaining how avionics standards such as DO-178C and ARINC 653 complement ongoing automotive safety efforts. The session explored how higher levels of testing rigor, deterministic partitioning, and lifecycle traceability can help support mixed-criticality aerospace systems using open source technologies.

Another key discussion point was sustainability. Functional safety is not a one-time activity but an ongoing engineering process that must evolve alongside code changes, new features, and emerging defects. The speakers emphasized the importance of open collaboration, transparent development processes, and community participation to keep safety-related artifacts and testing continuously maintained.

The session concluded with an invitation for the broader community to get involved through mailing lists, workshops, Git repositories, and upcoming events including the Xen Summit and ELISA workshops.

As open source continues expanding into regulated and safety-critical industries, collaborations like these are helping create the technical foundations, tooling, and community processes needed to support the next generation of safety-focused systems.

Watch for upcoming ELISA seminars and community workshops to continue the conversation around functional safety, mixed-criticality systems, and open source collaboration.

Upcoming ELISA Seminars:

When “Probably Safe” Is Not Safe Enough - ELISA Project blog - Alessandro Carminati, NVIDIA

When “Probably Safe” Is Not Safe Enough

By Ambassadors, Blog, Working Group

This blog is written by Alessandro Carminati, TSC member and Linux Features WG Chair at the ELISA Project and an engineer at NVIDIA.

If you ever worked with Linux, you probably heard something like:

“User space and kernel space are isolated.”

Which is true. And also… not entirely comforting.

Because, as Murphy politely reminds us:

“Anything that can go wrong, will go wrong.”

At the ELISA LFSCS working group, we try to look at Linux from a functional safety perspective. That means we are not satisfied with “it usually works”… we want to understand what could go wrong.

At the ELISA LFSCS working group, we try to look at Linux from a functional safety perspective. That means we are not satisfied with “it usually works”… we want to understand what could go wrong.

From Munich: A Suspicious Idea

During the Munich 2025 session, we discussed what we called the linear mapping threat.

The idea is simple:

  • Linux keeps a linear mapping of physical memory
  • This mapping includes all RAM
  • Kernel objects and user pages come from the same pool

So in theory:

A kernel object page could sit right next to a user page.

Not a fault… Not a bug… Just… how memory is laid out.

And that alone raises a question.

Because if a kernel bug causes an overflow, adjacency matters much more than isolation:

  • overflow → likely direction → next page
  • underflow → possible, but statistically less common
    So the interesting case becomes:

kernel page → next → user page

At that point, this was still a hypothesis. A reasonable one… But still a hypothesis.

From Hypothesis to Observation

So we asked:

Can we observe this situation?

Not in theory. Not in diagrams. But in actual memory.

To be clear, not the fault happening… just the fact that Kernel objects pages and userspace pages can sit next to each other.

The Tool (a.k.a. “Let’s Peek at PFNs”)

Initially, the plan was simple:

“Let’s write a kernel module and scan the linear mapping.” Because… that’s what kernel people do. (Maslow’s Hammer: If the only tool you have is a hammer, you tend to see every problem as a nail)

Then came the slightly embarrassing realization:

“Wait… I can already see this from userspace.”

Using /proc/kpageflags.

And suddenly:

  • no kernel module needed
  • no patching
  • no special hooks

Just a userspace tool reading kernel-exposed data.

Small Technical Box: /proc/kpageflags

/proc/kpageflags exposes metadata for each physical page frame (PFN).

With it, you can:

  • iterate over physical memory
  • classify pages (anonymous, slab, huge, etc.)
  • build a PFN-level view of the system

In practice, the tool:

  • scans PFNs sequentially
  • assigns a category per page
  • renders a colored raster

Think of it as:

a “topographic map” of memory… where mountains are slab pages and plains are user memory. (Yes, the legend is still under construction.)

First Results: “This Looks… Too Clean”

Using the tool on a real system (x86), results were promising:

  • memory looked mixed
  • user and kernel pages were interleaved
  • adjacency was visible

Good.

But the LFSCS working group set its reference platform as aarch64 many moons ago and when if came to the ARM64 VM we’re targeting:

  • almost no user pages
  • almost no slab pages
  • everything looked… suspiciously clean

At this point, either:

  1. the tool was wrong
  2. the kernel was lying
  3. or the system was too nice

What We Learned (a.k.a. “The Plot Thickens”)

Huge Pages Were Hiding Reality

Disabling THP:

echo never > /sys/kernel/mm/transparent_hugepage/enabled

suddenly changed everything.

Why?

Because:

  • userspace sees memory at page granularity (4KB)
  • linear mapping may represent the same memory as huge pages

So we had:

fine-grained user memory vs coarse-grained linear mapping view

Disabling THP aligned the two worlds and revealed the real distribution.

Slab Pages Don’t Like Attention

The SLAB flag is only set on compound head pages.

Meaning:

most kernel objects are there… just not explicitly labeled

So the absence of slab in the visualization was… misleading.

The System Was Too Clean

The VM had:

  • low workload
  • low fragmentation
  • limited kernel activity

In short:

not enough chaos to trigger interesting behavior

Forcing Reality (a.k.a. “Adding Some Chaos”)

One missing piece was understanding that:

a real system naturally creates fragmentation a virtual machine… usually does not

So to observe the phenomenon in a controlled environment, we needed to give to the kernel an helping foot.

The approach was to introduce controlled memory pressure and fragmentation using a small kernel-side helper.

The idea is simple:

  • allocate many temporary objects
  • insert a few persistent objects in between
  • free the temporary ones

Swiss Cheese Kernel Heap

This leaves behind memory pages that are:

  • partially used
  • not reclaimable
  • and therefore fragmented

This creates a layout where:

kernel allocations are spread across many partially filled pages

Which is exactly the condition needed to increase the chance of:

kernel page → next → user page adjacency

Think of memory like a block of cheese:

  • temporary allocations = drilling holes
  • persistent objects = small solid parts left behind

After removing the temporary allocations:

you don’t get a clean empty block you get a holey structure the kernel cannot easily compact

The Key Result

After:

  • fixing classification
  • aligning granularity
  • adding controlled fragmentation

We can say:

Kernel and user pages can be physically adjacent. Not always. Not everywhere. But definitely possible.

And importantly: this can happen naturally on a real system while in a VM it may require forcing conditions

Looking Closer (a.k.a. “What Exactly Is Sitting at the Edge?”)

At this point, we knew that: kernel pages and user pages can be physically adjacent. Which is already interesting.

But adjacency alone does not tell us how easy it is for trouble to cross the border.

If the last object in the kernel page ends hundreds of bytes before the page boundary, then an overflow would need to be fairly enthusiastic.

If instead the object ends exactly at the page boundary…

then even a tiny mistake can immediately step into the next page.

So the obvious next question was: “What is actually sitting at the very end of the slab page?”

Teaching the Tool Some Slab Archaeology

The original direct_map_view PoC was good at classifying pages.

The updated version became slightly more nosy.

Given a user page, it now:

  • looks at the preceding PFN,
  • checks whether that PFN is slab-backed,
  • scans the page,
  • and identifies the kernel object closest to the end of the page.

Using kmem_dump_obj(), the probe can determine which slab cache owns the object and where the object begins.

In other words: we stopped looking only at pages and started looking at what is actually living inside them.

A Typical Result

[   66.010479] pfn_slab_probe: input_pfn=1078469 checked_pfn=1078468 flags=0xbfffe0000000200
[   66.010862] pfn_slab_probe: checked PFN 1078468 is slab-backed, scanning [ffff0000c74c4000 - ffff0000c74c5000)
[   66.011652] slab kmalloc-512 start ffff0000c74c4e00 pointer offset 504 size 512
[   66.013007] pfn_slab_probe: nearest candidate object at ffff0000c74c4ff8, offset 0xff8 into PFN 1078468

The probe did not find an object starting at 0xff8.

It found itself standing 8 bytes before the edge of the page, inside a kmalloc-512 object, at offset 504 from the beginning of that object.

So the math is:

0xff8 - 504 = 0xe00

The object starts at 0xe00 and, being 512 bytes long, ends at 0x1000.

Exactly at the page boundary. Which is the memory-management equivalent of parking with the bumper touching the wall.

Turning Logs into Pictures

Because hexadecimal offsets are excellent at convincing computers but less effective with humans, a small script was added to convert the logs into SVG diagrams.

The result is a picture showing:

  • the slab page,
  • the last kernel object,
  • the page boundary,
  • and the user page immediately after it.

Sometimes, a drawing is worth several hundred printk()s.

From “Interesting Layout” to “Well… That Escalated Quickly”

At this point, we had demonstrated that:

  • a kernel object can sit at the end of a page,
  • the next physical page can belongs to a user process.

The next question was unavoidable: “What happens if the kernel writes past that boundary?”

Fortunately for science, and slightly less fortunately for the victim process, we now have a PoC for that too.

The Victim (a.k.a. “The Simplest Program We Could Get Away With”)

The userspace target is a tiny assembly program, available for both:

Its behavior is intentionally boring:

  1. print the address of a string,
  2. wait,
  3. print the string,
  4. exit.

That is all. No threads. No libraries. No excuses. If something changes, we know exactly who to blame.

Was it that simple?

The PoC script: poc.sh

Coordinates with the kernel module: umem_poke.c

The script does not do magic address translation in bash.

Which is probably good news for everyone. It only coordinates the experiment: it starts the victim, gets the address printed by the process, and passes that VMA address to the module.

The module is the one doing the kernel-side work. It uses GUP to resolve the userspace address to the underlying page, computes the linear mapping address destination byte, and then performs the write.

After all that machinery, the corruption itself is still disappointingly simple:

*dst_target = act.value;

That is it.

  • No ptrace().
  • No copy_to_user().
  • No access_ok().
  • No “Dear Kernel, may I please touch userspace?”

Just a normal assignment. From the kernel’s point of view, this is simply a write to a valid pointer.

Which leads to a slightly uncomfortable realization: once a userspace page is reached through the linear mapping, it stops being special. It is just memory. And the kernel is very good at writing to memory.

“But Surely Read-Only Memory Is Safe?”

A reasonable objection is: “Fine, but this probably works only on writable pages.” That would be reassuring… Would it really?

Even then, the wall would still have a door. Unfortunately, reality is even less reassuring.

The experiment works even when the target string is moved from .bss to .rodata.

In other words, the process sees the page as read-only. The process itself cannot modify the string.

And yet, after the userspace address has been translated to its corresponding location in the linear mapping, changing the supposedly immutable data still requires nothing more sophisticated than:

*dst_target = act.value;

  • No page permissions are changed.
  • No special write mechanism is invoked.
  • No dedicated “modify userspace memory” API is used.

Just a normal store through a valid kernel pointer.

So the surprising part is not that the kernel, in principle, has enough privilege to modify the page. The surprising part is that once the page is reached through the linear mapping, the actual modification is indistinguishable from writing to any other ordinary kernel address.

Same physical page. Different virtual permissions. Same single dereference.

The Grand Finale

Before the write, the program prints one string.

After the write, it prints a different one.

buildroot login: root
# /usr/umem_poke/poc.sh 
running without corruption
message address: 0x0000000000400168
<TOKEN>

running again with corruption
[   27.675393] umem_poke: loading out-of-tree module taints kernel.
message address: 0x0000000000400168
[   28.751270] umem_poke: req: poke memory for pid=107 mem[400168]=1074707572726f63
[   28.752020] umem_poke: act: poke memory for pid=107 mem[400168]=1074707572726f63
corrupt
# 

The process does not crash. The kernel does not panic. No alarms ring. No dramatic music starts.

The application simply continues running with modified data. Which, from a functional safety perspective, is often the most interesting outcome.

Not: “The system exploded.”

But: “The system kept working… incorrectly.”

From Layout Curiosity to Concrete Effect

At this point, the full chain becomes visible:

+---------------------------+
|   shared physical memory  |
+---------------------------+
              |
             \ /
              V
+---------------------------+
|     possible adjacency    |
+---------------------------+
              |
             \ /
              V
+---------------------------+
| kernel object at page end |
+---------------------------+
              |
             \ /
              V
+---------------------------+
|   kernel write defect     |
+---------------------------+
              |
             \ /
              V
+---------------------------+
|   ordinary pointer store  |
+---------------------------+
              |
             \ /
              V
+---------------------------+
| userspace data corruption |
+---------------------------+
              |
             \ /
              V
+---------------------------+
|  incorrect but apparently |
|       normal behavior     |
+---------------------------+

So the original question: “Can kernel and user pages be physically adjacent?”

Now has a more complete answer: Yes. And if a kernel write goes in the wrong direction, the next page may belong to a perfectly innocent process. That process may continue running as if nothing happened, except for the small detail that its data is no longer what it thinks it is.

Why This Matters

From a safety perspective, the concern is not: user → kernel corruption (blocked by MMU)

The concern is:

kernel → anything else

Because in the linear mapping:

  • everything shares the same physical space
  • adjacency is not controlled
  • allocators optimize for performance, not isolation

So when something goes wrong: the target is simply “the next page”

And what that page is… depends on the moment.

Bigger Picture

This PoC is not proving a vulnerability.

It is proving something more subtle: Linux enforces virtual access separation, but does not guarantee physical separation between kernel and userspace allocations.

And in safety: lack of guarantees is already a problem.

Final Thought

The tool didn’t find a bug and this article does not imply Linux is unsafe. It found something more annoying: an assumption that is not always true.

Meaning that physical separation is not an inherent property of the Linux memory manager and must be established through additional architectural controls if required by a safety case.

ELISA blog – All Aboard The New Railways Special Interest Group

All Aboard the new Railways SIG

By Announcement, Blog, Working Group

This blog is written by Henrik Brändle, Chair of the new Railways SIG.

The ELISA (Enabling Linux in Safety Applications) Project continues to advance the use of Linux in safety-critical and regulated systems. By bridging the gap between the flexibility of Linux and the demands of safety-critical certification, the ELISA community is ensuring that the future of autonomous and connected technology is built on a foundation of trust.

Dedicated groups like Automotive, Aerospace, Safety Architecture and the Space Grade Linux Special Interest Group (SIG) have been the engine of ELISA’s progress.

All Aboard: The Railways SIG

Safety-critical systems span more than just the roads for automotives and airplanes.  In fact, rail is the third-most used means of transport [1, fig. 21]. Today, we are excited to announce the launch of the Railways SIG.

This new initiative marks a significant milestone as we bring ELISA’s methodology to the rail industry. The Railways SIG will focus on aligning Linux development with standards, addressing everything from signaling and control systems to automated train operations. It aims to inform all railway stakeholders about the extensive capabilities that open source already offers in the safety domain. At the same time, it represents their specific needs towards the ELISA community, to ensure that future developments continue to benefit railway systems worldwide. 

History of Open Source and Railways

Historically, the railway industry viewed open source with skepticism, believing that public code and community governance couldn’t meet the demands of safety certification. However, in recent years, multiple initiatives have started to challenge this belief by proving that open source projects can achieve high-level functional safety certification while maintaining transparency and collaboration [2][3].

The continuous rise in expected features will lead to an explosion in resulting software complexity. Since the available development resources are not keeping up with the demands, the railway industry willhave to rely on collaboration across sectors to keep delivering software at the expected quality and pace. 

The Vision

The idea for a dedicated Railway SIG was introduced at FOSDEM 2025, where the Railways and Open Transport track served as a launchpad for the vision. Throughout the following year, a diverse community of stakeholders shared their points of view, aligned their vision and collaborated on a path towards a sustainable SIG. 

Following a reconfirmation of interest at FOSDEM 2026, a formal SIG application was submitted in March. As a new group within the ELISA Project umbrella, the Railways SIG will help shape these efforts by bringing forward the specific requirements, development processes, and standards of our industry. This ensures the rail sector benefits from the significant work taking place globally.

Join us!

The first Railways SIG will take place on Tuesday, May 19. Participants can register for the meeting by visiting the ELISA Project public meeting calendar here. Subscribe to the mailing list or learn more information here. We invite all interested parties to join us in shaping the future of safety-critical Linux for railway infrastructure.

If you are interested in the ELISA Project, we invite you to join one of the ELISA working groups and contribute to advancing safety practices in open source together.

To keep up to date about the project, subscribe to the quarterly newsletter or connect with us on ELISA Project LinkedIn or the  ELISA Discord Channel to talk with community and TSC members.

Sources:

[1] [TUMI Transport Outlook 1.5°C (2021)](https://www.transformative-mobility.org/wp-content/uploads/2023/03/TUMI-Transport-Outlook-SoI1tB.pdf)

[2][Ferrocene: This is Rust for critical systems](https://ferrocene.dev/)

[3][Zephyr Safety Overview] (https://docs.zephyrproject.org/latest/safety/safety_overview.html)

Safety Critical Linux Features - Annual Update (Feb 11, 2026) Alessandro Carminati, NVIDIA

Recap – Safety Critical Linux Features – Annual Update (Feb 11, 2026)

By Blog, Technical Update, Working Group

On February 11–12, the ELISA Project community gathered for the 2026 Working Group (WG) and Special Interest Group (SIG) Annual Updates. Over two focused sessions, group leads shared key milestones from 2025, current technical priorities, and what lies ahead in 2026, along with concrete opportunities for collaboration and contribution.

The annual updates serve as a checkpoint for the project: a moment to reflect on progress, align on priorities, and welcome new contributors into the work of advancing Linux in safety-critical systems.

This week we highlight the session on Safety Critical Linux Features by Alessandro Carminati, NVIDIA.

As part of the ELISA Project Working Group and Special Interest Group Annual Updates held on February 11–12, 2026, Alessandro Carminati (NVIDIA) presented the latest progress from the Linux Features for Safety-Critical Systems (LFSCS) Working Group, outlining 2025 activities, current technical investigations, and priorities for 2026.

The LFSCS Working Group approaches Linux from a safety perspective by asking not whether it works, but how it could fail within a safety-critical system. Its role is not to certify systems or build safety cases, but to investigate Linux kernel and, where relevant, user space behavior to identify where safety assumptions may break. The group focuses on areas such as memory isolation, allocation behavior, and process boundaries domains where failures could have real safety implications. These investigations are translated into structured scenarios and reproducible technical questions that can be shared across the open source ecosystem.

Operating as a horizontal working group within ELISA, LFSCS works across domains including automotive, aerospace, and industrial systems. Vertical working groups bring real-world requirements, and LFSCS maps those needs to Linux features, identifying where implementation details or system behavior may challenge safety expectations. This model allows the group to build a foundational understanding of safety-relevant Linux behavior that can be reused and validated across industries.

Key work in 2025:

In 2025, the group focused on several key technical areas driven by emerging questions and contributor input. One major effort examined the concept of a minimal Linux footprint identifying the smallest functional system required for safety-critical deployments by tracing real application behavior and mapping which kernel features are actually used. This work helps reduce system complexity and provides insight into the runtime surface exposed in safety environments. Another central investigation focused on memory isolation, particularly Virtual Memory Areas (VMAs), which are core to process and context separation in Linux. The group analyzed lifecycle behavior, mapping evolution, allocation interactions, and system behavior under stress to better understand isolation guarantees and where flexibility in the system may conflict with deterministic safety expectations. In addition, exploratory topics such as pointer safety models were discussed, reflecting the group’s openness to contributor-driven ideas and emerging areas of interest.

The output of the LFSCS Working Group is primarily investigative and is shared through documentation, workshops, and public discussions to ensure visibility and reuse. The session also emphasized the importance of collaboration, particularly with other working groups, to connect analytical findings with tooling and reproducible validation. 

Looking ahead to 2026, the group will continue advancing analysis of Linux features in safety contexts, expanding collaboration across domains, supporting integration with tooling efforts, and encouraging community participation. 

The working group meets regularly and welcomes contributors through meetings, mailing lists, and GitHub. This session highlighted how LFSCS is building a deeper technical understanding of Linux behavior in safety-critical systems helping the ecosystem better identify risks and support the adoption of Linux where safety is essential.

Learn more about the ELISA Project and how to get involved.

ELISA Lighthouse SIG – Annual Update (February 12, 2026) | Philipp Ahmann, ETAS

Recap of ELISA Lighthouse SIG – Annual Update (February 12, 2026)

By Ambassadors, Blog, Technical Update, Working Group

On February 11–12, the ELISA Project community gathered for the 2026 Working Group (WG) and Special Interest Group (SIG) Annual Updates. Over two focused sessions, group leads shared key milestones from 2025, current technical priorities, and what lies ahead in 2026, along with concrete opportunities for collaboration and contribution.

The annual updates serve as a checkpoint for the project: a moment to reflect on progress, align on priorities, and welcome new contributors into the work of advancing Linux in safety-critical systems.

This week we highlight the session on ELISA Lighthouse Special Interests Group presented by Philipp Ahmann, ETAS.

The Lighthouse SIG focuses on best practices for open source software in safety-critical systems. Philipp explained that many existing quality and safety standards were designed for proprietary software development, while open source communities often work through code-first, CI-driven, and agile processes. The group is exploring how established open source practices can be evaluated, documented, and eventually shaped into guidance or a standard that regulated industries can use.

In 2025, the SIG worked to understand the current landscape. The group reviewed existing safety, quality, and security standards, conducted literature research, and began assessing open source projects. Early work included creating a template to evaluate process robustness and evidence confidence across different criteria. Initial project assessments included Yocto, Xen, and LLVM, with plans to expand to projects such as Linux, curl, and OpenSSL.

The session also highlighted collaboration with other communities, including Eclipse automotive efforts, CHAOSS, OpenSSF Scorecard, LFX Insights, OpenSSF Best Practices, OpenChain, and the Joint Development Foundation. The goal is to avoid duplication, learn from existing work, and align with broader open source and standards communities.

Looking ahead to 2026, the Lighthouse SIG plans to refine its maturity model, review more projects, evaluate existing badges and scorecards, and continue preparing for possible standards work. The group is also exploring how to define and measure quality in open source projects more clearly.

Philipp closed by inviting new contributors to join the Lighthouse SIG. The group meets every other Friday and welcomes participation through its meetings, mailing list, Discord channel, GitHub repository, and meeting minutes.

Watch the full session to learn how the Lighthouse SIG is progressing and how you can get involved.

ELISA Project - BASIL & Tools Working Group Evolution – Annual Update (Feb 12, 2026)

Recap of BASIL and Tools Working Group Evolution – Annual Update (Feb 12, 2026)

By Blog, Technical Update, Working Group

On February 11–12, the ELISA Project community gathered for the 2026 Working Group (WG) and Special Interest Group (SIG) Annual Updates. Over two focused sessions, group leads shared key milestones from 2025, current technical priorities, and what lies ahead in 2026, along with concrete opportunities for collaboration and contribution.

The annual updates serve as a checkpoint for the project: a moment to reflect on progress, align on priorities, and welcome new contributors into the work of advancing Linux in safety-critical systems.

This week we highlight the session on BASIL & Tools Working Group Evolution.

In this session from the ELISA Project Annual Updates, Luigi Pellecchia presents a recap of the BASIL tool’s development in 2025 and outlines planned directions for 2026. BASIL is described as a collaborative, web-based tool for traceability management, supporting multi-user environments, granular permissions, and detailed relationships between code, requirements, and test artifacts. It also integrates with internal and external test infrastructures and provides multiple export formats, including SPDX, HTML, and PDF.

The 2025 update highlights incremental improvements across the year, including enhancements to AI-assisted features, user experience refinements, support for importing external work items, and expanded browser compatibility. Infrastructure improvements include container optimization, security fixes, integration with additional testing frameworks, and the introduction of API code coverage monitoring. A major architectural change was the migration from SQLite to PostgreSQL to better support concurrent usage.

A key development in late 2025 is the introduction of “traceability as code,” an initial proposal to define traceability relationships through configuration files, enabling connections between distributed artifacts such as source code, test cases, and test results across different repositories and systems.

Looking ahead to 2026, planned efforts include extending traceability features (e.g., linking test results), introducing baseline snapshots of traceability states, improving test coverage, and continuing iterative development based on community feedback. The session also highlights available resources such as a public BASIL instance, documentation, and communication channels, and encourages community participation in both BASIL and the broader Tools Working Group.

Overall, the session focuses on the progress, ongoing development, and open collaboration around tooling to support traceability in safety-critical Linux environments.

ELISA Aerospace Working Group – ELISA Project - Annual Update (Feb 12, 2026)

Recap – ELISA Aerospace Working Group – ELISA Project – Annual Update (Feb 12, 2026)

By Blog, Working Group

This session, part of the ELISA Project Working Group & SIG Annual Updates, was presented by Matthew Weber (The Boeing Company) and co-led with Dr. Martin Hall. It provides an overview of the Aerospace Working Group’s progress in 2025 and outlines priorities for 2026.

The Aerospace Working Group focuses on advancing the adoption of Linux in safety-critical aerospace and space systems by addressing technical, process, and certification challenges through collaboration and shared best practices.

Key Highlights from 2025

  • Strong and consistent community engagement, with diverse participation from industry, academia, and government
  • Introduction of a weekly technical call to develop reference demos and use cases, leading to increased contributions (code, documentation, and examples)
  • Completion of the cabin lights demo, a foundational reference system demonstrating safety-relevant behavior and validation concepts
  • Extension of the demo using NASA Core Flight System (cFS), incorporating telemetry, monitoring, and auto-generated safety checks
  • Development of a product classification template to characterize aerospace and space systems by safety level and system attributes
  • Collaboration with other ELISA groups (e.g., Systems WG) on reference architectures and cross-domain concepts such as mixed-criticality systems
  • Progress in industry papers and research contributions, including submission to the Digital Avionics Systems Conference

Focus Areas and Priorities for 2026

  • Expanding system and product classification models (including NASA-class systems)
  • Enhancing and scaling reference demos and baseline system studies
  • Strengthening collaboration with the Space Grade Linux initiative
  • Advancing industry papers and formal publications
  • Continuing improvements in tooling, CI environments, and documentation processes

Opportunities for Collaboration

  • Open monthly and weekly meetings covering general topics, demos, and paper development
  • Active contribution areas including demos, documentation, linting, and research
    Engagement via GitHub, mailing lists, and community channels

This session highlighted how the Aerospace Working Group is building practical artifacts, frameworks, and collaborative momentum to enable Linux in safety-critical aerospace environments, while inviting broader participation from the community. To learn more watch the session here.

ELISA Working Group and Special Interest Group Annual Updates 2026

Recap of ELISA Working Group and Special Interest Group Annual Updates 2026

By Ambassadors, Blog, Working Group

On February 11–12, the ELISA Project community gathered for the 2026 Working Group (WG) and Special Interest Group (SIG) Annual Updates. Over two focused sessions, group leads shared key milestones from 2025, current technical priorities, and what lies ahead in 2026, along with concrete opportunities for collaboration and contribution.

The annual updates serve as a checkpoint for the project: a moment to reflect on progress, align on priorities, and welcome new contributors into the work of advancing Linux in safety-critical systems.

The first day opened with an ELISA Project overview from Technical Steering Committee Chair Philipp Ahmann (ETAS), highlighting overall progress and reinforcing ELISA’s mission to define and maintain common elements, processes, and tools that support safety certification for Linux-based systems.

The first day highlighted progress across ELISA’s core Working Groups:

Open Source Engineering Process – Paul Albertella (Codethink) shared updates on process alignment and best practices to support safety certification efforts.

Systems and Automotive – Philipp Ahmann discussed advancements in aligning Linux with functional safety requirements for automotive and system-level applications.

Safety Architecture – Gabriele Paoloni (Red Hat) presented ongoing architectural work supporting safety use cases.

Linux Features for Safety-Critical Systems – Alessandro Carminati (NVIDIA) outlined kernel and feature-level progress enabling dependable Linux deployments.

The second day focused on use-case driven Working Groups and SIGs:

Aerospace – Matthew Weber (The Boeing Company) shared updates on Linux in aerospace systems.

Space Grade Linux – Ramon Roche (The Linux Foundation) discussed the evolution of Space Grade Linux and its relationship with ELISA.

BASIL & Tools WG Evolution – Luigi Pellecchia (Red Hat) highlighted progress in tooling and traceability efforts.

Lighthouse SIG – Philipp Ahmann provided insights into cross-domain collaboration and coordination.

The event concluded with closing reflections and a forward-looking discussion on collaboration opportunities in 2026.

Continuing the Work

The WG & SIG Annual Updates are more than a status review, they are a coordination point for the year ahead. As Linux adoption in safety-critical systems continues to expand across automotive, aerospace, industrial, and emerging domains, ELISA remains committed to open collaboration, practical tooling, and shared technical foundations.

Thank you to all speakers, contributors, and attendees who helped make the 2026 updates a success.

We look forward to another year of advancing Linux in safety-critical environments together.