Share your thoughts, 1 month free Claude Pro on usSee more
WorkDL logo mark

Symbolon: Symbolic Execution by Learning Code Transformation

About

Symbolic execution is a powerful program analysis technique with broad applications, such as vulnerability detection, security testing, and malware analysis. However, this technique is known to suffer from scalability issues, e.g., path explosion, complex constraints, due to certain structural and semantic patterns commonly presented in real-world programs. Existing approaches attempt to escape these patterns by transforming programs into new representations to reduce the execution cost. Unfortunately, these transformations are often too rigid to exploit diverse local program semantics and sometimes rely on compiler optimizations designed for concrete execution that may misalign with the goals of symbolic execution. We present Symbolon, a framework that automatically learns diverse code transformations and applies them context-sensitively to improve symbolic execution. Our key insight is to formulate transformation discovery as a search problem over program representations. To make the search practical, Symbolon learns transformations cheaply offline on small programs, distills them into a reusable library of agent skills, and uses an agent to instantiate these skills on repo-level targets. Our evaluation shows that Symbolon substantially improves the symbolic execution engine KLEE across 16 search strategies on 32 real-world programs, increasing line coverage by 3.69x on average while reducing peak memory and per-query solver time by 29.2x and 123x, respectively. When applied to the latest Linux kernel, Symbolon uncovers 21 previously unknown bugs, all of which have been reported to the kernel maintainers.

Jie Zhu, Penghui Li, Zhongxuan Li, Chihao Shen, Ziyang Li, Yizheng Chen, Kexin Pei• 2026

Related benchmarks

TaskDatasetResultRank
Security violation detection31 user-space programs (aggregated results across programs)
UBSan Violations10
34
Kernel FuzzingLinux Kernel 10 Targets
Edge Coverage5.03e+4
22
Symbolic Executionbash
Peak Memory (MB)1.42e+4
2
Symbolic ExecutionBC
Peak Memory (MB)260
2
Symbolic Executionbison
Peak Memory (MB)1.03e+3
2
Symbolic Executioncjpeg
Peak Memory (MB)1.64e+4
2
Symbolic Executioncjson
Peak Memory (MB)2.42e+4
2
Symbolic Executioncombine
Peak Memory (MB)405
2
Symbolic Executioncurl
Peak Memory (MB)292
2
Symbolic ExecutionDiFF
Peak Memory (MB)1.73e+3
2
Showing 10 of 35 rows

Other info

Follow for update