- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我是 frama-c 的新手。我正在尝试使用 rte 插件生成注释。通过查看链接 [1],我尝试使用以下命令生成注释:
frama-c -rte -rte-unsigned-ov test.c
我的 test.c 包含的地方
int main(void){
signed char cx, cy, cz;
cz = cx + cy;
return 0;
}
我已经从 [2] 2.1.2 节复制了代码。我希望 rte 会生成以下注释并修改我的 test.c 文件:
/*@ assert rte: signed_overflow: -2147483648 <= (int)cx+(int)cy; */
/*@ assert rte: signed_overflow: (int)cx+(int)cy <= 2147483647; */
但是,它没有生成任何注释(没有修改 test.c),而且 frama-c 无法检测选项“-rte-unsigned-ov”。它告诉我
[kernel] User Error: option `-rte-unsigned-ov' is unknown.
我还尝试了命令“frama-c -rte test.c”,但没有生成注释。我已经尝试过 19.0 和 18.0 版本的 frama-c。
如果有人能帮我找出我缺少的东西,那就太好了。谢谢。
最佳答案
这里有两个问题,一个是您对 Frama-C 会做什么的理解,另一个是 https://frama-c.com/rte.html 上的文档。 .
让我们从第二点开始:文档已过时,您可能应该在 https://github.com/Frama-C/Frama-C-snapshot/issues 上提出一个问题。 . RTE 手册在第 2.3 节中为您提供了选项的新名称,即 -warn-unsigned-overflow
.
对于第二点,Frama-C 永远不会修改您的输入文件。相反,您可以要求它使用选项 -print
漂亮地打印回它已解析的代码源。 .您还可以使用选项 -ocode <file>
将此结果重定向到一个文件中.您必须在 RTE 插件运行后执行此操作,因此需要 -then
运营商。
因此,您的完整命令行应该是
frama-c test.c -rte -warn-unsigned-overflow -then -print -ocode <yourfile>
关于c - RTE 插件与 Frama-c : "-rte-unsigned-ov" is not recognized,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57020749/
当我使用 frama-c 分析我的 c 程序时。 frame-c 的影响插件中似乎存在一个错误。这是我的程序。 #include int global; int main() { global
抱歉,如果这在某处有详细说明,我尝试在 Frama-C 的不同文档中进行搜索,但没有走运。 我正在尝试在我的代码中进行死代码消除,但我不明白该工具的结果。是否有任何文件/文档可以解释此插件的工作原理?
我是 Frama-c 的新手,我想了解这个简单示例有什么问题: /*@ requires \valid(array+(0..length-1)) @ ensures \forall integer k
我有一个 16 位 MPU,它与 x86_16 的大小不同 size_t , ptrdiff_t等。谁能给我详细说明和明确说明如何在 Frama-C 中为我的 MPU 自定义机器依赖项? 最佳答案 目
我正在尝试使用 frama-c 验证以下代码段 /*@ ensures \result != \null; @ assigns \nothing; @*/ extern int *new_va
在 EVA tutorial ,我找到了这个截图:并解释:“导致此问题的确切值显示在列 c5 中:-1。C 标准将负数的左移视为未定义行为。因为 -1 是此调用堆栈中唯一可能的值,因此减少由警报引起的
我想分析一个大型项目的文件以使用 Frama-C 创建程序依赖图,但不断出现奇怪的错误,例如: /usr/include/bits/fcntl-linux.h:305:[kernel] user er
有人可以告诉我这是 Frama-C 中整数和无符号整数的非确定性值的正确模型吗? /* Suppose Frama-C is installed in /usr/local -default pref
使用某些基准运行 Frama-C 值分析时,例如susan 在 http://www.eecs.umich.edu/mibench/automotive.tar.gz 中,我们注意到很多 block
我想证明 Frama-C 中欧几里德除法的循环实现: /*@ requires a >= 0 && 0 =0; loop assigns q,r; loop variant r;
我正在尝试学习 ACSL,但在尝试编写完整的规范时遇到了困难。我的代码 #include #include #define NUM_ELEMS (8) /*@ requires expected
我尝试在 Windows 7 上运行 Frama-C,但没有成功。 我已阅读您在这里写的所有提示和评论,但仍然不起作用。 有人可以用一种清晰简单的方式解释安装过程吗,我将不胜感激? 最佳答案 Wind
我正在尝试在函数中插入断言。这是我所做的: void foo(int a) { //@ assert a == 1; } void main() { foo(1); foo(2);
我刚刚开始开发一个 frama-c 插件,该插件正在执行某种别名分析。我正在使用 Dataflow.Backwards 分析,现在我必须遍历不同的赋值语句并收集一些有关左值的内容。 frama-c 是
这感觉像是一个愚蠢的问题,但我被难住了。我正在尝试使用 Frama-C Sodium 和 Why3 0.86.1(均通过 OPAM 安装)来证明一些简单的属性。考虑这个程序 (toy.c): int
我正在尝试验证来自 Frama-C + WP 的简单程序。 #include /*@ requires valid_read_string(s); assigns \
尝试使用推荐的 opam 方法安装 Frama-C 会出现以下错误: ### stdout ### # Cleaning Installation directory # Installing
我找到的最接近的答案可能与 Eva 插件的 -absolute-valid-range 有关,但真的是这样吗?我是否必须想出读/写 ACSL 谓词来执行虚拟读/写? 示例代码: #include #
我想对多个 文件执行代码转换,并将这些转换产生的更改写回原文件,最好是原始文件。例如,我想向源自文件 fileA.c 的函数 funcA 和函数 funcB 添加一个 if 语句在文件 fileB.c
我应该如何证明如下代码的正确性,为了避免效率低下,它依赖于模运算? #include uint32_t my_add(uint32_t a, uint32_t b) { uint32_t r
我是一名优秀的程序员,十分优秀!