首页> 外文期刊>Science of Computer Programming >An experimental comparison of edge, edge-pair, and prime path criteria
【24h】

An experimental comparison of edge, edge-pair, and prime path criteria

机译:边缘,边缘对和主要路径标准的实验比较

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

摘要

Background: Many criteria have been proposed to generate test inputs. Criteria are usually compared in terms of subsumption: if a criterion C1 subsumes C2, it is guaranteed that every test set that satisfies C1 will also satisfy C2. An implication of this notion of subsumption is that C1-adequate tests tend to find more faults than C2-adequate tests, but C1-adequate tests tend to be larger. Thus, while useful, the idea of subsumption does not elaborate on some practical properties of expensive criteria as, for instance, how many more faults a C1-adequate test set will find? More generally, what is the return on investment for choosing more expensive criteria? Method: To provide a more accurate idea of the fault finding ability and cost of several criteria, we set out to compare three structural graph coverage criteria: edge coverage (EC), edge-pair coverage (EPC), and prime path coverage (PPC). PPC and EPC subsume EC. To compare these criteria we examined 189 functions from 39 C programs, used mutants as a proxy for faults, and performed a statistical analysis of the results. Result: The three criteria are very similar in terms of effectiveness when all mutants are taken into account: PPC killed 98% of the mutants, EPC 97%, and EC 94%. However, the difference between the criteria is emphasized with minimal mutant sets: PPC killed 75% of the mutants, EPC killed 67%, and EC killed only 57%. As for the cost of these criteria, we found that there is not much difference in terms of the number of TRs. We expected PPC to have the most TRs, so we were surprised to find that, on average, the number of TRs for EPC was highest. Conclusion: PPC can detect more faults, specially in programs that have complicated control flows, but at higher cost. Thus, a practical tester can make an informed cost versus benefit decision. A better understanding of which structures in the programs contribute to the expense might help to choose when to use PPC.
机译:背景:已经提出了许多标准来生成测试输入。通常按包含条件比较标准:如果标准C1包含C2,则可以保证满足C1的每个测试集也将满足C2。这种包含概念的含义是,与C2足够的测试相比,C1足够的测试倾向于发现更多的故障,但是C1足够的测试倾向于更大。因此,虽然有用,但包含的想法并未详细说明昂贵准则的某些实用属性,例如,如果C1足够的测试集会发现多少故障?更一般而言,选择更昂贵的条件的投资回报是多少?方法:为了提供更准确的故障发现能力和几个标准成本的思路,我们着手比较三种结构图的覆盖标准:边缘覆盖(EC),边缘对覆盖(EPC)和主要路径覆盖(PPC) )。 PPC和EPC包含EC。为了比较这些标准,我们检查了39个C程序中的189个功能,使用突变体作为故障的代理,并对结果进行了统计分析。结果:当考虑所有突变体时,这三个标准在有效性方面非常相似:PPC杀死了98%的突变体,EPC 97%和EC 94%。但是,使用最少的突变体集强调了标准之间的差异:PPC杀死了75%的突变体,EPC杀死了67%,EC仅杀死了57%。至于这些标准的成本,我们发现TR的数量没有太大差异。我们期望PPC拥有最多的TR,因此我们很惊讶地发现EPC的TR数量平均最高。结论:PPC可以检测更多故障,尤其是在控制流程复杂但成本较高的程序中。因此,实际的测试人员可以做出明智的成本与收益决策。更好地了解程序中的哪些结构会增加费用,可能有助于选择何时使用PPC。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号