首页> 外文会议>IEEE/ACM International Conference on Automated Software Engineering >Closer to the Edge: Testing Compilers More Thoroughly by Being Less Conservative About Undefined Behaviour
【24h】

Closer to the Edge: Testing Compilers More Thoroughly by Being Less Conservative About Undefined Behaviour

机译:更靠近边缘:通过减少保守的行为来测试编译器更彻底

获取原文

摘要

Randomised compiler testing techniques require a means of generating programs that are free from undefined behaviour (UB) in order to reliably reveal miscompilation bugs. Existing program generators such as Csmith heavily restrict the form of generated programs in order to achieve DB-freedom. We hypothesise that the idiomatic nature of such programs limits the test coverage they can offer. Our idea is to generate less restricted programs that are still UB-free-programs that get closer to the edge of UB, but that do not quite cross the edge. We present preliminary support for our idea via a prototype tool, Csmithedge, which uses simple dynamic analysis to determine where Csmith has been too conservative in its use of safe math wrappers that guarantee UB-freedom for arithmetic operations. By eliminating redundant wrappers, Csmithedge was able to discover two new miscompilation bugs in GCC that could not be found via intensive testing using regular Csmith, and to achieve substantial differences in code coverage on GCC compared with regular Csmith. CCS CONCEPTS • Software and its engineering →Compilers; Software verification and validation.
机译:随机编译器测试技术需要一种生成从未定义行为(UB)的程序的方法,以便可靠地揭示MIScompilation错误。诸如CSMITH的现有程序生成器严重限制生成的程序的形式,以实现DB自由。我们假设此类计划的惯用性质限制了他们可以提供的测试覆盖范围。我们的想法是生成较少的限制程序,这些程序仍然是UB的措施,可以更接近UB的边缘,但这并不完全跨越边缘。我们通过原型工具,CSMITHEGGE来提出对我们的想法的初步支持,它使用简单的动态分析来确定CSMITH在使用安全数学包装器中过于保守的地方,以保证UB - 算术运算自由。通过消除冗余包装器,CSMITHEGGE能够在GCC中发现两种新的MIScompilation错误,无法使用普通简历无法通过强化测试找到,并与常规匠床相比,在GCC上实现了代码覆盖率的大量差异。 CCS概念•软件及其工程→编译器;软件验证和验证。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号