一句话:提出 TopSeed,用在线学习从候选输入自动选择种子,提升符号执行的覆盖率与缺陷发现能力。
符号执行的搜索策略与状态剪枝技术已显著提升其性能,但种子选择(seeding)——为探索高效初始化程序状态——常被忽视,且通常需要预定义种子语料。TopSeed 无需预定义种子语料,能从与任意符号执行技术交互中产生的候选输入里自动选择高价值种子。针对候选数量庞大的挑战,它采用定制的在线学习算法,迭代地对候选输入分组、排序,并从最高排名组中选出种子,利用符号执行过程中积累的数据。在 17 个开源 C 程序上,TopSeed 显著增强了基于两个符号执行器实现的四种前沿技术,在分支覆盖率和缺陷发现能力上均有提升。
We present TopSeed, a new approach that automatically selects optimal seeds to enhance symbolic execution. Recently, the performance of symbolic execution has significantly improved through various state-of-the-art techniques, including search strategies and state-pruning heuristics. However, these techniques have typically demonstrated their effectiveness without considering “seeding”, which efficiently initializes program states for exploration. This paper aims to select valuable seeds from candidate inputs generated during interactions with any symbolic execution technique, without the need for a predefined seed corpus, thereby maximizing the technique's effectiveness. One major challenge is the vast number of candidates, making it difficult to identify promising seeds. To address this, we introduce a customized online learning algorithm that iteratively groups candidate inputs, ranks each group, and selects a seed from the top-ranked group based on data accumulated during symbolic execution. Experimental results on 17 open-source$C$programs show that TOPSEED significantly enhances four distinct cuttingedge techniques, implemented on top of two symbolic executors, in terms of branch coverage and bug-finding abilities.
DOI 原文 ·
@inproceedings{paperbot8840,
title = {Topseed: Learning Seed Selection Strategies for Symbolic Execution from Scratch},
author = {Jaehyeok Lee and Sooyoung Cha},
booktitle = {ICSE},
year = {2025},
doi = {10.1109/icse55347.2025.00095}
}