与语言无关的规范和验证:特邀演讲

Manuel Fähndrich
{"title":"与语言无关的规范和验证:特邀演讲","authors":"Manuel Fähndrich","doi":"10.1145/1481848.1481849","DOIUrl":null,"url":null,"abstract":"Over the last few years we have been working on bringing simple and pragmatic program specification and verification to programming languages targeting the Microsoft .NET platform. In this talk I will discuss the motivation and trade-offs influencing our design.\n The specifications and static verification are targeted at the general developer, not the verification enthusiast. It is thus important to us to use a single form of specifications that meets three simultaneous goals:\n 1. Specifications serve as documentation. They must be as readable as possible.\n 2. Specifications should be executable. This motivates writing specifications for testing and immediate perceived benefit, without consideration of static verification.\n 3. Finally, specifications should be usable in static verification.\n Our specification approach is language-agnostic in that we use idiomatic code written in the developer's source language to express pre-conditions and post-conditions. Preconditions and postconditions are expressed as calls to the static methods. Special dummy methods are used to refer to the method result value as well as referring to the old value of an expression, meaning the value of the expression on method entry.","PeriodicalId":153056,"journal":{"name":"Programming Languages meets Program Verification","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2009-01-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Language-agnostic specification and verification: invited talk\",\"authors\":\"Manuel Fähndrich\",\"doi\":\"10.1145/1481848.1481849\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Over the last few years we have been working on bringing simple and pragmatic program specification and verification to programming languages targeting the Microsoft .NET platform. In this talk I will discuss the motivation and trade-offs influencing our design.\\n The specifications and static verification are targeted at the general developer, not the verification enthusiast. It is thus important to us to use a single form of specifications that meets three simultaneous goals:\\n 1. Specifications serve as documentation. They must be as readable as possible.\\n 2. Specifications should be executable. This motivates writing specifications for testing and immediate perceived benefit, without consideration of static verification.\\n 3. Finally, specifications should be usable in static verification.\\n Our specification approach is language-agnostic in that we use idiomatic code written in the developer's source language to express pre-conditions and post-conditions. Preconditions and postconditions are expressed as calls to the static methods. Special dummy methods are used to refer to the method result value as well as referring to the old value of an expression, meaning the value of the expression on method entry.\",\"PeriodicalId\":153056,\"journal\":{\"name\":\"Programming Languages meets Program Verification\",\"volume\":\"1 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2009-01-20\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Programming Languages meets Program Verification\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/1481848.1481849\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Programming Languages meets Program Verification","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/1481848.1481849","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

摘要

在过去的几年里,我们一直致力于为针对Microsoft . net平台的编程语言带来简单实用的程序规范和验证。在这次演讲中,我将讨论影响我们设计的动机和权衡。规范和静态验证针对的是一般开发人员,而不是验证爱好者。因此,对我们来说,使用满足三个同时目标的单一形式的规范是很重要的:规范作为文档。它们必须尽可能具有可读性。2. 规范应该是可执行的。这激发了编写测试规范和直接感知到的好处,而不考虑静态验证。3.最后,规范应该在静态验证中可用。我们的规范方法与语言无关,因为我们使用用开发人员的源语言编写的惯用代码来表达前置条件和后置条件。前置条件和后置条件表示为对静态方法的调用。使用特殊的虚拟方法来引用方法结果值以及引用表达式的旧值,即方法入口时表达式的值。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
Language-agnostic specification and verification: invited talk
Over the last few years we have been working on bringing simple and pragmatic program specification and verification to programming languages targeting the Microsoft .NET platform. In this talk I will discuss the motivation and trade-offs influencing our design. The specifications and static verification are targeted at the general developer, not the verification enthusiast. It is thus important to us to use a single form of specifications that meets three simultaneous goals: 1. Specifications serve as documentation. They must be as readable as possible. 2. Specifications should be executable. This motivates writing specifications for testing and immediate perceived benefit, without consideration of static verification. 3. Finally, specifications should be usable in static verification. Our specification approach is language-agnostic in that we use idiomatic code written in the developer's source language to express pre-conditions and post-conditions. Preconditions and postconditions are expressed as calls to the static methods. Special dummy methods are used to refer to the method result value as well as referring to the old value of an expression, meaning the value of the expression on method entry.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信