How do you test compiler projects?

This page summarizes the projects mentioned and recommended in the original post on /r/Compilers

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.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • hyperfine

    A command-line benchmarking tool

  • Additionally, you can check against another proven compiler (for example, Rust or python) the output of yours to see if returns the same. It also can work as a benchmark (nice to run with https://github.com/sharkdp/hyperfine for example)

  • wasp

    🐝 Wasp : Wasm programming language (by pannous)

  • 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
  • AFLplusplus

    The fuzzer afl++ is afl with community patches, qemu 5.1 upgrade, collision-free coverage, enhanced laf-intel & redqueen, AFLfast++ power schedules, MOpt mutators, unicorn_mode, and a lot more!

  • I use fuzzers, as every programmer should, and do not commit unless my compiler can be fuzzed for at least 24 hours without any crashes (if I were selling the software, I'd increase that period). I use AFL++ in LTO mode and comby-decomposer with a crappy script I made to collect crash test cases. I am also interested in afl-compiler-fuzzer, but have not yet tried it. Later, I'd like to try my hand at making a test generator that reaches codegen more often (no compile errors in the random source code). I use afl-tmin to minimize test cases, but the result is always illegible without manual work, and usually has extra junk the minimizer is incapable of deleting. Something like C-Reduce would be useful here.

  • afl-compiler-fuzzer

    Variation of american fuzzy lop for testing compilers

  • I use fuzzers, as every programmer should, and do not commit unless my compiler can be fuzzed for at least 24 hours without any crashes (if I were selling the software, I'd increase that period). I use AFL++ in LTO mode and comby-decomposer with a crappy script I made to collect crash test cases. I am also interested in afl-compiler-fuzzer, but have not yet tried it. Later, I'd like to try my hand at making a test generator that reaches codegen more often (no compile errors in the random source code). I use afl-tmin to minimize test cases, but the result is always illegible without manual work, and usually has extra junk the minimizer is incapable of deleting. Something like C-Reduce would be useful here.

    For more compilers correctness* resources see https://github.com/MattPD/cpplinks/blob/master/compilers.correctness.md

  • turnt

    simple snapshot-style integration testing for commands

  • emponcc

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
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

  • Why is my fuzzer running so slow?

    1 project | /r/rust | 1 May 2023
  • Olive programming language

    3 projects | /r/C_Programming | 30 Mar 2023
  • LibAFL, the Advanced Fuzzing Library reached 0.8.0 - develop fuzzers in Rust

    2 projects | /r/rust | 20 Jul 2022
  • New Mode for AFL++

    1 project | news.ycombinator.com | 1 Apr 2022
  • Frelatage: A fuzzing library to find vulnerabilities and bugs in Python applications

    4 projects | /r/Python | 17 Mar 2022