Skip to content

Add pre-v1 robustness, fuzz and soak evidence #215

Description

@Inczert

Parent: #209

Context

The existing CI has broad deterministic unit/contract/integration/sanitizer coverage, but the pre-v1 audit found no dedicated fuzz/property or long-running soak campaign.

A stable infrastructure library should have evidence for malformed-input resilience and repeated lifecycle/ownership/reconnect behavior beyond short deterministic fixtures.

Fuzz/property candidates

Prioritize bounded parsers/state machines with externally influenced input:

  • VSPW-TP header/frame decode and validation;
  • fragmentation/reassembly including overlap/duplicate/conflict cases;
  • VSPD protocol codec/record validation;
  • CUSE record codec where useful;
  • configuration validation/state-machine invariants.

The fuzz targets must remain bounded and suitable for sanitizers. Corpus/regression inputs from discovered failures should be committed where appropriate.

Soak/stress candidates

Add a repeatable long-running campaign for representative virtual paths:

  • repeated simulator open/start/traffic/reset/close/reopen;
  • sustained full-duplex copied traffic;
  • zero-copy acquire/submit/reclaim/release cycling and pool exhaustion/recovery;
  • UDP peer restart/reconnect/session rollover under sustained traffic;
  • DEVICE/vspwd daemon/client restart cycles on Linux;
  • bounded queue pressure without leaks or ownership corruption.

This need not run at maximum duration on every PR. Use a short CI smoke plus a longer scheduled/manual mode if appropriate.

Acceptance

  • sanitizer-enabled fuzz/property targets exist for the selected protocol/parser boundaries;
  • a committed regression corpus covers any failures discovered;
  • short deterministic stress smoke runs in ordinary CI;
  • longer soak mode is reproducible and documents duration/seed/configuration;
  • repeated runs show no leaks, sanitizer failures, stale ownership, deadlocks or unbounded resource growth;
  • results are software robustness evidence, not physical SpaceWire qualification.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions