From Wikipedia, the free encyclopedia
Test case generation tool
| Csmith | |
|---|---|
| Original authors | Xuejun Yang, Yang Chen, Eric Eide, John Regehr |
| Initial release | 2011; 15 years ago (2011) |
| Stable release | 2.3.0
/ June 21, 2017; 8 years ago (2017-06-21) |
| Repository | github |
| Written in | C++, Perl |
| Type | Compiler fuzzer |
| License | BSD license |
| Website | embed |
Csmith is a test case generation tool. It can generate random C programs that statically and dynamically conform to the C99 standard. It is used for stress-testing compilers, static analyzers, and other tools that process C code. It is a free, open source, permissively licensed C compiler fuzzer developed by researchers at the University of Utah. It was previously called Randprog.[1]
External links
[edit]- University of Utah Csmith webpage
- yarpgen: Yet Another Random Program Generator, yarpgen is a random C/C++ program generator
References
[edit]- ^ Yang, Xuejun; Chen, Yang; Eide, Eric; Regehr, John (2011). "Finding and understanding bugs in C compilers". Proceedings of the 32nd ACM SIGPLAN conference on Programming language design and implementation - PLDI '11. p. 283. CiteSeerX 10.1.1.225.1281. doi:10.1145/1993498.1993532. ISBN 9781450306638.
Retrieved from "https://en.wikipedia.org/w/index.php?title=Csmith&oldid=1250388417"
Hidden categories:
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
url
