Skip to content
Avatar

Organizations

@taffybar
Block or Report

Block or report travitch

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
travitch/README.md

I enjoy building secure and correct systems. I have built a number of static analysis and automated verification tools, with a recent focus on analysis of binaries.

Repositories

Data Structures

Data structures that may be generally useful

  • haggle [32 📖]: An efficient graph library for Haskell
  • persistent-vector [22 📖]: Persistent vectors for Haskell based on array mapped tries
  • robbed [3 ]: A pure Haskell implementation of Reduced Ordered Binary Decision Diagrams (BDDs)

Program Analysis

  • build-bom [28 ]: Dynamically discover the commands used to create a piece of software
  • whole-program-llvm [520 ]: A wrapper script to build whole-program LLVM bitcode files; note that I consider this to be obsoleted by build-bom, which takes a more robust approach to the same problem
  • itanium-abi [10 📖]: An implementation of C++ name mangling for the Itanium ABI
  • what4-serialize [0 ]: Serialization/deserialization for What4 expressions

Binary Analysis

  • crepitans [2 ]: A tool for scriptable exploration of binaries
  • dismantle [18 ]: A library of assemblers and disassemblers derived from LLVM TableGen data
  • portable-executable [3 ]: Tools for working with the Windows Portable Executable (PE) file format
  • semmc [35 ]: Stratified synthesis for learning machine code instruction semantics
  • macaw [169 ]: Open source binary analysis tools.
  • macaw-loader [3 ]: Uniform interface to load a binary executable and get Macaw Memory and a list of entry points.
  • renovate [36 ]: A library for binary analysis and rewriting
  • language-sleigh [3 ]: A parser for the Sleigh language, which is used to represent ISA semantics in Ghidra
  • mctrace [3 ]: An implementation of DTrace for machine code

Debugging Tools

  • ddmin [3 ]: An implementation of delta debugging (ddmin) in Haskell
  • surveyor [15 ]: A symbolic debugger for C/C++ (via LLVM), machine code, and JVM programs
  • binary-walkr [2 ]: A tool for examining ELF binaries

Solvers

Note that these are interesting and informative, but definitely not efficient enough to use in production

  • satisfaction [2 ]: A DPLL SAT solver written in Haskell
  • datalog [95 ]: A pure Haskell implementation of Datalog
  • ifscs [4 📖]: An inductive form set constraint solver in Haskell
  • satir [1 ]: An implementation of a SAT solver in Rust

Emacs Packages

Others

  • taffybar [615 📖]: A gtk based status bar for tiling window managers such as XMonad; now maintained by Ivan Malison
  • travitch [1 ]: The code for my Github profile page, which generates this page
  • blog [3 ]: The code for my blog (ravit.ch)
  • dotfiles [0 ]: A collection of dotfiles managed by Chezmoi

Pinned

  1. A wrapper script to build whole-program LLVM bitcode files

    Python 520 114

  2. datalog Public

    A pure Haskell implementation of Datalog

    Haskell 95 13

  3. haggle Public

    An efficient graph library for Haskell

    Haskell 32 6

  4. A library of assemblers and disassemblers derived from LLVM TableGen data

    HTML 18 3

  5. Persistent vectors for Haskell based on array mapped tries

    Haskell 22 4

  6. build-bom Public

    Dynamically discover the commands used to create a piece of software

    Rust 28 4

658 contributions in the last year

Dec Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Mon Wed Fri
Activity overview
Contributed to GaloisInc/pate, travitch/dotfiles, GaloisInc/macaw and 34 other repositories

Contribution activity

December 2022

10 contributions in private repositories Dec 1 – Dec 2

Seeing something unexpected? Take a look at the GitHub profile guide.