SNAP
ToolFirst seen 7/5/2026
Last seen 7/5/2026
Evidence 18 chunks
NEIGHBORHOOD
No graph connections found for this entity yet. It may appear in future ingestion runs.
explore full graph →RELATIONSHIPS
32 connectionsSNAP implements hardware primitives including BUQ, LBQ, and trace decision logic inside the CPU core.
SNAP uses trace decision logic at the Fetch Stage to identify and tag instructions for tracing.
SNAP enhances coverage-guided fuzzing by providing hardware-level support for coverage tracing.
SNAP provides coverage tracing directly from the processor pipeline without instrumentation.
SNAP leverages the existing CPU pipeline to provide coverage tracing with near-zero cost.
SNAP leverages micro-architectural states such as branch predictions to provide richer execution semantics.
SNAP uses branch prediction results from the LBQ to approximate data flow information.
SNAP introduces new CSRs as configuration interfaces between hardware and OS for fuzzing control.
SNAP adopts memory request aggregation as a micro-architectural optimization to reduce bitmap update overhead.
SNAP adopts opportunistic bitmap update to maximize utilization of free cache bandwidth.
SNAP uses a novel edge encoding algorithm (Algorithm 2) that leverages instruction bytes for better entropy.
SNAP provides control flow tracing by monitoring branch instructions in the processor pipeline.
SNAP approximates data flow analysis using branch prediction results without instrumentation overhead.
SNAP achieves 228x higher throughput compared to DBI-based fuzzing approaches.
SNAP implements hardware-assisted fuzzing by providing hardware primitives for coverage tracing without instrumentation.
SNAP achieves 228x higher fuzzing throughput compared to DBI schemes like QEMU mode.
SNAP is compared against AFL source code instrumentation and shown to have much lower tracing overhead.
SNAP provides a clean interface for AFL-based fuzzers to adopt its hardware tracing.
The paper evaluates SNAP's performance and precision benefits for fuzzing.
The paper proposes SNAP, a customized hardware platform implementing hardware primitives for coverage-guided fuzzing.
SNAP uses the Bitmap Update Queue as one of its core hardware units for managing coverage bitmap updates.
SNAP uses the Last Branch Queue to collect information about last-executed branches for contextual feedback.
SNAP generates and updates a coverage bitmap to track code coverage during fuzzing.
SNAP tracks edge coverage as its primary coverage metric, extending it with richer semantics.
SNAP uses basic block IDs for edge encoding, leveraging instruction bytes for entropy.
SNAP is prototyped on top of the RISC-V BOOM core.
SNAP is compared to Intel PT as an alternative hardware tracing approach for fuzzing.
SNAP's BUQ allows the load part of bitmap updates to proceed speculatively, leveraging out-of-order/speculative execution.
SNAP is used to fuzz Binutils v2.28 with AFL assistance for evaluation.
SNAP is designed and implemented based on the out-of-order BOOM core.
SNAP is compared to PHMon as a hardware-based tracing approach, claiming significant performance improvements.
SNAP uses a real hardware FPGA platform for evaluation.