首页> 外文会议>ACM EuroSys conference on computer systems >Parallel Symbolic Execution for Automated Real-World Software Testing
【24h】

Parallel Symbolic Execution for Automated Real-World Software Testing

机译:自动实际软件测试的并行符号执行

获取原文

摘要

This paper introduces Cloud9. a platform for automated testing of real-world software. Our main contribution is the scalable parallelization of symbolic execution on clusters of commodity hardware, to help cope with path explosion. Cloud9 provides a systematic interface for writing "symbolic tests" that concisely specify entire families of inputs and behaviors to be tested, thus improving testing productivity. Cloud9 can handle not only single-threaded programs but also multi-threaded and distributed systems. It includes a new symbolic environment model that is the first to support all major aspects of the POSIX interface, such as processes, threads, synchronization, networking, IPC. and file I/O. We show that Cloud9 can automatically test real systems, like memcached, Apache httpd, lighttpd, the Python interpreter, rsync, and curl. We show how Cloud9 can use existing test suites to generate new test cases that capture untested corner cases (e.g., network stream fragmentation). Cloud9 can also diagnose incomplete bug fixes by analyzing the difference between buggy paths before and after a patch.
机译:本文介绍了云9。真实世界软件自动化测试平台。我们的主要贡献是在商品硬件集群上符号执行的可扩展并行化,以帮助应对道路爆炸。 Cloud9提供了一种用于写作“符号测试”的系统界面,简明地指定要测试的整个输入和行为的整个系列,从而提高测试生产率。 Cloud9不仅可以处理单线程程序,还可以处理多线程和分布式系统。它包括一个新的符号环境模型,是支持POSIX界面的所有主要方面的新符号环境模型,例如进程,线程,同步,网络,IPC。和文件I / O.我们显示Cloud9可以自动测试真实系统,如Memcached,Apache Httpd,Lightpd,Python解释器,rsync和Curl。我们展示Cloud9如何使用现有的测试套件来生成捕获未测试的角落案例的新测试用例(例如,网络流碎片)。 Cloud9还可以通过分析修补程序之前和之后的错误路径之间的差异来诊断不完整的错误修复。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号