Dynamic program analysis is the analysis of computer software that is performed by executing programs on a real or virtual processor. — Wikipedia
This is a collection of dynamic analysis tools and code quality checkers. Pull requests are very welcome!
Note: ©️ stands for proprietary software. All other tools are Open Source.
Also check out the sister project, awesome-static-analysis.
- angr - Platform agnostic binary analysis framework from UCSB.
- TRITON - Dynamic Binary Analysis for x86 binaries.
- KLEE - Symbolic virtual machine built on top of the LLVM compiler infrastructure.
- tis-interpreter - An interpreter for finding subtle bugs in programs written in standard C
- Valgrind - An instrumentation framework for building dynamic analysis tools
- LLVM/Clang Sanitizers
- AddressSanitizer - A memory error detector for C/C++
- MemorySanitizer - A detector of uninitialized memory reads in C/C++ programs.
- ThreadSanitizer - A data race detector for C/C++
- Java PathFinder - An extensible software model checking framework for Java bytecode programs.
- typo - Runtime Type Checking for Python 3
To the extent possible under law, Matthias Endler has waived all copyright and related or neighboring rights to this work.
Logo designed by Freepik