Valgrind Resource Collection¶
Valgrind Articles¶
Valgrind Slides¶
Projects with Valgrind¶
Papers¶
- [2015] MemorySanitizer: fast detector of uninitialized memory use in C++
- [2014] ACDC-JS: explorative benchmarking of javascript memory management
- [2013] JSWhiz - Static Analysis for JavaScript Memory Leaks
- [2012] AddressSanitizer: A Fast Address Sanity Checker
- [2012] Transparent Dynamic Instrumentation
- [2011] Practical Memory Checking with Dr. Memory
- [2011] Dynamic cache contention detection in multi-threaded applications
- [2011] Dynamic Race Detection with LLVM Compiler
- [2009] ThreadSanitizer – data race detection in practice
- [2007] Flayer: Exposing Application Internals
Comparison Of Memory Tools¶
Table modify from address-sanitizer - ComparisonOfMemoryTools
| AddressSanitizer | Valgrind (Memcheck) | Valgrind (SGCheck) | |
|---|---|---|---|
| technology | CTI | DBI | DBI |
| ARCH | x86, x86_64, ARM, PPC, ... | x86, x86_64, ARM, PPC, ... | x86, x86_64, ARM, PPC, ... |
| OS | Linux, FreeBSD, Android, Mac, Windows, ... | Linux, FreeBSD, Android, Mac, ... | Linux, FreeBSD, Android, Mac, ... |
| Slowdown | 2x | 20x | |
| Detects: | |||
| Heap OOB | O | O | X |
| Stack OOB | O | X | O |
| Global OOB | O | X | O |
| UAF | O | O | X |
| UAR | O | O | X |
| UMR | X | O | X |
| Leaks | O | O | X |
| 縮寫 | 全名 |
|---|---|
| CTI | Compile-Time Instrumentation |
| DBI | Dynamic Binary Instrumentation |
| UMR | Uninitialized Memory Reads |
| UAF | Use-After-Free (aka dangling pointer) |
| UAR | Use-After-Return |
| OOB | Out-Of-Bounds |