首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >KLEE警告而没有生成任何输入

KLEE警告而没有生成任何输入
EN

Stack Overflow用户
提问于 2013-03-03 17:58:32
回答 1查看 468关注 0票数 3

我是克莱新来的。

我安装了klee,正确地遵循了指示。

如果我运行教程中的程序:

代码语言:javascript
复制
int get_sign(int x) {
if (x == 0)
   return 0;
if (x < 0)
   return -1;
else 
   return 1;
}

int main() {
  int a;
  klee_make_symbolic(&a, sizeof(a), "a");
  return get_sign(a);
} 

我得到了预期的结果:

代码语言:javascript
复制
KLEE: output directory = "klee-out-0"

KLEE: done: total instructions = 51
KLEE: done: completed paths = 3
KLEE: done: generated tests = 3 

但如果我想执行我的程序我会得到:

代码语言:javascript
复制
 urmas-PBL21 src # llvm-gcc -emit-llvm -c -g  tcas/versions/v1/tcas.c
 urmas-PBL21 src # klee  --libc=klee tcas.o
 KLEE: output directory = "klee-out-16"
 KLEE: WARNING: undefined reference to function: __errno_location
 KLEE: WARNING: undefined reference to function: fprintf
 KLEE: WARNING: undefined reference to variable: stdout

 KLEE: done: total instructions = 11
 KLEE: done: completed paths = 1
 KLEE: done: generated tests = 1

也没有产生任何输入。

目前的klee似乎不支持C函数,但我是在教程中编写的:http://klee.llvm.org/GetStarted.html#build中安装的

使用uclibc和POSIX环境模型,应该也可以处理函数。

有人能帮我吗?

如果我在执行klee的过程中不使用--libc=klee,我会得到

代码语言:javascript
复制
urmas-PBL21 src # klee   tcas.o
KLEE: output directory = "klee-out-19"
KLEE: WARNING: undefined reference to function: atoi
KLEE: WARNING: undefined reference to function: fprintf
KLEE: WARNING: undefined reference to variable: stdout

KLEE: done: total instructions = 11
KLEE: done: completed paths = 1
KLEE: done: generated tests = 1

同样的错误,其他警告。

EN

回答 1

Stack Overflow用户

发布于 2016-06-30 19:48:27

看来,KLEE版的uclibc是不够的。如果你用klee --libc=uclibc运行klee,你就不会收到警告。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15188806

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档