基于形式化方法的低占用 Java 到本地代码编译优化方案
1. JML 注释方法示例
首先来看一个 JML 注释的方法示例:
final class Code_Table {
private/*@spec_public */short tab[];
//@invariant tab != null;
...
//@requires size <= tab.length;
//@ensures true;
//@exsures (Exception) false;
public void clear(int size) {
int code;
//@loop_modifies code, tab[*];
//@loop_invariant code <= size && code >= 0;
for (code = 0; code < size; code++) {
tab[code] = 0;
}
}
}
此方法 clear 的作用是将数组 tab 的前 size 个元素置为 0。其异常后置条件表明该方法不会抛出 java.lang.Exception 类型的异常(包含所有运行时异常)。循环不变式保证了数组访问的索引在 0 到 size - 1 之间,结
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



