Skip to content

scripts: Add explicit timeouts and record commit metadata in reports - #206

Merged
morehouse merged 2 commits into
lnfuzz:masterfrom
Chand-ra:orchestrator
Sep 1, 2026
Merged

scripts: Add explicit timeouts and record commit metadata in reports#206
morehouse merged 2 commits into
lnfuzz:masterfrom
Chand-ra:orchestrator

Conversation

@Chand-ra

Copy link
Copy Markdown

This PR introduces two improvements to the Smite coverage-based effectiveness evaluation pipeline:

  • Explicit fuzzer timeouts: Add explicit execution and hang timeout parameters to the fuzzer invocation in smite-orchestrator.py. This prevents false-positive hangs and timeouts for IR programs.

  • Evaluation data lineage: Record the latest Git commit hash and date for each configuration worktree during campaign startup, displaying this metadata at the top of the generated evaluation reports. This ensures strict data provenance for a rigorous evaluation.

@Chand-ra

Copy link
Copy Markdown
Author

Addresses #205.

@erickcestari erickcestari left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice, really quick PR, and the commit hash is a great addition.

This should fix the issue I've recently opened #205.

Comment thread scripts/smite-orchestrator.py Outdated

@morehouse morehouse left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How was this tested? It broke for me on the first try.

Comment thread scripts/smite-orchestrator.py Outdated
Comment thread scripts/smite-orchestrator.py Outdated
Comment thread scripts/smite-orchestrator.py
@Chand-ra
Chand-ra force-pushed the orchestrator branch 2 times, most recently from bf069f9 to 3b2916e Compare September 1, 2026 17:18
@Chand-ra

Chand-ra commented Sep 1, 2026

Copy link
Copy Markdown
Author

Rebased on top of the latest master and verified with a 10 minutes fuzzing campaign on LDK. Here's the abbreviated evaluation report:

# Fuzzing Evaluation Report

**Configuration A (Baseline):** `control` *(Commit: adcba47 (2026-08-12))*
**Configuration B (Experimental):** `test` *(Commit: adcba47 (2026-08-12))*
...

Comment thread scripts/smite-orchestrator.py Outdated
"AFL_NO_UI": "1",
"AFL_NO_COLOR": "1",
"AFL_FORKSRV_INIT_TMOUT": "1800000",
"AFL_HANG_TIMEOUT": str(self.hang_timeout),

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is still the wrong env var.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Stupid mistake. Fixed now.

Chandra Pratap added 2 commits September 1, 2026 20:59
The IR programs take longer to execute than standard AFL++ inputs,
so using the default AFL++ values causes false positive hangs
and timeouts.

Add explicit timeout durations to mitigate this.
…n reports

For each configuration, record the latest Git commit metadata
corresponding to that configuration and display it in the final
report. This ensures evaluation data lineage and reproducibility.

@morehouse morehouse left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@morehouse
morehouse merged commit d9abddb into lnfuzz:master Sep 1, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants