Tech-ASan: Two-stage check for Address Sanitizer
Yixuan Cao, Yuhong Feng, Huafeng Li, Chongyi Huang, Fangcao Jian, Haoran Li, Xu Wang

TL;DR
Tech-ASan is a novel two-stage check technique that significantly reduces runtime overhead of Address Sanitizer while maintaining detection accuracy, making memory safety testing more efficient for large software.
Contribution
It introduces a two-stage check algorithm leveraging magic value comparison and an optimizer to eliminate redundant checks, improving ASan's efficiency without compromising safety.
Findings
33.70% less runtime overhead than ASan
Detects 56 fewer false negatives than ASan
Outperforms state-of-the-art methods on SPEC CPU2006
Abstract
Address Sanitizer (ASan) is a sharp weapon for detecting memory safety violations, including temporal and spatial errors hidden in C/C++ programs during execution. However, ASan incurs significant runtime overhead, which limits its efficiency in testing large software. The overhead mainly comes from sanitizer checks due to the frequent and expensive shadow memory access. Over the past decade, many methods have been developed to speed up ASan by eliminating and accelerating sanitizer checks, however, they either fail to adequately eliminate redundant checks or compromise detection capabilities. To address this issue, this paper presents Tech-ASan, a two-stage check based technique to accelerate ASan with safety assurance. First, we propose a novel two-stage check algorithm for ASan, which leverages magic value comparison to reduce most of the costly shadow memory accesses. Second, we…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
