README.md
March 1, 2026 ยท View on GitHub
Artifact for invariant-guided logical testing of O-RAN (InvaRAN)
We provide the following code artifact and examples:
- initial trace collection instrumentation: trace-instrument
- example trace-instrumented xApp: rimedo-ts-trace instrumented
- contains an example trace file and the inferred invariants
- static analysis for critical invariant classification: inv_classify (Section 4.1)
- correlation analysis: correlate (Section 4.2)
- contains an example trace to test correlation functionalities.
- the number of traces have been reduced to ensure analysis can complete on a regular machine with limited memory, so the result may differ slightly to the ones reported in our paper.
- invariant assertion instrumentation: assert-instrument
- example assertion-instrumented xApp: rimedo-ts-assertion-instrumented
- fuzzer: fuzzer
Commands for using each component are provided in each component's Dockerfile and/or Makefile.
Workflow:
- trace-instrument to instrument the test component for trace collection
- execute test component to collect benign traces
- uses daikon and correlate to generate likely invariants from benign traces
- inv_classify for classifying critical/non-critical invariants
- assert-instrument to instrument the collected likely invariants back to test components
- fuzzer to apply grammar-aware mutation and fuzzing to find violations of critical invariants
Example:
- rimedo-ts-trace-instrumented presents a sample component (rimedo-ts xApp of SD-RAN) instrumented with log collection, and example inferred Daikon invariants
- correlate contains the inferred consistent correlation
- rimedo-ts-assertion-instrumented contains assertion-instrumented component