首页> 外文会议>International Conference on Computer Aided Verification >Symbolic Partial-Order Execution for Testing Multi-Threaded Programs
【24h】

Symbolic Partial-Order Execution for Testing Multi-Threaded Programs

机译:用于测试多线程程序的符号偏序执行

获取原文

摘要

We describe a technique for systematic testing of multithreaded programs. We combine Quasi-Optimal Partial-Order Reduction, a state-of-the-art technique that tackles path explosion due to interleaving non-determinism, with symbolic execution to handle data non-determinism. Our technique iteratively and exhaustively finds all executions of the program. It represents program executions using partial orders and finds the next execution using an underlying unfolding semantics. We avoid the exploration of redundant program traces using cutoff events. We implemented our technique as an extension of KLEE and evaluated it on a set of large multi-threaded C programs. Our experiments found several previously undiscovered bugs and undefined behaviors in memcached and GNU sort, showing that the new method is capable of finding bugs in industrial-size benchmarks.
机译:我们描述了一种用于多线程程序的系统测试的技术。我们将准最优部分订单约简(一种用于解决由于交错不确定性导致的路径爆炸)与符号执行相结合的最新技术与处理数据不确定性的符号执行相结合。我们的技术可以反复,详尽地找到程序的所有执行。它使用部分顺序表示程序执行,并使用基础展开语义查找下一个执行。我们避免使用中断事件来探索冗余程序痕迹。我们将技术实施为KLEE的扩展,并在一组大型多线程C程序上对其进行了评估。我们的实验在memcached和GNU类别中发现了一些以前未发现的错误和未定义的行为,表明该新方法能够在工业规模的基准测试中发现错误。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号