首页> 外文期刊>ACM transactions on software engineering and methodology >DIG: A Dynamic Invariant Generator for Polynomial and Array Invariants
【24h】

DIG: A Dynamic Invariant Generator for Polynomial and Array Invariants

机译:DIG:用于多项式和数组不变量的动态不变量生成器

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

摘要

This article describes and evaluates DIG, a dynamic invariant generator that infers invariants from observed program traces, focusing on numerical and array variables. For numerical invariants, DIG supports both nonlinear equalities and inequalities of arbitrary degree defined over numerical program variables. For array invariants, DIG generates nested relations among multidimensional array variables. These properties are nontrivial and challenging for current static and dynamic invariant analysis methods. The key difference between DIG and existing dynamic methods is its generative technique, which infers invariants directly from traces, instead of using traces to filter out predefined templates. To generate accurate invariants, DIG employs ideas and tools from the mathematical and formal methods domains, including equation solving, polyhedra construction, and theorem proving; for example, DIG represents and reasons about polynomial invariants using geometric shapes. Experimental results on 27 mathematical algorithms and an implementation of AES encryption provide evidence that DIG is effective at generating invariants for these programs.
机译:本文介绍并评估了DIG,它是一种动态不变式生成器,可以从观察到的程序轨迹中推断出不变式,重点关注数值和数组变量。对于数值不变量,DIG支持在数值程序变量上定义的非线性等式和不等式。对于数组不变式,DIG会在多维数组变量之间生成嵌套关系。这些特性对于当前的静态和动态不变分析方法而言是不平凡且具有挑战性的。 DIG与现有动态方法之间的主要区别在于其生成技术,该技术直接从轨迹中推断出不变式,而不是使用轨迹来筛选出预定义的模板。为了生成准确的不变式,DIG使用了数学和形式方法领域的思想和工具,包括方程求解,多面体构造和定理证明;例如,DIG使用几何形状表示多项式不变量及其原因。 27种数学算法的实验结果和AES加密的实现提供了证据,证明DIG可有效生成这些程序的不变式。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号