1 Standard Global Files

有些文件在KLEE执行过程中总是会生成,这些称为是Global files
1-1 info文件:该文本文件存储了KLEE运行产生的各类相关信息,其中记录了命令行的命令、总的运行时间等等信息,具体例如下(都是很直观的描述,比较容易懂):
$ cat info
klee --write-pcs demo.o
PID: 12460
Started: 2009-05-20 22:31:41
BEGIN searcher description
DFSSearcher
END searcher description
Finished: 2009-05-20 22:31:41
Elapsed: 00:00:00
KLEE: done: explored paths = 3
KLEE: done: avg. constructs per query = 6
KLEE: done: total queries = 3
KLEE: done: valid queries = 0
KLEE: done: invalid queriers = 3
KLEE: done: query cex = 3
KLEE: done: total instructions = 67
KLEE: done: completed paths = 3
KLEE: done: generated tests = 3

1-2 warnings.txt: 记录相关警告信息.
1-3 messages.txt: 包含了一些被KLEE忽略的消息.
1-4 assembly.ll: 这里是人可读的编译代码,LLVM可以生成
1-5 run.stats: 这里存储了KLEE输出中省略掉的一些统计信息,可以用klee-stats工具来读取该文件.
1-6 run.istats: 该二进制文件包含全局统计信息,具体详细到了程序的各行代码.

2 Other Global Files (具体有些我也没有看过,后面看了有体会了再补充这里,也不懂各种查询干什么用)
2-1 all-queries.pc:  记录了在KLEE执行期间做的一些查询,格式为KQuery。为了生成该文件,需要在运行时增加参数设定:--use-query-log=all:pc。
2-2 all-queries.smt2:  以SMT-LIBv2格式记录了一些查询,包含的信息与all-queries.pc同。为了生成该文件,需要在运行时增加参数设定:--use-query-log=all:smt2 to KLEE。
2-3 solver-queries.pc:  记录提交给KLEE’s underlying solver的查询,格式为KQuery 。为了生成该文件,需要在运行时增加参数设定:--use-query-log=solver:pc to KLEE.
2-4 solver-queries.smt2:  这里记录的是提交给KLEE’s underlying solver的查询,格式为SMT-LIBv2。为了生成该文件,需要在运行时增加参数设定:--use-query-log=solver:smt2 to KLEE.

3 Per-path files
3-1 test<N>.ktest:  包含在KLEE执行路径中生成的测试例,可以使用ktest-tool读取相关内容,如果不要输出相关文件,可以再运行参数上设置 --no-output option.
3-2 test<N>.<error-type>.err:  产生KLEE路径的错误信息,格式为文本.
3-3 test<N>.pc:  包含于特定路径相关的约束信息,格式为KQuery,要设定是否输出该部分信息,可以通过设置参数 --write-cvcs.
3-4 test<N>.cvc:  包含与特定path相关的约束信息,格式为CVC,要设定是否输出该部分信息,可以通过设置参数--write-pcs flag.
3-5 test<N>.smt2:  包含与特定path相关的约束信息,格式为SMT-LIBv2,要设定是否输出该部分信息,可以通过设置参数--write-smt2s flag.

