IFSE: Taming Closed-Box Functions in Symbolic Execution via Fuzz Solving
Modern symbolic execution techniques face the challenge of handling closed-box (CB) functions (e.g., system calls, library functions) whose source code is unavailable. One interesting solution in the literature is deferred concretization with fuzz solving. However, no open-source implementation of such techniques exists, and thus it is difficult to evaluate and investigate the effectiveness. In this paper, we present IFSE (Integrating Fuzz Solving into Symbolic Execution), an open-source tool implementing the relevant techniques on top of KLEE to handle the CB functions in symbolic execution. We evaluated IFSE on GNU Coreutils. The results show that IFSE achieves the line and branch code coverage improvement by 28.3% and 12.2% respectively compared to vanilla KLEE. The satisfaction rate of fuzz solver achieves 80.2%, demonstrating its ability to reason CB function related constraints. IFSE is publicly available at https://github.com/ecnusse/ifse and a demonstration video is at https://youtu.be/xMv6_MOlE-I.
Authors
- Yueling Zhang (ORCID: https://orcid.org/0000-0002-2542-2619)
- Chengcheng Wan (ORCID: https://orcid.org/0000-0001-9162-9688)
- Ruiyang Xu (ORCID: https://orcid.org/0000-0002-4973-8458)
- Ting Su (ORCID: https://orcid.org/0000-0003-1628-9796)
- Geguang Pu (ORCID: https://orcid.org/0000-0001-9750-8334)
- Qichang Wang (ORCID: https://orcid.org/0000-0002-2822-4925)
- Haiying Sun (ORCID: https://orcid.org/0009-0006-9365-9518)
- Chuyang Chen
Institutions
- Shanghai Key Laboratory of Trustworthy Computing (CN)
- The Ohio State University (US)
- East China Normal University (CN)
Publication Details
- Published
- 2025-04-27
- DOI
- https://doi.org/10.1109/icse-companion66252.2025.00019
- Primary Topic
- Software Testing and Debugging Techniques
- Type
- article
- Field-Weighted Citation Impact
- 0.00