...
首页> 外文期刊>International Journal on Software Tools for Technology Transfer >Automatic equivalence checking of programs with uninterpreted functions and integer arithmetic
【24h】

Automatic equivalence checking of programs with uninterpreted functions and integer arithmetic

机译:具有未解释函数和整数算术的程序的自动等效检查

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

获取外文期刊封面封底 >>

       

摘要

Proving equivalence of programs has several important applications, including algorithm recognition, regression checking, compiler optimization verification and validation, and information flow checking. Despite being a topic with so many important applications, program equivalence checking has seen little advances over the past decades due to its inherent (high) complexity. In this paper, we propose, to the best of our knowledge, the first semi-algorithm for the automatic verification of partial equivalence of two programs over the combined theory of uninterpreted function symbols and integer arithmetic (UF+IA). The proposed algorithm supports, in particular, programs with nested loops. The crux of the technique is a transformation of uninterpreted functions (UFs) applications into integer polynomials, which enables the precise summarization of loops with UF applications using recurrences. The equivalence checking algorithm then proceeds on loop-free, integer only programs. We implemented the proposed technique in CORK, a tool that automatically verifies the correctness of compiler optimizations, and we show that it can prove more optimizations correct than state-of-the-art techniques.
机译:证明程序的等效性具有几个重要的应用程序,包括算法识别,回归检查,编译器优化验证和确认以及信息流检查。尽管有许多重要应用程序作为主题,但程序等效性检查由于其固有的(高度)复杂性,在过去的几十年中进展甚微。本文中,就我们所知,我们提出了第一个半算法,用于通过未解释功能符号和整数算术(UF + IA)的组合理论自动验证两个程序的部分等价性。所提出的算法尤其支持具有嵌套循环的程序。该技术的关键是将未解释函数(UFs)应用程序转换为整数多项式,从而可以使用递归将UF应用程序的循环精确汇总。然后,等效检查算法在无循环,仅整数的程序上进行。我们在CORK中实现了建议的技术,CORK是一种可自动验证编译器优化的正确性的工具,并且我们证明,与最新技术相比,它可以证明更多的优化是正确的。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号