Detecting Memory Errors at Runtime with Source-Level Instrumentation
The unsafe language features of C, such as low-level control of memory, often lead to memory errors, which can result in silent data corruption, security vulnerabilities, and program crashes. Dynamic analysis tools, which are widely used to detect memory errors at runtime, usually perform instrumentation at the IR-level or binary-level. However, their underlying non-source-level instrumentation techniques have three inherent limitations: optimization sensitivity, platform-dependence and DO-178C non-compliance. Due to optimization sensitivity, these tools are used to trade either performance for effectiveness by compiling the program at -O0 or effectiveness for performance by compiling the program at a higher optimization level, say, -O3. In this paper, we overcome these three limitations by proposing a new source-level instrumentation technique and implementing it in a tool, called SouLI, in a pointer-based instrumentation framework. Validation against a set of 86 microbenchmarks (with ground truth) and a set of 10 MiBench benchmarks shows that SouLI outperforms state-of-the-art tools, SoCets, ASan and Valgrind, in terms of both effectiveness and performance considered together.
Fri 19 Jul Times are displayed in time zone: Beijing, Chongqing, Hong Kong, Urumqi change
16:00 - 17:30: PotpourriTechnical Papers at Grand Ballroom Chair(s): Andreas ZellerCISPA Helmholtz Center for Information Security | |||
16:00 - 16:22 Talk | Semantic Fuzzing with Zest Technical Papers Rohan PadhyeUniversity of California, Berkeley, Caroline LemieuxUniversity of California, Berkeley, Koushik SenUniversity of California, Berkeley, Mike PapadakisUniversity of Luxembourg, Yves Le TraonUniversity of Luxembourg Link to publication DOI Pre-print | ||
16:22 - 16:45 Talk | Detecting Memory Errors at Runtime with Source-Level Instrumentation Technical Papers Zhe ChenNanjing University of Aeronautics and Astronautics, Junqi YanNanjing University of Aeronautics and Astronautics, Shuanglong KanNanjing University of Aeronautics and Astronautics, Ju QianNanjing University of Aeronautics and Astronautics, Jingling XueUNSW Sydney | ||
16:45 - 17:07 Talk | Optimal Context-Sensitive Dynamic Partial Order Reduction with Observers Technical Papers Elvira Albert, Maria Garcia de la BandaMonash University, Miguel Gómez-ZamalloaComplutense University of Madrid, Miguel IsabelComplutense University of Madrid, Peter J. StuckeyMonash University | ||
17:07 - 17:30 Talk | Exploiting The Laws of Order in Smart Contracts Technical Papers Aashish Kolluri, Ivica NikolicNational University Of Singapore, Ilya SergeyYale-NUS College and National University of Singapore, Aquinas Hobor, Prateek SaxenaNational University Of Singapore |