【24h】

Synthesizing Method Sequences for High-Coverage Testing

机译:用于高覆盖率测试的综合方法序列

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

摘要

High-coverage testing is challenging. Modern object-oriented programs present additional challenges for testing. One key difficulty is the generation of proper method sequences to construct desired objects as method parameters. In this paper, we cast the problem as an instance of program synthesis that automatically generates candidate programs to satisfy a user-specified intent. In our setting, candidate programs are method sequences, and desired object states specify an intent. Automatic generation of desired method sequences is difficult due to its large search space-sequences often involve methods from multiple classes and require specific primitive values. This paper introduces a novel approach, called Seeker, to intelligently navigate the large search space. Seeker synergistically combines static and dynamic analyses: (1) dynamic analysis generates method sequences to cover branches; (2) static analysis uses dynamic analysis information for not-covered branches to generate candidate sequences; and (3) dynamic analysis explores and eliminates statically generated sequences. For evaluation, we have implemented Seeker and demonstrate its effectiveness on four subject applications totalling 28K LOC. We show that Seeker achieves higher branch coverage and def-use coverage than existing state-of-the-art approaches. We also show that Seeker detects 34 new defects missed by existing tools.
机译:高覆盖率测试具有挑战性。现代的面向对象程序给测试带来了其他挑战。一个关键的困难是生成适当的方法序列以将所需对象构建为方法参数。在本文中,我们将该问题视为程序综合的一个实例,该实例会自动生成候选程序以满足用户指定的意图。在我们的设置中,候选程序是方法序列,并且所需的对象状态指定了意图。由于其较大的搜索空间,自动生成所需的方法序列很困难,序列通常涉及多个类的方法,并且需要特定的原始值。本文介绍了一种名为Seeker的新颖方法,可以智能地导航大型搜索空间。搜寻者协同地将静态和动态分析结合在一起:(1)动态分析生成方法序列以覆盖分支; (2)静态分析将动态分析信息用于未覆盖的分支以生成候选序列; (3)动态分析探索并消除了静态生成的序列。为了进行评估,我们实施了Seeker,并在总共28K LOC的四个主题应用程序上证明了其有效性。我们证明,与现有的最新方法相比,Seeker可以实现更高的分支机构覆盖率和def-use覆盖率。我们还表明,Seeker检测到现有工具遗漏的34个新缺陷。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号