Reproduce “Sydr: Cutting Edge Dynamic Symbolic Execution” on OpenResearch
Turn your favorite coding agents into research agents that review literature, develop hypotheses, and run experiments.
Universal app for Apple silicon and Intel. Requires macOS 11 or later.
About this paper
Alexey Vishnyakov, Andrey Fedotov, Daniil Kuts, Alexander Novikov, Darya Parygina, Eli Kobrin, Vlada Logunova, Pavel Belecky and 1 more
Researchers at the Ivannikov Institute for System Programming of the RAS developed Sydr, a dynamic symbolic execution tool that improves analysis performance and accuracy for real-world binaries. The tool achieves this through a suite of optimizations, including skipping non-symbolic instructions, AST simplification, path predicate slicing, and robust handling of indirect control transfers and multi-threaded programs, demonstrating significant speedups and increased valid input generation across benchmarks.
Key insights
- Combining targeted optimizations like skipping non-symbolic instructions and AST simplification significantly reduces the overhead of symbolic execution, making path predicate construction considerably faster.
- Path predicate slicing is critical for solver efficiency and the generation of accurate inputs, as it reduces SMT query complexity by focusing on relevant constraints and mitigating issues with underconstrained variables.
- Robustly resolving indirect control transfers and managing symbolic states in multi-threaded environments are essential for comprehensive and sound path exploration in real-world, compiler-optimized binaries.
Summary by alphaXiv.
Tip: change arxiv.org to autoarxiv.org in any arXiv abstract link to open the paper here.