Guiding Symbolic Execution with Static Analysis and LLMs for Vulnerability Discovery
Md Shafiuzzaman, Achintya Desai, Wenbo Guo, and Tevfik Bultan

TL;DR
SAILOR automates vulnerability detection in large codebases by combining static analysis, LLMs, and symbolic execution, significantly improving scalability and detection of unknown vulnerabilities.
Contribution
This work introduces SAILOR, a novel system that automates symbolic execution harness construction using static analysis and LLMs, enhancing vulnerability discovery in large codebases.
Findings
SAILOR discovers 379 new vulnerabilities in open-source projects.
Without static analysis, vulnerability detection drops 12.2X.
Iterative LLM synthesis is essential for confirming vulnerabilities.
Abstract
Symbolic execution detects vulnerabilities with precision, but applying it to large codebases requires harnesses that set up symbolic state, model dependencies, and specify assertions. Writing these harnesses has traditionally been a manual process requiring expert knowledge, which significantly limits the scalability of the technique. We present Static Analysis Informed and LLM-Orchestrated Symbolic Execution (SAILOR), which automates symbolic execution harness construction by combining static analysis with LLM-based synthesis. SAILOR operates in three phases: (1) static analysis identifies candidate vulnerable locations and generates vulnerability specifications; (2) an LLM uses vulnerability specifications and orchestrates harness synthesis by iteratively refining drivers, stubs, and assertions against compiler and symbolic execution feedback; symbolic execution then detects…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
