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