| title | Guidelines for Developers and QA Teams | ||
|---|---|---|---|
| layout | single | ||
| permalink | / | ||
| classes | wide | ||
| sidebar |
|
This page complements the paper "Runtime Verification and Field-based Testing for ROS-Based Robotic Systems" and is an online repository of the guideline catalog for ROS-based Robotics projects.
You can further find the guidelines and information on the evaluation process. Reproduction kits, specifications, and accompanying code can be found in our replication package.
{: #whats-new}
- March 2026 — New exemplar added: UPPAAL automated verification toolchain for ROS 2 (PE2).
- March 2026 — New exemplars: R2D2 and ROFER ROS 2 fuzzers (MTA1).
- March 2026 — New exemplars: FRET (SDB1) and FRET+Ogma+Copilot pipeline (MTA2).
Guidelines for preparing ROS-based systems for verification and testing.
{: #patternsref}
- CI1 — Identify timing constraints
- CI2 — Identify security and privacy constraints
- CI3 — Identify safety constraints
- CD1 — Strive for ROS nodes with single responsibility
- CD2 — Ensure global time monotonicity of events and states
- I1 — Provide an API for querying and updating internal lifecycle
- I2 — Provide an API for logging and filtering
- I3 — Provide an API for injecting faults in execution scenarios
- I4 — Isolate components for testing
- SDB1 — Define properties using a logic-based language
- SDB2 — Use Domain Specific Languages (DSLs) to specify properties
- SDB3 — Use languages and tools to scenario-based specification of test cases
- MTA1 — Improve the robustness of the system by performing noise and fault injection
- MTA2 — Exploit automation for test case generation, test case prioritization and selection, oracle and monitor generation
