Title: Extending Runtime Verification (RV) Monitors with More Languages
Proposal: "The Linux kernel's runtime verification (RV) subsystem validates at runtime
that the system follows specified properties. These properties can currently
be written in two languages: deterministic automata (DA) and linear temporal
logic (LTL).
Deterministic automata are primitive: properties written as automata tend to
be large, complicated, and hard to review. LTL was introduced to ameliorate
this, but it still lacks the constructs to describe complex properties
elegantly. Additionally, LTL does not support timing, which is
crucial for some cases (e.g. verification of the deadline scheduler).
This project explores other potential languages for runtime
verification. Candidates include:
- Property Specification Language (PSL),which is standardized by IEEE, enhances the expressiveness power of of Linear Temporal Logic
- Signal Temporal Logic (STL) which extend LTL with timing properties"
How it supports ELISA: Runtime verification is a key building block for safety arguments about
Linux: instead of (or in addition to) arguing that the kernel is correct by
construction, RV monitors detect violations of safety properties at runtime.
Today, timing-related safety properties — such as deadline scheduler
guarantees or watchdog deadlines relevant to the Automotive and Medical
Devices working groups — cannot be expressed in the kernel's RV languages at
all. This initiative closes that gap and makes complex properties readable
enough to be reviewed as part of a safety case, directly supporting the
work on kernel safety claims and evidence.
Tangible Deliverables: (Months 1–3): A documented study evaluating different potential property
specification languages.
(Months 4–9): A kernel patch series implementing the promising languages
in Linux runtime verification.
(Months 10-12): A kernel patch series converting the existing RV
monitors (written in deterministic automata and linear temporal logic)
into better languages.
What's preventing progress: Lack of funding
Being worked on by other project/community: The RV subsystem already exists in the mainline Linux kernel with
support for deterministic automata and linear temporal logic as
specification languages. This initiative enhances RV with more advanced
languages.
Funding: around 11 months of work, details can be deliverd if this proceeds
If not pursued, what opportunities/benefits/capabilities will be lost The RV monitors would only support limited specification languages.
Title: Extending Runtime Verification (RV) Monitors with More Languages
Proposal: "The Linux kernel's runtime verification (RV) subsystem validates at runtime
that the system follows specified properties. These properties can currently
be written in two languages: deterministic automata (DA) and linear temporal
logic (LTL).
Deterministic automata are primitive: properties written as automata tend to
be large, complicated, and hard to review. LTL was introduced to ameliorate
this, but it still lacks the constructs to describe complex properties
elegantly. Additionally, LTL does not support timing, which is
crucial for some cases (e.g. verification of the deadline scheduler).
This project explores other potential languages for runtime
verification. Candidates include:
How it supports ELISA: Runtime verification is a key building block for safety arguments about
Linux: instead of (or in addition to) arguing that the kernel is correct by
construction, RV monitors detect violations of safety properties at runtime.
Today, timing-related safety properties — such as deadline scheduler
guarantees or watchdog deadlines relevant to the Automotive and Medical
Devices working groups — cannot be expressed in the kernel's RV languages at
all. This initiative closes that gap and makes complex properties readable
enough to be reviewed as part of a safety case, directly supporting the
work on kernel safety claims and evidence.
Tangible Deliverables: (Months 1–3): A documented study evaluating different potential property
specification languages.
(Months 4–9): A kernel patch series implementing the promising languages
in Linux runtime verification.
(Months 10-12): A kernel patch series converting the existing RV
monitors (written in deterministic automata and linear temporal logic)
into better languages.
What's preventing progress: Lack of funding
Being worked on by other project/community: The RV subsystem already exists in the mainline Linux kernel with
support for deterministic automata and linear temporal logic as
specification languages. This initiative enhances RV with more advanced
languages.
Funding: around 11 months of work, details can be deliverd if this proceeds
If not pursued, what opportunities/benefits/capabilities will be lost The RV monitors would only support limited specification languages.