Logo image
When Compiler Optimizations Meet Symbolic Execution: An Empirical Study
Conference proceeding   Open access   Peer reviewed

When Compiler Optimizations Meet Symbolic Execution: An Empirical Study

Yue Zhang, Melih Sirlanci, Ruoyu Wang and Zhiqiang Lin
CCS '24: Proceedings of the 2024 on ACM SIGSAC Conference on Computer and Communications Security, pp 4212-4225
09 Dec 2024
url
https://doi.org/10.1145/3658644.3670372View
Published, Version of Record (VoR)Open Access via Drexel Libraries Read and Publish Program 2024CC BY V4.0 Open

Abstract

Compiler Optimization Symbolic Execution Measurement Study
Compiler optimizations intend to transform a program into a semantic-equivalent one with improved performance, but it is unclear how these optimizations may impact the performance of dynamic symbolic execution (DSE) on binary code. To systematically understand the impact of compiler optimizations on two popular DSE techniques (i.e., symbolic exploration and symbolic tracing), this paper presents an empirical study that quantifies 209 GCC compilation flags and 73 Clang compilation flags to reveal both positive and negative optimizations to DSE. Our data set contains 992 unique test cases, which are produced from 3,449 source files in the GCC test suite. After analyzing 2,978,976 binary programs that we compiled with two compilers and various compilation flags, we found that although some optimizations make DSE faster, most optimizations will actually slow down DSE. Our analysis further reveals root causes behind these impacts. The most positive impacts that optimizations have on DSE come from the reduction of the number of instructions and program paths, whereas negative impacts are caused by a series of unexpected behaviors, including increased numbers of instructions or program paths, library function inlining preventing DSE engines from using function summaries, and arithmetic optimizations leading to more sophisticated constraints. Being the first in-depth analysis on why compiler flags influence the performance of DSE, this project sheds light on program transformations that can be applied before performing DSE tasks for better performance.

Metrics

7 Record Views
1 citations in Scopus

Details

InCites Highlights

Data related to this publication, from InCites Benchmarking & Analytics tool:

Collaboration types
Domestic collaboration
Web of Science research areas
Computer Science, Artificial Intelligence
Computer Science, Hardware & Architecture
Computer Science, Theory & Methods
Telecommunications
Logo image