...
首页> 外文期刊>Frontiers of computer science in China >Tuning parallel symbolic execution engine for better performance
【24h】

Tuning parallel symbolic execution engine for better performance

机译:调整并行符号执行引擎以获得更好的性能

获取原文
获取原文并翻译 | 示例
           

摘要

Symbolic execution is widely used in many code analysis, testing, and verification tools. As symbolic execution exhaustively explores all feasible paths, it is quite time consuming. To handle the problem, researchers have paralleled existing symbolic execution tools (e.g., KLEE). In particular, Cloud9 is a widely used paralleled symbolic execution tool, and researchers have used the tool to analyze real code. However, researchers criticize that tools such as Cloud9 still cannot analyze large scale code. In this paper, we conduct a field study on Cloud9, in which we use KLEE and Cloud9 to analyze benchmarks in C. Our results confirm the criticism. Based on the results, we identify three bottlenecks that hinder the performance of Cloud9: the communication time gap, the job transfer policy, and the cache management of the solved constraints. To handle these problems, we tune the communication time gap with better parameters, modify the job transfer policy, and implement an approach for cache management of solved constraints. We conduct two evaluations on our benchmarks and a real application to understand our improvements. Our results show that our tuned Cloud9 reduces the execution time significantly, both on our benchmarks and the real application. Furthermore, our evaluation results show that our tuning techniques improve the effectiveness on all the devices, and the improvement can be achieved upto five times, depending upon a tuning value of our approach and the behaviour of program under test.
机译:符号执行广泛用于许多代码分析,测试和验证工具。由于符号执行详尽地探索了所有可行的路径,因此非常耗时。为了解决这个问题,研究人员采用了现有的符号执行工具(例如KLEE)。特别是,Cloud9是一种广泛使用的并行符号执行工具,研究人员已使用该工具来分析实际代码。但是,研究人员批评说Cloud9之类的工具仍无法分析大规模代码。在本文中,我们对Cloud9进行了实地研究,其中我们使用KLEE和Cloud9分析了C语言中的基准。我们的结果证实了这一批评。根据结果​​,我们确定了三个阻碍Cloud9性能的瓶颈:通信时间间隔,作业转移策略以及已解决约束的缓存管理。为了解决这些问题,我们使用更好的参数调整了通信时间间隔,修改了作业传输策略,并实现了一种解决约束条件的缓存管理方法。我们对基准和实际应用程序进行了两次评估,以了解我们的改进。我们的结果表明,经过调整的Cloud9在基准测试和实际应用程序上均显着减少了执行时间。此外,我们的评估结果表明,根据我们方法的调整值和被测程序的行为,我们的调整技术可以提高所有设备的效率,并且最多可以提高五倍。

著录项

  • 来源
    《Frontiers of computer science in China》 |2018年第1期|86-100|共15页
  • 作者单位

    Department of Computer Science, Shanghai Jiao Tong University, Shanghai 200240, China;

    School of Software, Shanghai Jiao Tong University, Shanghai 200240, China;

    Intel Asia-Pacific Research and Development Ltd., Shanghai 200240, China;

    Department of Computer Science, Shanghai Jiao Tong University, Shanghai 200240, China;

    Intel Asia-Pacific Research and Development Ltd., Shanghai 200240, China;

    School of Software, Shanghai Jiao Tong University, Shanghai 200240, China;

    Intel Asia-Pacific Research and Development Ltd., Shanghai 200240, China;

    Department of Advanced Information Technology, Kyushu University, Fukuoka 819-0395, Japan;

  • 收录信息
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类
  • 关键词

    code analysis; symbolic execution; parallelizing symbolic execution; KLEE; Cloud9;

    机译:代码分析;符号执行;并行执行符号执行;KLEE;云9;

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号