arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2001.07914cs.SEcs.AI
收藏

使用约束问题对符号执行进行基准测试--初步结果

Benchmarking Symbolic Execution Using Constraint Problems -- Initial Results

IIT Kanpur(印度理工学院坎普尔分校);National University of Singapore(新加坡国立大学)

Sahil Verma, Roland H. C. Yap

摘要:

符号执行是一种功能强大的bug发现和程序测试技术。它可以成功地发现真实代码中的bug。核心推理技术使用约束求解、路径探索和搜索,这些也是用于解决组合问题的相同技术,例如,有限域约束满足问题。我们提出CSP实例作为更具挑战性的基准来评估符号执行中核心技术的有效性。我们将CSP基准转换为适合测试符号执行工具的推理能力的C程序。从一个单一的CSP P,我们转换P取决于转换选择到不同的C程序。使用KLEE、Tracer-X和LLBMC工具进行的初步测试显示,转换和求解器选择在运行时存在很大差异。我们的C基准测试有效地显示了现有符号执行工具的局限性。这项工作的动机是,我们相信这种形式的基准可以刺激符号执行引擎中改进的核心推理的开发和工程。

英文摘要:

Symbolic execution is a powerful technique for bug finding and program testing. It is successful in finding bugs in real-world code. The core reasoning techniques use constraint solving, path exploration, and search, which are also the same techniques used in solving combinatorial problems, e.g., finite-domain constraint satisfaction problems (CSPs). We propose CSP instances as more challenging benchmarks to evaluate the effectiveness of the core techniques in symbolic execution. We transform CSP benchmarks into C programs suitable for testing the reasoning capabilities of symbolic execution tools. From a single CSP P, we transform P depending on transformation choice into different C programs. Preliminary testing with the KLEE, Tracer-X, and LLBMC tools show substantial runtime differences from transformation and solver choice. Our C benchmarks are effective in showing the limitations of existing symbolic execution tools. The motivation for this work is we believe that benchmarks of this form can spur the development and engineering of improved core reasoning in symbolic execution engines.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