当前位置: 代码迷 >> 综合 >> The Daikon system for dynamic detection of likely invariants
  详细解决方案

The Daikon system for dynamic detection of likely invariants

热度:30   发布时间:2023-12-14 02:31:26.0

摘要

Daikon是动态检测可能不变量的实现;也就是说,Daikon不变量检测器报告可能的程序不变量。不变量是在程序中的某个点或多个点上保持不变的属性;这些通常用于断言语句、文档和正式规范中。示例包括常数(x=a)、非零(x6=0)、在范围(a)内≤十、≤b) ,线性关系(y=axb),排序(x≤y) ,来自库的函数(x=fn(y)),包含(x∈y) ,分类(x被排序),等等。用户可以扩展Daikon以检查其他不变量。动态不变检测运行程序,观察程序计算的值,然后报告在观察到的执行过程中为真的属性。动态不变检测是一种可以应用于任意数据的机器学习技术。Daikon可以检测C、C、Java和Perl程序以及记录结构化数据源中的不变量;很容易将Daikon扩展到其他应用程序。不变量在程序理解和许多其他应用程序中都很有用。Daikon的输出用于生成测试用例、预测组件集成中的不兼容性、自动化定理证明、修复不一致的数据结构以及检查数据流的有效性等任务。Daikon可免费获得源代码和二进制格式,以及大量文档,http://pag.csail.mit.edu/daikon/.。

介绍

本文介绍了Daikon——一种全功能、健壮的动态不变量检测实现。不变量详细说明了数据结构和算法,有助于从设计到维护的手动和自动编程任务。例如,它们标识修改代码时必须保留的程序属性。尽管不变量有其优点,但它们通常在程序中缺失。期望程序员使用不变量对代码进行完全注释的另一种方法是从程序执行中自动推断可能的不变量。对于某些重要任务,动态推断的属性比人

  相关解决方案