SymFusion: Hybrid Instrumentation for Concolic Execution
Emilio Coppa, Heng Yin, Camil Demetrescu
Abstract
Concolic execution is a dynamic twist of symbolic execution designed with scalability in mind. Recent concolic executors heavily rely on program instrumentation to achieve such scalability. The instrumentation code can be added at compilation time (e.g., using an LLVM pass), or directly at execution time with the help of a dynamic binary translator. The former approach results in more efficient code but requires recompilation. Unfortunately, recompiling the entire code of a program is not always feasible or practical (e.g., in presence of third-party components). On the contrary, the latter approach does not require recompilation but incurs significantly higher execution time overhead. In this paper, we investigate a hybrid instrumentation approach for concolic execution, called SymFusion. In particular, this hybrid instrumentation approach allows the user to recompile the core components of an application, thus minimizing the analysis overhead on them, while still being able to dynamically instrument the rest of the application components at execution time. Our experimental evaluation shows that our design can achieve a nice balance between efficiency and efficacy on several real-world applications.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Cited by top-tier papers1
Ask how each one uses itBuilds on11
- SOK: (State of) The Art of War: Offensive Techniques in Binary AnalysisYan Shoshitaishvili, Ruoyu Wang, Christopher Salls, Nick Stephens et al.S&P 2016 · 1,085 citations
- QSYM : A Practical Concolic Execution Engine Tailored for Hybrid FuzzingInsu Yun, Sangho Lee, Meng Xu, Yeongjin Jang et al.USENIX Security 2018 · 537 citations
- RetroWrite: Statically Instrumenting COTS Binaries for Fuzzing and SanitizationSushant Dinesh, Nathan Burow, Dongyan Xu, Mathias PayerS&P 2020 · 187 citations
- SAVIOR: Towards Bug-Driven Hybrid TestingYaohui Chen, Peng Li, Jun Xu, Shengjian Guo et al.S&P 2020 · 186 citations
- Send Hardest Problems My Way: Probabilistic Path Prioritization for Hybrid FuzzingLei Zhao, Yue Duan, Heng Yin, Jifeng XuanNDSS 2019 · 157 citations
Related papers
- SYMSAN: Time and Space Efficient Concolic Execution via Dynamic Data-flow AnalysisJu Chen, Wookhyun Han, Mingjun Yin, Haochen Zeng et al.USENIX Security 2022
- Symbolic execution with SymCC: Don't interpret, compile!Sebastian Poeplau, Aurélien FrancillonUSENIX Security 2020
- Compiling WebAssembly Concolic Execution with Staging, Continuations, and SnapshotsDinghong Zhong, Alexander Y. Bai, Mikail Khan, Guannan WeiOOPSLA 2026
- Compiling Parallel Symbolic Execution with ContinuationsGuannan Wei, Songlin Jia, Ruiqi Gao, Haotian Deng et al.ICSE 2023 · 10 citations
- A Compilation-Based Under-Constrained Execution EngineMingjun Yin, Zhaorui Li, Ju Chen, Haochen Zeng et al.OSDI 2026
