首页> 外文会议>USENIX Symposium on Operating Systems Design and Implementation >KLEE: Unassisted and Automatic Generation of High-Coverage Tests for Complex Systems Programs
【24h】

KLEE: Unassisted and Automatic Generation of High-Coverage Tests for Complex Systems Programs

机译:Klee:对复杂系统程序的高覆盖测试无归类和自动生成高覆盖测试

获取原文

摘要

We present a new symbolic execution tool, KLEE, capable of automatically generating tests that achieve high coverage on a diverse set of complex and environmentally-intensive programs. We used KLEE to thoroughly check all 89 stand-alone programs in the GNU Coreutils utility suite, which form the core user-level environment installed on millions of Unix systems, and arguably are the single most heavily tested set of open-source programs in existence. KLEE-generated tests achieve high line coverage - on average over 90% per tool (median: over 94%) - and significantly beat the coverage of the developers' own hand-written test suite. When we did the same for 75 equivalent tools in the BUSYBOX embedded system suite, results were even better, including 100% coverage on 31 of them. We also used klee as a bug finding tool, applying it to 452 applications (over 430K total lines of code), where it found 56 serious bugs, including three in Coreutils that had been missed for over 15 years. Finally, we used KLEE to crosscheck purportedly identical BUSYBOX and Coreutils utilities, finding functional correctness errors and a myriad of inconsistencies.
机译:我们展示了一个新的符号执行工具,Klee,能够自动生成在多种复杂和环境密集型程序上实现高覆盖的测试。我们使用Klee彻底检查GNU Coreutils Utility Suite中的所有89个独立程序,它形成了数百万UNIX系统上安装的核心用户级环境,并且可以说是最重视的最多测试的开源程序集。 Klee-Maviote的测试实现高线覆盖率 - 平均每台工具超过90%(中位数:超过94%) - 显着击败开发人员自己的手写测试套件的覆盖范围。当我们在BusyBox嵌入式系统套件中为75个等效工具做了同样的情况时,结果甚至更好,包括31个中的100%覆盖范围。我们还将Klee用作错误的发现工具,将其应用于452个应用程序(超过430K总数),在其中发现56个严重的错误,其中包括在15年超过15年的Coreutils中。最后,我们使用Klee横跨频繁的忠诚箱和Coreutils公用事业,找到功能的正确性错误和无数的不一致。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号