首页> 外文期刊>Software Testing, Verification and Reliability >Optimizing compilation with preservation of structural code coverage metrics to support software testing
【24h】

Optimizing compilation with preservation of structural code coverage metrics to support software testing

机译:通过保留结构代码覆盖率指标来优化编译,以支持软件测试

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

摘要

Code-coverage-based testing is a widely-used testing strategy with the aim of providing a meaningful decision criterion for the adequacy of a test suite. Code-coverage-based testing is also mandated for the development of safety-critical applications; for example, the DO178b document requires the application of the modified condition/decision coverage. One critical issue of code-coverage testing is that structural code coverage criteria are typically applied to source code whereas the generated machine code may result in a different code structure because of code optimizations performed by a compiler. In this work, we present the automatic calculation of coverage profiles describing which structural code-coverage criteria are preserved by which code optimization, independently of the concrete test suite. These coverage profiles allow to easily extend compilers with the feature of preserving any given code-coverage criteria by enabling only those code optimizations that preserve it. Furthermore, we describe the integration of these coverage profile into the compiler GCC. With these coverage profiles, we answer the question of how much code optimization is possible without compromising the error-detection likelihood of a given test suite. Experimental results conclude that the performance cost to achieve preservation of structural code coverage in GCC is rather low. Copyright © 2012 John Wiley & Sons, Ltd.
机译:基于代码覆盖率的测试是一种广泛使用的测试策略,旨在为测试套件的适当性提供有意义的决策标准。基于代码覆盖率的测试也被要求用于开发安全关键型应用程序;例如,DO178b文件要求应用修改后的条件/决定范围。代码覆盖率测试的一个关键问题是结构代码覆盖率标准通常应用于源代码,而由于编译器执行的代码优化,生成的机器代码可能会导致不同的代码结构。在这项工作中,我们提出了覆盖范围配置文件的自动计算,描述了哪些结构代码覆盖标准由哪种代码优化来保留,而与具体测试套件无关。这些覆盖配置文件允许通过仅启用保留代码覆盖范围的代码优化来轻松扩展具有保留任何给定代码覆盖条件的功能的编译器。此外,我们描述了将这些覆盖率配置文件集成到编译器GCC中的过程。利用这些覆盖范围配置文件,我们可以回答在不损害给定测试套件的错误检测可能性的情况下,可以进行多少代码优化的问题。实验结果表明,在GCC中保持结构代码覆盖率的性能成本相当低。版权所有©2012 John Wiley&Sons,Ltd.

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号