Csmith

{{Short description|Test case generation tool}}

{{Infobox software

|name = Csmith

|logo =

|screenshot =

|caption =

|author = Xuejun Yang, Yang Chen, Eric Eide, John Regehr

|developer =

|released = {{Start date and age|2011}}

|latest release version = 2.3.0

|latest release date = {{Start date and age|2017|06|21}}

|programming language = C++, Perl

|genre = Compiler fuzzer

|license = BSD license

|website = {{URL|https://embed.cs.utah.edu/csmith/}}

|repo = {{URL|https://github.com/csmith-project/csmith/}}

}}

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.{{cite book|last1=Yang|first1=Xuejun|title=Proceedings of the 32nd ACM SIGPLAN conference on Programming language design and implementation - PLDI '11|last2=Chen|first2=Yang|last3=Eide|first3=Eric|last4=Regehr|first4=John|chapter=Finding and understanding bugs in C compilers|year=2011|pages=283|doi=10.1145/1993498.1993532|isbn=9781450306638|citeseerx=10.1.1.225.1281}}

References