Taming the Hydra: Targeted Control-Flow Transformations for Dynamic Symbolic Execution
Charitha Saumya, Muhammad Hassan, Rohan Gangaraju, Milind Kulkarni, Kirshanthan Sundararajah
摘要
Dynamic Symbolic Execution (DSE) suffers from the path explosion problem when the target program has many conditional branches. The classical approach for managing the path explosion problem is dynamic state merging. Dynamic state merging combines similar symbolic program states to avoid the exponential growth in the number of states during DSE. However, state merging still requires solver invocations at each program branch, even when both paths of the branch are feasible. Moreover, the best path search strategy for DSE may not create the best state merging opportunities. Some drawbacks of state merging can be mitigated by compile-time state merging (i.e., branch elimination by converting control-flow into data flow). In this paper, we propose a non-semantics-preserving but failure-preserving compiler transformation for removing expensive symbolic branches in a program to improve the scalability of DSE. We have developed a framework for detecting spurious bugs that our transformation can insert. Finally, we show that our transformation can significantly improve the performance of DSE on various benchmark programs and help improve the performance of coverage and bug discovery of large real-world programs.
CCS Concepts: • Software and its engineering → Compilers; Software testing and debugging.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
它引用的顶会 Paper3
- T-Fuzz: Fuzzing by Program TransformationHui Peng, Yan Shoshitaishvili, Mathias PayerS&P 2018 · 被引用 326 次
- Test-case reduction and deduplication almost for free with transformation-based compiler testingAlastair F. Donaldson, Paul Thomson, Vasyl Teliman, Stefano Milizia 等PLDI 2021 · 被引用 39 次
- Java Ranger: statically summarizing regions for efficient symbolic execution of JavaVaibhav Sharma, Soha Hussein, Michael W. Whalen, Stephen McCamant 等FSE 2020 · 被引用 20 次
相关 Paper
- A bounded symbolic-size model for symbolic executionDavid Trabish, Shachar Itzhaky, Noam RinetzkyFSE 2021 · 被引用 10 次
- FeatMaker: Automated Feature Engineering for Search Strategy of Symbolic ExecutionJaehan Yoon, Sooyoung ChaFSE 2024 · 被引用 3 次
- State Merging with Quantifiers in Symbolic ExecutionDavid Trabish, Noam Rinetzky, Sharon Shoham, Vaibhav SharmaFSE 2023 · 被引用 5 次
- When Compiler Optimizations Meet Symbolic Execution: An Empirical StudyYue Zhang, Melih Sirlanci, Ruoyu Wang, Zhiqiang LinCCS 2024 · 被引用 2 次
- Compatible Branch Coverage Driven Symbolic Execution for Efficient Bug FindingQiuping Yi, Yifan Yu, Guowei YangPLDI 2024 · 被引用 10 次
