写点什么

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

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

关注

评论

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

分布式多级缓存系统设计与实战

做梦都在改BUG

分布式 系统设计 多级缓存

多位P8大牛联袂推出:国内最牛的Java面试八股,不接受反驳

Java你猿哥

Java 面试 ssm 面经 八股文

强强联合,ByteHouse携手亚马逊云科技,新一代云数仓服务重磅升级

字节跳动数据平台

数据仓库 云原生 Clickhouse 企业号 4 月 PK 榜

华为亮相KubeCon EU 2023 新云原生开源项目Kuasar推动“云上演进”

华为云开发者联盟

开源 后端 华为云 华为云开发者联盟 企业号 4 月 PK 榜

阿里逆天级调优方案,内部这套Java性能调优实战宝典,堪称教科书

做梦都在改BUG

Java 性能优化 性能调优

今天一定要搞清楚Spring事务

做梦都在改BUG

Java spring Spring事务

百度APP iOS端包体积50M优化实践(二) 图片优化

百度Geek说

ios 开发语言 企业号 4 月 PK 榜

如果不知道这4种缓存模式,敢说懂缓存吗?

Java你猿哥

缓存 架构 ssm 架构设计 cache

华为ISDP数字化现场作业亮相第十七届工程建设行业信息化发展大会

平平无奇爱好科技

Java 应用程序在 Kubernetes 上棘手的内存管理

做梦都在改BUG

Java Kubernetes JVM 内存管理

路由器、网桥和交换机

测吧(北京)科技有限公司

测试

华为ISDP亮相长沙电力行业信息化年会,分享数字化转型实践与技术创新

平平无奇爱好科技

Docker不香了?只能说阿里这套K8S手册更香

做梦都在改BUG

Java Kubernetes k8s

让GitHub低头认错的这份阿里内部绝密Java面试八股文手册有多强?

Java你猿哥

Java 面试 ssm 面经 八股文

ShareSDK 微信平台注册指南

MobTech袤博科技

SaaS 软件的 SLA 和 Escalation

汪子熙

SaaS Cloud 三周年连更

卧薪尝胆30天!啃透京东大牛的高并发设计进阶手册,终获P7意向书

做梦都在改BUG

Java 系统设计 高并发

带你了解关于FastAPI快速开发Web API项目中的模板和Jinja

华为云开发者联盟

微服务 前端 华为云 华为云开发者联盟 企业号 4 月 PK 榜

泰库辣!京东首席架构师:亿级流量网站架构核心技术,肝完薪资飙升

Java你猿哥

架构 高可用 ssm 高并发 架构设计

数仓实践丨主动预防-DWS关键工具安装确认

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 4 月 PK 榜

震撼!阿里架构师全新产出Java面试突击宝典。我觉得泰库辣!

Java你猿哥

Java redis spring Spring Boot JVM

用纯python写web app:Streamlit

AIWeker

Python python小知识 三周年连更

【Python实战】Python采集皮肤图片数据

BROKEN

三周年连更

Java 应用程序在 Kubernetes 上棘手的内存管理

Java你猿哥

Kubernetes JVM ssm requests limits

Josh × 微帧科技,为印度TOP短视频平台提供视频编码服务

微帧Visionular

音视频 视频编码 音视频技术

C4D渲染器到底该怎么选?

Finovy Cloud

C4D

PostgreSQL插件那么多,怎样管理最高效?

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 4 月 PK 榜

区块链数字代币燃烧模式开发技术方案丨(成熟技术)

I8O28578624

软件测试/测试开发丨Pytest 自动化测试框架(五)

测试人

软件测试 自动化测试 测试开发 pytest alure

校园共享电单车是否值得投放

共享电单车厂家

共享电动车厂家 共享电单车投放 校园共享电动车 本铯共享电动车

使用 IDEA 远程 Debug 调试(一篇懂所有)

Java你猿哥

Java Spring Boot ssm IDEA

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