写点什么

Spec#与 Boogie 发布于 CodePlex

  • 2009-08-10
  • 本文字数:467 字

    阅读完需:约 2 分钟

Spec#是一种基于 C#的研究型语言。它是基于契约优先的原则,即函数的前提条件和后置条件都以声明的方式定义。其他的特性还包括类不变量、非空引用类型和加强的静态分析功能。

我们可以在.NET 4 中找到一些重要的特性,比如:代码契约,Spec#当前的研究状况比较尴尬。最近,微软声明放宽对它的约束,但也仅是一点而已。获取了微软研究共享许可协议后, Spec#的源代码已经可以从 CodePlex 站点上下载了。这份许可仅限于非商业用途。

与 Spec#配套的有 Boogie,一种用于代码验证的中间语言。 Boogie 并非仅限于.NET ,它还支持其他的语言,包括“HAVOC、C 语言的验证程序 vcc、Dafny 语言和它的验证程序以及并发语言 Chalice”。

Boogie 还是一种工具的名称。该工具接受 Boogie 语言的输入,并随意地推断给定 Boogie 程序的一些不变量,接着生成验证条件,然后传给 SMT 解算程序。默认的 SMT 解算程序是 Z3。

Boogie 已经基于微软公共许可正式发布,它符合开源标准。

当前微软把代码契约定位为今后的发展方向,这意味着 Spec#未来很可能不会有太大的发展。

查看英文原文: Spec# and Boogie Released on CodePlex

2009-08-10 04:241944
用户头像

发布了 87 篇内容, 共 24.9 次阅读, 收获喜欢 1 次。

关注

评论

发布
暂无评论
发现更多内容

1688 商品详情接口系列(1688 API)

tbapi

1688商品详情接口 1688API接口

充电桩测试系统(源码+文档+部署+讲解)

深圳亥时科技

用DevEco Studio性能分析工具 高效解决鸿蒙原生应用内存问题

HarmonyOS开发者

DevEco Studio

VMware NSX 4.2.1.2 发布 - 网络安全虚拟化平台

sysin

nsx

AI智能体在软件测试中的精准定位与缺陷预测

测试人

软件测试

AI英语单词APP的开发

北京木奇移动技术有限公司

软件外包公司 AI口语练习 AI英语学习

CST软件如何仿真Total Scan方向图的

思茂信息

cst cst操作 CST软件

集成指南 | 融云鸿蒙 IMKit 来了!解锁 HarmonyOS 原生社交模块高效开发秘籍

融云 RongCloud

中小型科技公司效率提升秘籍

伤感汤姆布利柏

VMware Avi Load Balancer 31.1.1 发布 - 多云负载均衡平台

sysin

负载均衡

AI英语口语App的开发

北京木奇移动技术有限公司

软件外包公司 AI口语练习 AI英语口语

支付宝故障:软件测试如何防患于未然

测试人

软件测试

豆包语音大模型首家引领级通过中国信通院语音大模型评估

极客天地

从语音识别到图像识别:AI如何“看”和“听”

天津汇柏科技有限公司

AI 人工智能

VMware Data Services Manager 2.2 发布 - 数据库管理和数据服务管理

sysin

数据库

VMware VeloCloud SD-WAN 6.2 发布 - 领先的 SD-WAN 解决方案

sysin

velocloud

观测云产品更新 | 用户访问监测、应用性能监测、场景等优化

观测云

产品迭代

如何基于Sharding-JDBC实现GaussDB在客户端应用的读写分离

华为云开发者联盟

数据库 JDBC GaussDB 读写分离

Spec#与Boogie发布于CodePlex_.NET_Jonathan Allen_InfoQ精选文章