首页> 外文期刊>Security and Communication Networks (Online) >An empirical investigation into path divergences for concolic execution using CREST
【24h】

An empirical investigation into path divergences for concolic execution using CREST

机译:对使用CREST进行圆锥形执行的路径分歧的实证研究

获取原文
       

摘要

Recently, concolic execution has become a hotspot in the domain of software testing and program analysis. However, a practical challenge, called path divergence, impairs the soundness and completeness of concolic execution. A path divergence indicates the tested program runs an unpredicted path. In this work, we carry out a comprehensive empirical study on path divergences using an open‐source concolic execution tool, named CREST. To make the investigation representative, we select 120 test units randomly from 21 different open‐source programs. The results are interesting, and will provide insight to solve the challenging path‐divergence problem. First, about one‐half of test units suffer from path divergences, indicating path divergences are so prevalent that the issue is worthy of great attention. Second, quite a number of generated test inputs drive test units to take divergent paths. This means testers need considerable effort to eliminate the misleading test inputs before aggregating them to a test suite. Third, we dig out ten divergent patterns through manual analysis of each path divergence. Among them, the three most prevalent ones, which are exceptions, external calls, and type casts, lead to almost 82% of path divergences. Finally, we discuss several countermeasures to overcome path divergences. Copyright ? 2015 John Wiley & Sons, Ltd. Comprehensive empirical study is carried out on path divergences. One hundred twenty test units, which are randomly selected from 21 different open‐source programs, are tested concolically by CREST. The prevalence of the issue and the ratio of misleading test inputs are calculated. Ten divergent patterns are revealed by hand. Suggestions for battling against path divergences are also provided.
机译:近年来,合规执行已成为软件测试和程序分析领域的热点。但是,一个实际的挑战(称为路径分歧)削弱了策略执行的合理性和完整性。路径差异表明测试的程序运行的路径无法预测。在这项工作中,我们使用名为CREST的开放源代码协议执行工具对路径差异进行了全面的实证研究。为了使调查具有代表性,我们从21个不同的开源程序中随机选择了120个测试单元。结果很有趣,并且将为解决具有挑战性的路径分歧问题提供见解。首先,约有一半的测试单元遭受路径分歧,这表明路径分歧非常普遍,这一问题值得引起高度重视。其次,大量生成的测试输入驱动测试单元采用不同的路径。这意味着测试人员需要付出巨大的努力才能消除误导性的测试输入,然后再将其汇总到测试套件中。第三,我们通过对每个路径差异的人工分析,找出了十种差异模式。其中,最常见的三个异常(异常,外部调用和类型强制转换)导致了路径差异的近82%。最后,我们讨论了克服路径分歧的几种对策。版权? 2015 John Wiley&Sons,Ltd.对路径差异进行了全面的经验研究。 CREST对从21个不同的开源程序中随机选择的120个测试单元进行了总体测试。计算出问题的发生率和误导性测试输入的比率。手工揭示了十种不同的模式。还提供了与路径分歧作斗争的建议。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号