Skip to content

Add cargo-fuzz targets for AADL parser + scheduling solver inputs #138

@avrabe

Description

@avrabe

Part of the V&V coverage initiative.

Problem

spar has proptest coverage on the parser but no cargo-fuzz directory. Adversarial AADL inputs and pathological solver inputs are exactly the robustness story fuzzing owns, and provide corpus for the criterion benchmark issue (worst-case inputs).

Recognized under DO-178C §6.4.2.2 (random testing) and ISO 26262-6 Table 9 (fault injection adjacent).

Acceptance

  • fuzz/ directory scaffolded with cargo-fuzz init
  • Fuzz targets:
    • fuzz_aadl_parse — malformed AADL rejected cleanly
    • fuzz_scheduler_solver — adversarial task sets do not panic / hang solver
    • fuzz_codegen_roundtrip — every valid schedule round-trips through codegen
  • CI PR smoke: 60s per target
  • Nightly: 1h per target, corpus persisted
  • Corpus under fuzz/corpus/<target>/, reused by criterion benches for worst-case timing
  • Traceability in rivet.yaml

Notes

  • Libfuzzer-sys layout from relay/fuzz/
  • Solver fuzzing will surface non-termination bugs — use -timeout aggressively

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions