BitBlaze and BAP are two platforms to perform binary analysis. And, if I understand well, they are sharing lots of common features. What are their respective main features and in what do they differ from each other ?
BAP is mostly a rewrite of BitBlaze, so feature-wise there are many common features. However, many of these have been re-written or re-designed for BAP.
- Lifting of usermode, x86 instructions
- Datafow analysis module
- Dominator analysis
- CFG and SSA representations
- Optimization framework
- Verification condition generation
- Dependency graphs
I am a BAP developer, so I can mainly attest to what is new in BAP since we split. However, I don't think BitBlaze has (publicly) added new features since then.
New in BAP:
- Formally defined semantics for the IL
- PIN-based user-level taint tracking and tracing tool
- Integration with LLVM
- Native instruction lifting (i.e., in OCaml)
Only in BitBlaze:
- TEMU system-level taint tracking and tracing tool