Hi, I'm Peter Goodman.

Workshop Papers
Peter Goodman, Alex Groce
DeepState: Symbolic Unit Testing for C and C++.
In the 1st Workshop on Binary Analysis Research (BAR 2018).
Akshay Kumar, Peter Goodman, Angela Demke Brown, and Ashvin Goel.
Behave or Be Watched: Debugging with Behavioral Watchpoints.
In the 9th Workshop on Hot Topics in Dependable Systems (HotDep 2013).
Posters
Peter Goodman, Angela Demke Brown, and Ashvin Goel.
RaceSanitizer: Sampling for Data Races. In the 2015 LLVM Developer Meetup.
Peter Goodman, Akshay Kumar, Angela Demke Brown, and Ashvin Goel.
Granary: Comprehensive Kernel Module Instrumentation.
In the 10th USENIX Symposium on Operating Systems Design and Implementation (OSDI 2012).
Peter Goodman, Akshay Kumar, Angela Demke Brown, and Ashvin Goel.
Protecting Kernels from Untrusted Modules using Dynamic Binary Instrumentation.
In the Seventeenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2012).
Projects
DeepState is Google Test-like framework for transparently augmenting C/C++ unit tests with symbolic execution and fuzzing.
Remill is a library for lifting of x86, amd64, and aarch64 machine code instructions to LLVM bitcode.
McSema 2.0 is a framework for lifting x86, amd64, and aarch64 program binaries to LLVM bitcode. Lifted bitcode can be compiled into runnable executables, or symbolically executed with KLEE.
GRR is a high-throughput fuzzer and emulator of DECREE binaries. GRR was used as the main bug-finding tool of the Trail of Bits and DeepRed teams during DARPA's Cyber Grand Challenge.
microx is a library and Python extension for safely executing (almost) any x86 or amd64 instruction. It uses a combination of emulation and just-in-time dynamic binary translation to enable the library's user to provide register and memory values for the instruction's execution.
Granary 2.0 is an experimental user-space dynamic binary translator that enables flexible, instruction-granularity instrumentation using dynamic inline assembly and virtual registers.
Granary is a kernel-space dynamic binary translation framework. Granary enables flexible and efficient instrumentation of Linux kernel modules, while imposing no overhead to non-module kernel code.
Grail+ is a set of command line tools for manipulating non-deterministic finite automata (NFAs), non-deterministic pushdown automata (PDAs), and context-free grammars (CFGs). Grail+ is built on top of the Formal Language Template Library (FLTL), a library for representing and symbolically manipulating CFGs, NFAs, and PDAs.
Social
LinkedIn
GitHub