Please use this identifier to cite or link to this item: doi:10.22028/D291-34529
Title: PICO: A Presburger In-bounds Check Optimization for Compiler-based Memory Safety Instrumentations
Author(s): Jung, Tina
Ritter, Fabian
Hack, Sebastian
Language: English
Title: ACM Transactions on Architecture and Code Optimization
Volume: 18
Issue: 4
Pages: 1-27
Publisher/Platform: ACM
Year of Publication: 2021
Free key words: Optimization
spatial memory safety
Presburger
C language
LLVM
DDC notations: 004 Computer science, internet
Publikation type: Journal Article
Abstract: Memory safety violations such as buffer overflows are a threat to security to this day. A common solution to ensure memory safety for C is code instrumentation. However, this often causes high execution-time overhead and is therefore rarely used in production. Static analyses can reduce this overhead by proving some memory accesses in bounds at compile time. In practice, however, static analyses may fail to verify in-bounds accesses due to over-approximation. Therefore, it is important to additionally optimize the checks that reside in the program. In this article, we present PICO, an approach to eliminate and replace in-bounds checks. PICO exactly captures the spatial memory safety of accesses using Presburger formulas to either verify them statically or substitute existing checks with more efficient ones. Thereby, PICO can generate checks of which each covers multiple accesses and place them at infrequently executed locations. We evaluate our LLVM-based PICO prototype with the well-known SoftBound instrumentation on SPEC benchmarks commonly used in related work. PICO reduces the execution-time overhead introduced by SoftBound by 36% on average (and the code-size overhead by 24%). Our evaluation shows that the impact of substituting checks dominates that of removing provably redundant checks.
DOI of the first publication: 10.1145/3460434
Link to this record: urn:nbn:de:bsz:291--ds-345298
hdl:20.500.11880/31623
http://dx.doi.org/10.22028/D291-34529
ISSN: 1544-3973
Date of registration: 10-Aug-2021
Faculty: MI - Fakultät für Mathematik und Informatik
Department: MI - Informatik
Professorship: MI - Prof. Dr. Sebastian Hack
Collections:SciDok - Der Wissenschaftsserver der Universität des Saarlandes

Files for this record:
File Description SizeFormat 
3460434.pdf2,11 MBAdobe PDFView/Open


This item is licensed under a Creative Commons License Creative Commons