The Daikon system for dynamic detection of likely invariants

摘要

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值