首页> 外文期刊>Science of Computer Programming >How the design of JML accommodates both runtime assertion checking and formal verification
【24h】

How the design of JML accommodates both runtime assertion checking and formal verification

机译:JML的设计如何适应运行时断言检查和形式验证

获取原文
获取原文并翻译 | 示例

摘要

Specifications that are used in detailed design and in the documentation of existing code are primarily written and read by programmers. However, most formal specification languages either make heavy use of symbolic mathematical operators, which discourages use by programmers, or limit assertions to expressions of the underlying programming language, which makes it difficult to write exact specifications. Moreover, using assertions that are expressions in the underlying programming language can cause problems both in runtime assertion checking and in formal verification, because such expressions can potentially contain side effects. The Java Modeling Language, JML, avoids these problems. It uses a side-effect free subset of Java's expressions to which are added a few mathematical operators (such as the quantifiers forall and exists). JML also hides mathematical abstractions, such as sets and sequences, within a library of Java classes. The goal is to allow JML to serve as a common notation for both formal verification and runtime assertion checking; this gives users the benefit of several tools without the cost of changing notations.
机译:详细设计和现有代码文档中使用的规范主要由程序员编写和阅读。但是,大多数正式的规范语言要么大量使用符号数学运算符(这会阻止程序员使用),要么将断言限制在底层编程语言的表达式中,这使得编写精确的规范变得困难。此外,使用断言作为基础编程语言中的表达式可能会在运行时断言检查和形式验证中引起问题,因为此类表达式可能包含副作用。 Java建模语言JML避免了这些问题。它使用Java表达式的无副作用子集,并在其中添加了一些数学运算符(例如forall和exist的量词)。 JML还在Java类库中隐藏了数学抽象,例如集合和序列。目的是允许JML用作形式验证和运行时断言检查的通用符号。这使用户可以受益于多种工具,而无需花费更改符号的费用。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号