首页> 外文期刊>Formal Methods in System Design >Improving the results of program analysis by abstract interpretation beyond the decreasing sequence
【24h】

Improving the results of program analysis by abstract interpretation beyond the decreasing sequence

机译:通过递减顺序的抽象解释来改善程序分析的结果

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

摘要

The classical method for program analysis by abstract interpretation consists in computing first an increasing sequence using an extrapolation operation, called widening, to correctly approximate the limit of the sequence. Then, this approximation is improved by computing a decreasing sequence without widening, the terms of which are all correct, more and more precise approximations. It is generally admitted that, when the decreasing sequence reaches a fixpoint, it cannot be improved further. As a consequence, most efforts for improving the precision of an analysis have been devoted to improving the limit of the increasing sequence. In a previous paper, we proposed a method to improve a fixpoint after its computation. This method consists in computing from the obtained solution a new starting value from which increasing and decreasing sequences are computed again. The new starting value is obtained by projecting the solution onto well-chosen components. The present paper extends and improves the previous paper: the method is discussed in view of some example programs for which it fails. A new method is proposed to choose the restarting value: the restarting value is no longer a simple projection, but is built by gathering and combining information backward the widening nodes in the basic solution. Experiments show that the new method properly solves all our examples, and improves significantly the results obtained on a classical benchmark.
机译:通过抽象解释进行程序分析的经典方法在于,首先使用称为加宽的外推运算来计算一个递增的序列,以正确地近似该序列的极限。然后,通过计算不加宽的递减序列来改善这种近似,其项都是正确的,越来越精确的近似。通常认为,当递减序列达到固定点时,就无法进一步改善。结果,大多数用于提高分析精度的努力都致力于提高递增序列的极限。在先前的论文中,我们提出了一种在计算后提高定点的方法。该方法包括从获得的解中计算出一个新的起始值,根据该新起始值再次计算出递增和递减序列。通过将解决方案投影到精心选择的组件上,可以获得新的初始值。本文是对前一篇论文的扩展和完善:针对该方法失败的一些示例程序进行了讨论。提出了一种选择重启值的新方法:重启值不再是简单的投影,而是在基本解决方案中通过向后扩展节点收集和组合信息而构建的。实验表明,该新方法正确地解决了我们所有的示例,并大大改善了在经典基准测试中获得的结果。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号