Cascade: CPU Fuzzing via Intricate Program Generation

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • sandsifter

    The x86 processor fuzzer

  • sail-riscv

    Sail RISC-V model

  • the retired instruction counters when written by software.

    Funnily enough the Sail model had this bug too! https://github.com/riscv/sail-riscv/issues/256

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • riscv-boom

    SonicBOOM: The Berkeley Out-of-Order Machine

  • Looks like from Appendix D that only 2 bugs were found in BOOM:

    > 1. Inaccurate instruction count when minstret is written by software

    I don't know what that means, but having minstret written by software was definitely not something I ever tested. In general, perf counters are likely to be undertested.

    > 2. Static rounding is ignored for fdiv.s and fsqrt.s

    A mistake was made in only listening to the dynamic rounding mode for the fdiv/sqrt unit. This is one of those bugs that is trivially found if you test for it, but it turns out that no benchmarking ever cared about this and from all of the fuzzers I used when I worked on BOOM, NONE of them hit it (including commercial ones...). Ooops.

    Fixed here: https://github.com/riscv-boom/riscv-boom/pull/629/files

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts