DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.
Deep learning frameworks are core libraries that are increasingly used in a number of important real-world scenarios. MXNet is no exception, being used in range of production environments from embedded hardware, with very little RAM, to multi-million dollar web services running tens of thousands of requests per second. MXNet is written in C++ and has a lot of raw pointer operations due to its high-performance, mathematical nature. This introduces the potential for serious native coding errors to negatively affect important services and devices. This document will describe how we're attempting to avoid these errors by introducing a heavily instrumented build (an ASAN build) that's designed to catch overflows and leaks in our automatic testing process. The document will also describe how a developer can create an ASAN build and test for memory leaks locally when they're reported by users.
| Table of Contents |
|---|
Background
ASAN
ASAN, or the address sanitizer, is one of many C++ sanitizers developed by Google with the primary initial goal of securing Chrome from use-after-free and buffer-overflow errors. It was originally launched as a feature for clang, but is now available in recent versions of GCC. ASAN on it's own will detect:
...