首页> 外文期刊>Software Testing, Verification and Reliability >Speeding up test execution with increased cache locality
【24h】

Speeding up test execution with increased cache locality

机译:通过增加缓存位置来加快测试执行速度

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

摘要

As the scale and complexity of software increases, the number of tests needed for effective validation becomes extremely large. Executing these large test suites is expensive, both in terms of time and energy. Cache misses are a significant contributing factor to execution time of software. We propose an approach that helps order test executions in a test suite in such a way that instruction cache misses are reduced. We also ensure that the approach scales to large test suite sizes. We conduct an empirical evaluation with 20 subject programs and test suites from the SIR repository, EEMBC suite, and LLVM Symbolizer, comparing execution times and cache misses with test orderings maximising instruction locality versus a traditional ordering maximising coverage and random permutations. We also assess overhead of algorithms in generating the orderings that optimise cache locality. Nature of programs and tests impact the performance gained with our approach. Performance gains were considerable for programs and test suites where the average number of different instructions executed between tests was high. We achieved an average execution speedup of 6.83% and a maximum execution speedup of 17% over subject programs with differing control flow between test executions.
机译:随着软件的规模和复杂性的增加,有效验证所需的测试数量变得非常大。在时间和精力上,执行这些大型测试套件都非常昂贵。缓存未命中是影响软件执行时间的重要因素。我们提出一种方法,以减少指令缓存丢失的方式,帮助在测试套件中对测试执行进行排序。我们还确保该方法可以扩展到大型测试套件。我们对来自SIR存储库,EEMBC套件和LLVM Symbolizer的20个主题程序和测试套件进行了实证评估,比较了执行时间和缓存未命中率与最大程度地提高了指令本地性的测试顺序以及传统的最大化了覆盖范围和随机排列的顺序。我们还评估了生成优化缓存位置的顺序时算法的开销。程序和测试的性质会影响通过我们的方法获得的性能。对于程序和测试套件,在测试之间执行的不同指令的平均数量很高的情况下,性能可观的提升。在测试执行之间控制流不同的情况下,我们实现了主题程序的平均执行速度为6.83%,最大执行速度为17%。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号