【AICon】探索八个行业创新案例,教你在教育、金融、医疗、法律等领域实践大模型技术! >>> 了解详情
写点什么

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

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

关注

评论

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

GcExcel:比 Apache POI 速度更快、性能更高

葡萄城技术团队

Apache POI GCExcel

原创 | 使用JUnit、AssertJ和Mockito编写单元测试和实践TDD (十五)编写测试-断言\假设\使测试失效

编程道与术

Java 编程 TDD 单元测试 JUnit

奈学大数据开发工程师分享787个技术,快来收割

奈学教育

大数据

【译】业务转型是什么?

涛哥 数字产品和业务架构

业务中台 数字化转型

深入理解ContextClassLoader

SkyeDance

深入理解JVM ContextClassLoader

Java是不是慢半拍?

X.F

Java 架构 编程语言

CI/CD - Python Django 项目在 Jenkins 上的实践

meta-algorithmX

Python django TDD CI/CD

手机是21世纪最成功的毒品

Neco.W

学习 提升效率 工作

Hive底层执行引擎的深度剖析(免费)

奈学教育

大数据 hive

Vim使用总结

JDoe

vim

CEO或业务负责人应该具备的数据分析能力

花生

工具 数据 CEO

收藏!如何有效实施devops?

禅道项目管理

DevOps 运维 持续集成 开发 自动化测试

安全做到首位 统信UOS后激勃发

统小信uos

网络安全 操作系统

游戏夜读 | 什么是黑色一分钟?

game1night

ARTS-week one

Jokky💫

ARTS 打卡计划

『PyTorch』使用指定GPU的方法

kraken0

人工智能 学习 图像识别

运维日志里隐藏的安全危机,你知道怎么挖吗?听听专家怎么说

secisland

态势感知 关联分析 SOC

Docker 搭建 Postgres + pgAdmin 环境

姜雨生

Docker DevOps postgres

产品周刊 | 第 17 期(20200531)

八味阁

产品 设计 产品经理 产品设计 产品推荐

学习没进步?也许反馈有问题

KAMI

学习 认知提升

面试题:教你如何吃透RocketMQ

奈学教育

架构 RocketMQ 架构设计

Vue生成AST算法的解析

djknight

Java Vue AST

原创 | 使用JUnit、AssertJ和Mockito编写单元测试和实践TDD (十四)编写测试-显示名

编程道与术

Java 编程 TDD 单元测试 JUnit

霸榜18年,作者连续20年获得微软MVP,这本SQL书凭什么成为畅销经典

图灵社区

数据库 SQL语法 sql查询

深入理解JVM内存管理 - 方法区

SkyeDance

深入理解JVM 方法区 老年代

撸一串趣图,给晚上加班打个鸡血

码农神说

程序员 加班 段子

redis持久化RDB与AOF

wjchenge

redis

万恶的NPE如何避免,几种你必须知道的方案!!!

不才陈某

后端

我们是活着,而不是活过

小天同学

个人感想 生活,随想 随笔杂谈 日常思考

美国黑客曝出政府惊天内幕,看区块链如何解决!

CECBC

CECBC 区块链技术 民生 不可篡改 信息公开

SpringBatch系列入门之Tasklet

稻草鸟人

spring SpringBatch 批处理

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