【24h】

Widening as Abstract Domain

机译:作为抽象领域加宽

获取原文

摘要

Verification using static analysis often hinges on precise numeric invariants. Numeric domains of infinite height can infer these invariants, but require widening/narrowing which complicates the fixpoint computation and is often too imprecise. As a consequence, several strategies have been proposed to prevent a precision loss during widening or to narrow in a smarter way. Most of these strategies are difficult to retrofit into an existing analysis as they either require a pre-analysis, an on-the-fly modification of the CFG, or modifications to the fixpoint algorithm. We propose to encode widening and its various refinements from the literature as cofibered abstract domains that wrap standard numeric domains, thereby providing a modular way to add numeric analysis to any static analysis, that is, without modifying the fixpoint engine. Since these domains cannot make any assumptions about the structure of the program, our approach is suitable to the analysis of executables, where the (potentially irreducible) CFG is re-constructed on-the-fly. Moreover, our domain-based approach not only mirrors the precision of more intrusive approaches in the literature but also requires fewer iterations to find a fixpoint of loops than many heuristics that merely aim for precision.
机译:使用静态分析验证通常在精确的数字不变量上铰接。无限高度的数字域可以推断这些不变量,但需要扩展/缩小,这使得固定点计算复杂化并且往往太不精确。因此,已经提出了几种策略来防止在扩大或以更聪明的方式缩小精度损失。这些策略中的大多数难以改造成现有的分析,因为它们要么需要预分析,也是对CFG的一瞬间修改,或对FixPoint算法的修改。我们建议从文献中编码扩展及其各种改进,作为包装标准数字域的简洁抽象域,从而提供模块化方式来向任何静态分析添加数值分析,即不修改FixPoint引擎。由于这些域无法对程序的结构进行任何假设,因此我们的方法适合于对可执行文件的分析,其中(可能不可放度)CFG在直通地重新构建。此外,我们基于域的方法不仅反映了文献中更具侵入性方法的精度,而且需要较少的迭代来查找循环的固定点,而不是仅旨在精确度。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号