KLEE--KLEE主要的生成文件解读相关推荐

  1. KLEE 使用(三)------ 使用 KLEE 为二分查找生成测试

    在上一篇博文中,我们展示了如何用 KLEE 来为一个简单程序生成测试用例.在这篇博文中,我们将展示如何使用 KLEE 中的数组和断言. 0x1 测试无序数组 如下是二分查找的算法实现: int bin ...

  2. package.json文件解读

    package.json文件解读 {"name": "vue-04-cli-demo1", // 项目名称 "version": " ...

  3. STM32之CubeMX学习笔记(4)新建工程文件解读

    文章目录 芯片与板子介绍 主频 RAM 与 Flash io数与封装 内置外设 板子外设 新建工程文件的步骤 选择芯片 选取调试方式,选取高速晶振,调整时钟 修改文件设置,和生成设置 生成工程文件 工 ...

  4. node.js 生成文件_如何使用Node.js在几秒钟内生成模拟数据

    node.js 生成文件 介绍 (Introduction) In most of the applications, you need to have some static JSON data w ...

  5. Android 源码编译 及 mk文件解读

    Android 源码编译 参考:探索Android FrameWork底层开发视频_哔哩哔哩_bilibili 基础 1.源代码编译 分为2个部分: (1)boot/Kernel (2)Android ...

  6. PNG文件解读(2):PNG格式文件结构与数据结构解读—解码PNG数据

    PNG文件识别 之前写过<JPEG/Exif/TIFF格式解读(1):JEPG图片压缩与存储原理分析>,JPEG文件是以,FFD8开头,FFD9结尾,中间存储着以0xFFE0~0xFFEF ...

  7. 回调函数自定义传参_koroFileHeader:一个用于生成文件头部注释和函数注释的插件...

    小金子 读完需要 2分钟 速读仅需 1 分钟 大家好,我是你们的小金子. 今天给大家分享的这个工具呢?对于使用 VS Code 的同学来讲,是一个好东西. koroFileHeader,一个在 vsc ...

  8. JAVA编译成文件的说法_下列关于使用Javac命令编译后生成文件的说法中,正确的是?...

    下列关于使用Javac命令编译后生成文件的说法中,正确的是? 答:编译后生成的文件可以在Java虚拟机中运行\n\n编译后生成的文件为二进制文件\n\n编译后生成文件的后缀名为.class 线性表的链 ...

  9. Delphi开发的数据库程序在C:\PDOXUSRS.NET生成文件,拒绝访问及读写权限

    Delphi开发的数据库程序在C:\PDOXUSRS.NET生成文件,拒绝访问及读写权限, "无法打开 PARADOX.NET.这个文件可以随便删除的,下次会自动产生. Permission ...

最新文章

  1. mysql8.0查看用户_MySQL 8.0用户及安全管理
  2. python js 效率_巧用 db.system.js 提升20% 开发效率
  3. 51nod 1572 宝岛地图 (预处理四个方向的最大步数优化时间,时间复杂度O(n*m+k))
  4. 用redis解决超卖
  5. P1447 [NOI2010]能量采集(mobius反演)
  6. DMN 1.1 XML:使用Drools 7.0从建模到自动化
  7. Map的value值降序排序与升序排序(java)
  8. Java网络编程之SocketChannel和ServerSocketChannel
  9. Jquery 操作checkbox
  10. c语言中用于程序化结构设计的三种结构是,c语言中用于结构化程序设计的3种基本结构是...
  11. Euler 的面(Face,F)、顶(Vertex,V)、棱(Edge,E)公式
  12. 关于配置了数据库方言为MySQLInnoDBDialect后Hibernate不能自动建表的问题
  13. 80端口被system占用解决过程
  14. 程序设计语言的基本概念
  15. python找出3或者5的倍数_在 python 中,确定3或者5的倍数
  16. VMware 安装windows XP SP3 镜像下载地址 回忆xp经典
  17. 数据库系统概论(基础篇)中国人民大学 第一次考试
  18. XP sp3 安装Step7 V5.5和WinCC V7.0记录(仅用于个人)
  19. A股实践 :图神经网络与新闻共现矩阵策略(附代码)
  20. 第03章 Python的数据结构、函数和文件--Python for Data Analysis 2nd

热门文章

  1. 实验4--ospf(MGRE的星型结构和全连结构)
  2. 小故事大人生 -----七个顶级心理寓言
  3. 基于JSP开发在线答疑系统的设计与实现+论文+PPT+开题报告+任务书 大作业源码 毕业设计
  4. 互联网会成为人类的敌人么?
  5. 亚马逊店铺注册注意事项,亚马逊无货源模式的到来会成为热门吗?
  6. GNN学习资料分类整理——(持续更新)
  7. 做好人员管理,项目管理就成功了一半
  8. UI设计师如何正确使用调色板
  9. ubuntu安装360随身wifi驱动
  10. 快讯:农作物精准育种技术的重大进展