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 | Size | Format | |
---|---|---|---|---|
3460434.pdf | 2,11 MB | Adobe PDF | View/Open |
This item is licensed under a Creative Commons License