问题标签 [jml]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - JML中的Java排序方法
我需要一种用于 JML 的排序方法我尝试过插入排序,但我不知道我需要什么,并确保或维护我需要什么。请帮忙。我需要//@requires、//@ensures 和//@maintaining。
java - 在使用不同于 OpenJDK 1.8 的 JDK 的 Eclipse 项目中使用 OpenJML
OpenJML 可作为 Eclipse 插件(安装站点 http://jmlspecs.sourceforge.net/openjml-updatesite)使用,它似乎可以在 Eclipse Photon 中安装。
但是文档说它只能在 OpenJDK 1.8 上运行,并且不能是任何其他 JDK(比如 Oracle JDK)。它也不能是不同于 1.8(比如 1.9)的(OpenJDK)版本。
我在 Eclipse 中的项目都使用 (Oracle) JDK,此外我们很快计划从 JDK 1.8 升级到 1.9。
我可以设置 OpenJML 以便它使用它想要的 OpenJDK 1.8,而我的项目使用它需要的任何东西吗?
jml - 验证 JML 中的基本集合操作
如何验证 JML 工具(如 OpenJML)中的相交、联合和差异等基本集合操作,其中不支持“\intersect \set_minus \set_union”等关键字?
我要对其进行验证的 Java 接口如下所示:
java - JML - 具有扩展静态检查的 OpenJML - 数组示例
我刚开始使用 OpenJML,这里是我的代码和我的 JML 警告:
代码 :
JML 警告:
我不明白为什么无法建立特殊的后置条件。
谢谢您的帮助
java - 关键 Java JML 证明程序通过了这个算法,该算法读取触发 NullPointerException 的特定数组元素?它应该失败
我很想更好地理解 Java 密钥证明的限制。我想出了一个特定的数组元素将触发空指针异常的场景。当我通过证明程序运行它时,它通过了。知道这是为什么吗?它应该会失败,因为将在数组元素 86454 处抛出空指针。请注意“normal_behaviour”意味着它应该无异常终止。
java - 调用函数后 JML 删除警告
我得到了一项任务,我必须删除 JML 产生的每个警告。
如果我在构造函数 my 中调用一个方法requires
并且ensures
不再验证,尽管为被调用函数添加了相同的约束。
我被要求仅使用requires
,ensures
和。
这是代码:invariant
loop_invariant
和产生的输出:
一种解决方案是使函数arraycopy
非静态,但我不明白为什么。
java - 为什么 OpenJML 不能在 for 循环中证明一个断言?
我有以下代码:
我在其中插入了一些 OpenJML 注释。当我在 therminal 上运行 OpenJML 时,我收到以下错误:
我真的不明白为什么\forall
循环和//@ assert i >= 0;
断言不起作用。他们在我看来还不错。
java - 接口和实现类中的 JML 规范
我对 java 有点陌生,所以在编程时我注意到我必须为我的子例程提供 JML 注释。当我使用面向对象编程时,我注意到接口的使用,并且我必须使用 JML 规范声明方法,问题是,当我完成接口之后,我现在在类中实现方法实现接口,当我再次声明该类时,我是否也应该再次在该类上方指定 JML 规范,还是可以将其省略,因为它位于接口中?