macOS
brew install csmithlocal Homebrew formula metadata
brew
Generates random C programs conforming to the C99 standard. Version 2.3.0 via Homebrew; verified 2026-06-19.
install
brew install csmithlocal Homebrew formula metadata
sudo apk add csmithAlpine Linux edge package indexes · csmith · source: dl-cdn.alpinelinux.org
sudo apt install csmithDebian stable package indexes · csmith · source: deb.debian.org
sudo dnf install csmithFedora Rawhide package metadata · csmith · source: dl.fedoraproject.org
nix profile install nixpkgs#csmithnixpkgs package indexes · pkgs/by-name/cs/csmith/package.nix · source: api.github.com
sudo zypper install csmithopenSUSE Tumbleweed package metadata · csmith · source: download.opensuse.org
overview
Generates random C programs conforming to the C99 standard
history
Csmith is a random C program generator designed for compiler testing. It is a package-nerd staple because it turns compiler validation into a repeatable command-line workload that distributions can package and compiler developers can run locally.
The official README says Csmith was developed at the University of Utah by Xuejun Yang, Yang Chen, Eric Eide, and John Regehr as part of a compiler-testing research project. It says the project was open sourced in 2009 and is maintained as an open-source project in discretionary time.
The project became known through differential testing of C compilers. The README points to the paper Finding and Understanding Bugs in C Compilers as the best summary of the research, and the packaged tool is available across Homebrew and several Linux distributions according to the input package-manager facts.
Official usage examples generate a random C file with csmith, compile it with GCC and Clang, run both outputs, and compare results. The README also notes that generated programs avoid undefined behavior and that timeouts are best practice because generated programs can contain infinite loops.
Csmith is a compact command-line generator with outsized value for compiler packages: it can be scripted into local compiler checks, regression hunts, and distribution QA without a large service dependency.
security posture
narrow executable package without higher-risk signals.
green risk · low confidence · appliance
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
executables
| Command | Kind | Exposure | Note |
|---|---|---|---|
compiler_test.pl | cli | global executable | |
csmith | cli | global executable | |
launchn.pl | cli | global executable |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
https://github.com/csmith-project/csmith
install metadata
| Package key | brew:csmith |
|---|---|
| Version | 2.3.0 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/csmith |
| Homepage | https://github.com/csmith-project/csmith |
| Repository | https://github.com/csmith-project/csmith |
| Upstream docs | https://github.com/csmith-project/csmith#readme |
| License | BSD-2-Clause |
| Source archive | https://github.com/csmith-project/csmith/archive/refs/tags/csmith-2.3.0.tar.gz |
| Last updated | 2026-06-19T12:30:04-07:00 |
| Pulse | updated |
| Bottle | available (on arm64_big_sur, arm64_linux, arm64_monterey, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, big_sur, catalina, monterey, sonoma, ventura, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
| Caveats | It is recommended that you set the environment variable 'CSMITH_PATH' to $HOMEBREW_CELLAR/csmith/2.3.0/include/csmith-2.3.0 |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | csmith |
| Version Scheme | 0 |
| Revision | 0 |
| Head Version | HEAD |
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
csmith 2.3.0-8
generator of random C programs
https://embed.cs.utah.edu/csmith/
sudo apt install csmithlibcsmith-dev 2.3.0-8
generator of random C programs (development files)
https://embed.cs.utah.edu/csmith/
sudo apt install libcsmith-devlibcsmith0t64 2.3.0-8
generator of random C programs (runtime library)
https://embed.cs.utah.edu/csmith/
sudo apt install libcsmith0t64csmith
nix profile install nixpkgs#csmithcsmith 2.3.0-7.1build1
generator of random C programs
https://embed.cs.utah.edu/csmith/
sudo apt install csmithlibcsmith-dev 2.3.0-7.1build1
generator of random C programs (development files)
https://embed.cs.utah.edu/csmith/
sudo apt install libcsmith-devlibcsmith0t64 2.3.0-7.1build1
generator of random C programs (runtime library)
https://embed.cs.utah.edu/csmith/
sudo apt install libcsmith0t64csmith 2.3.0-r2
Tool for generating random C programs
https://embed.cs.utah.edu/csmith/
sudo apk add csmithcsmith-doc 2.3.0-r2
Tool for generating random C programs (documentation)
https://embed.cs.utah.edu/csmith/
sudo apk add csmith-doccsmith 2.4.0-15.fc44
Tool to generate random C programs for compiler testing
http://embed.cs.utah.edu/csmith/
sudo dnf install csmithcsmith-devel 2.4.0-15.fc44
Header files and libraries for Csmith development
http://embed.cs.utah.edu/csmith/
sudo dnf install csmith-develcsmith 2.3.0-1.31
Random C code generator
https://github.com/csmith-project/csmith
sudo zypper install csmithsource trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.