Salt Lake City, UT, USA

John Regehr

Elite
@regehr

CS professor at the University of Utah

ub-canaries. collection of C/C++ programs that try to get compilers to exploit undefined behavior

185

itc-benchmarks. static analysis benchmarks from Toyota ITC

121

opt-fuzz. llvm opt fuzzer and bounded exhaustive test generator

47

compiler-crashes. 60 artisanal compiler crashes

39

nibble-sort. Many functions in C for sorting the nibbles in an 8-byte word

33

rb_tree_demo. code accompanying a blog post about fuzzing a red-black tree implementation: http://blog.regehr.org/archives/896

18

pldi22-llvm-tutorial. outline and links for PLDI 2022 tutorial

17

guided-tree-search. heuristically and dynamically sample (more) uniformly from large decision trees of unknown shape

14

sudo-1.8.13. sudo for compiler bug demo

13

llvm-dataflow-info. print information from LLVM dataflow analyses

13

solid_code_class. shared files for U of Utah CS 5959: Writing Solid Code

11

str2long_contest. code corresponding to a coding contest posted here: http://blog.regehr.org/archives/909

10

fs-fuzz. two simple fuzzers, one for UNIX filesystem operations, the other for C streams

10

alive2. C++

10

const_time. empirical measurement of code constructs that seem like they should have constant execution time regardless of values of inputs

8

llvm-pass-template. minimal out-of-tree LLVM pass

8

random-testing-book. C

6

cost-model. looking into devising good cost models for optimizing LLVM IR

5

rc4-poc. proof of concept for local OpenSSL RC4 buffer overrun bug

5

optimizer-eval. compiler optimizer evaluation

4

isolating-a-miscompilation. code accompanying a blog post about a compiler bug

4

python_rb_tree_demo. demonstration of fuzzing a red-black tree in Python for a blog entry

4

sudoku. brute-force sudoku solver in C

3

souper. C++

3

advanced_os_class. shared repo for U of Utah CS 5962 spring 2014

3

llvm-project. This is the canonical git mirror of the LLVM subversion repository. The repository does not accept github pull requests at this moment. Please submit your patches at http://reviews.llvm.org.

3

yarpgen. Yet Another Random Program Generator

3

compiler-explorer. Run compilers interactively from your web browser and interact with the assembly

2

llvm-dataflow-research. experimenting with better interval transfer functions for LLVM

2

creduce. C-Reduce, a C program reducer

2

CompCert. The CompCert C verified compiler

2

llvm-test-lvi. LLVM pass for testing the soundness of the LazyValueInfo analysis pass

2

calc-compiler. tiny language compiler for class

2

parse-arm. C++

2

assert_quiz. A quick quiz about how assertions should be used.

2

minotaur. LLVM

1

font_renderer. C++

1

brainfuck. Brainfuck interpreter companion to the brain programming language

1

klee. KLEE Symbolic Virtual Machine

1

csmith. Csmith, a random generator of C programs

1

s2n. s2n : an implementation of the TLS/SSL protocols

1
41
Apply