2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

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:241745
用户头像

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

关注

评论

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

望繁信科技携流程智能解决方案亮相CNDS 2024新能源产业数智峰会

望繁信科技

数字化转型 流程挖掘 流程资产 流程智能 新能源产业

物流数字化:低代码推进供应链数字化进程

不在线第一只蜗牛

低代码 数字化 供应链 物流

利用 FileSystem API 实现一个 web 端的残缺版文件管理器

yuanyxh

js #前端

Pro Git 阅读理解:Git 是如何实现的

yuanyxh

js #前端

饿了么基于Flink+Paimon+StarRocks的实时湖仓探索

Apache Flink

大数据 flink 实时计算 StarRocks

什么是函数式编程

yuanyxh

js 函数式编程 #前端

upload 组件封装

yuanyxh

js 上传 #前端

JavaScript 概念 - 闭包

yuanyxh

js #前端

飞猪、去哪儿网接连“出事”,在线旅游平台有多少“坑”?

趣解商业

去哪儿网 飞猪 在线旅游平台

JavaScript 概念 - 高阶函数

yuanyxh

js #前端

ES6 新特性详解 - 迭代器与生成器

yuanyxh

js #前端

ES6 新特性详解 - 解构赋值

yuanyxh

js #前端

深度解析 MintRich 独特的价格曲线机制玩法

NFT Research

web3 NFT\

ES6 新特性详解 - Promise

yuanyxh

js Promise #前端

个人博客搭建 - 基于Hexo + Next + Github

yuanyxh

Hexo js #前端

【YashanDB知识库】单机升级典型问题及应急措施

YashanDB

yashandb 崖山数据库 yashandb知识库

阿里巴巴商品详情API返回值:电商精准营销的关键

技术冰糖葫芦

api 网关 API Gateway API 文档 API 测试 pinduoduo API

业界首个AI安全产业图谱发布,移动云实力入选

科技热闻

记录一次关于 vuepress 滚动恢复的讨论

yuanyxh

js #前端

应用闪退分析与 uniapp 安卓原生插件开发

yuanyxh

调试 an'droid #前端

AI耳机成智能硬件布局入口产品 科大讯飞无线智能耳机率先突围

科技热闻

深入浅出 GIF

yuanyxh

js GIF #前端

redux 源码学习

yuanyxh

js Redux #前端

JavaScript 概念 - 原型与继承

yuanyxh

js #前端

ES6 新特性详解 - Symbol

yuanyxh

js #前端

typora & vscode 实现图片自动上传与云

yuanyxh

Typora js #前端

JavaScript 概念 - 事件循环

yuanyxh

js #前端

代码风格与编码习惯

yuanyxh

js #前端

ES6 新特性详解 - let/const

yuanyxh

js ES6 ES5 #前端

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