论文
ConcoLixir:用于 Python Concolic 测试的反应式 LLM 发现预言机
ConcoLixir: Reactive LLM Discovery Oracles for Python Concolic Testing
摘要
Concolic 测试将具体执行与符号约束求解相结合,但 Python 程序暴露了重复出现的限制。库调用可能会导致符号变量降级为具体值。正则表达式、校验和、解析器和其他语义操作可能很难解决,并且探索可能会在已经覆盖的路径上停滞不前。我们推出了 ConcoLixir,这是一个用于 Python concolic 执行的反应式 LLM 扩展。 LLM 充当发现预言机,而不是求解器或正确性预言机的替代品。它生成初始种子,在求解器失败后提出具体输入,并在覆盖停滞时瞄准未覆盖的代码。每个候选都被一致地执行,并且只有观察到的覆盖范围和收集的路径约束才能指导以后的探索。在合成、真实世界和库目标中,ConcoLixir 与没有 LLM 预言机的基线 concolic 测试仪相比,平均线覆盖率提高了 8.6、15.1 和 17.0 个百分点。在语义障碍和库边界附近,收益最为强劲,完整评估的 API 费用为 1.63 美元。这些结果表明,有界 LLM 发现可以补充符号推理而不取代它。