写点什么

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

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

关注

评论

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

万字长文,浅谈企业数字化建模蓝图

产品老高

数字化 中台架构

1对1直播源码——1对1语音聊天源码

开源直播系统源码

直播系统源码 语音聊天系统软件开发 一对一语音聊天软件

Java 将OFD转换为PDF

在下毛毛雨

Java PDF OFD 格式转换

带你熟悉云网络的“电话簿”:DNS

华为云开发者联盟

云计算 后端 IP DNS 局域网

实践GoF的23种设计模式:观察者模式

华为云开发者联盟

Web 设计模式 开发 GoF

一文搞懂│XSS攻击、SQL注入、CSRF攻击、DDOS攻击、DNS劫持

网络安全 经验分享 签约计划第三季

智能家居行业发展,密切关注边缘计算和小程序容器技术

Speedoooo

智能设备 边缘计算 智能家居 小程序容器

担心 GitHub?那就试试极狐GitLab 吧

极狐GitLab

git GitHub 开源 DevOps gitlab

双屏协作效率翻倍 灵耀X双屏Pro引领双屏科技新潮流

科技热闻

共议公共数据开放,“数牍方案”亮相数字中国建设峰会

Jessica@数牍

隐私计算 数牍科技 公共数据开放

最新战报:十项认证,五项最佳实践

天翼云开发者社区

云计算 分布式云

什么是传输层协议TCP/UDP???

C++后台开发

TCP 网络协议 udp 后端开发 C/C++开发

我们被一个 kong 的性能 bug 折腾了一个通宵

尔达Erda

程序员 运维 云原生 性能 bug

如何通过ETL调度工具 TASKCTL 使用作业插件类型调用 kettle作业?

敏捷调度TASKCTL

数据仓库 kettle ETL #运维 TASKCTL

DevSecOps,让速度和安全兼顾

飞算JavaAI开发助手

「中高级试题」:MVCC实现原理是什么?

程序员啊叶

Java 编程 程序员 架构 java面试

@千行百业,一起乘云而上!

天翼云开发者社区

云计算 云平台

聚力打造四个“高地”,携手合作伙伴共铸国云!

天翼云开发者社区

云计算 云平台

大咖说·图书分享 | 精益产品开发:原则、方法与实施

大咖说

产品开发 落地方法

次轮Okaleido Tiger即将登录Binance NFT,引发社区热议

西柚子

一文详解 Redis 中 BigKey、HotKey 的发现与处理

冉然学Java

Java redis 微服务 bigkey HotKey

天翼云Web应用防火墙(边缘云版)支持检测和拦截Apache Spark shell命令注入漏洞

天翼云开发者社区

Shell 防火墙

10 万字节Spring Boot +redis详细面试笔记(带完整目录)免费分享

程序员啊叶

Java 编程 程序员 架构 java面试

敏捷开发与DevOps的对比

码语者

DevOps 敏捷

Plato Farm有望通过Elephant Swap,进一步向外拓展生态

小哈区块

使用python玩转文字类视频

技能实验室

签约计划第三季

BSN IPFS(星际文件系统)专网简介、功能、架构及特性、接入说明

BSN研习社

BSN 分布式存储,

兆骑科创高端人才项目引进落地,双创大赛承办,线上直播路演

兆骑科创凤阁

双创大赛承办

Plato Farm有望通过Elephant Swap,进一步向外拓展生态

西柚子

AOP切入点表达式及五种通知类型解析

王小凡

大型仿人机器人整机构型研究与应用

优必选科技

机器人

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