写点什么

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

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

关注

评论

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

android 对不同日期和时间的格式方法的封装,46道面试题带你了解高级Android面试

android 程序员 移动开发

高风险IP究竟来自哪里?IP定位带你反欺诈

郑州埃文科技

模块二作业

ks

优酷小程序优化实战

阿里巴巴终端技术

小程序 ios android 客户端 包大小

Python代码阅读(第54篇):斐波那契数列

Felix

Python 编程 斐波那契 阅读代码 Python初学者

JWT、JWS与JWE

喵叔

11月日更

Android 应用层开发 Drawable 的一些叨叨絮(1),androidstudio中文社区

android 程序员 移动开发

资产管理系统是管钱的吗?不完全对

低代码小观

企业管理 资产配置 资产管理 管理系统 企业资产

Linux踩过的坑

正向成长

Linux

WordPress站点快速集成腾讯数字身份管控平台CIAM,免开发实现登录认证

腾讯安全

又碰到一个奇葩的BUG

艾小仙

软件测试面试屡屡失败,面试官总是说逻辑思维混乱,怎么办?

六十七点五

学习方法 面试 软件测试 自动化测试 测试工程师

Android 常见的数据存储方式,腾讯T2大佬手把手教你

android 程序员 移动开发

golang源码学习--context

en

Context

300M的文件,9秒钟下载完成,这款软件真的太离谱!

懒得勤快

Android 开发市场是盛是衰?你应该知晓,android音视频开发面试题

android 程序员 移动开发

通过Rainbond的团队管理去管理已有的组织架构

北京好雨科技有限公司

最佳实践 多租户 开源软件 rainbond

客户端稳定性异常检测:函数接口“扫雷”实践

阿里巴巴终端技术

函数式接口 稳定性测试 异常检测 客户端 APP稳定性

如何用 Flutter开发一个直播应用

RTE开发者社区

flutter 人工智能

Android 实现水印背景效果,kotlin教程

android 程序员 移动开发

茜纱窗下夜读书(2021年11月)

美月

#读书

用户案例|告别传统金融消息架构:Apache Pulsar 在平安证券的实践

Apache Pulsar

Apache Pulsar

如何给企业制定碳排放额度?

石云升

学习笔记 碳中和 11月日更 碳交易

如何使用注解优雅的记录操作日志 | 萌新写开源 01

Zhendong

Java GitHub

专业版再增强 | MSE 无缝兼容 Eureka 协议,性能提升50%

阿里巴巴中间件

阿里云 微服务 云原生 中间件 Eureka

Android 屏幕适配方案,安卓开发

android 程序员 移动开发

Android 应用层开发 Drawable 的一些叨叨絮,跨平台移动开发答案

android 程序员 移动开发

AliRTC 开启视频互动 “零计算” 时代

阿里云CloudImagine

阿里云 音视频 RTC 视频云

RecyclerView使用GridLayoutManager为什么无法均匀分布?

Changing Lin

11月日更

【应用分享】百度超级链助力CFCA建设基于区块链的电子数据存证系统

百度开发者中心

百度 超级链

并发编程之深入理解CAS

Fox爱分享

CAS 并发’ 11月日更 比较与交换

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