Loading...

Finding races and memory errors with LLVM instrumentation

2,992 views

Loading...

Loading...

Transcript

The interactive transcript could not be loaded.

Loading...

Loading...

Rating is available when the video has been rented.
This feature is not available right now. Please try again later.
Uploaded on Dec 14, 2011

We will present two dynamic testing tools based on compile-time instrumentation, both tools use the LLVM compiler.

- AddressSanitizer (ASan) finds memory bugs, such as use-after-free and out-of-bound accesses to heap and stack. This tool could be seen as a partial replacement for Valgrind and similar tools. The major advantages over Valgrind are the speed (less than 2x slowdown on average) and the ability to handle bugs related to stack and globals.

- ThreadSanitizer (TSan) finds data races. It uses the same race detection algorithm as the Valgrind-based TSan, but compile-time instrumentation allows it to be much faster (2x-4x slowdown).

We will also share our experience in deploying theses testing tools in large software projects.

Loading...

to add this to Watch Later

Add to

Loading playlists...