使用CREST测试 前对多文件程序的 Instrumentation 方法
来源:互联网 发布:网络中常用表情符号 编辑:程序博客网 时间:2024/06/07 09:28
CREST 是 一个 面向C语言的 自动测试用例生成工具,采用 concolic testing 的技术 对 C 程序进行 bug检查。CREST 在 应用到 目标程序之前,需要对其进行预先处理 intrumentation。由 专门改编的CIL (C Intermediate Language) 完成这项工作。 但是 CREST 的主页上 只提供了 对于 单文件 代码的 处理方法: crestc 文件.c。然而大多开源软件都是 比较复杂的 多文件大型程序。这里 有两种比较常用的方法:
1. 用CIL 中的 merge 命令 将多文件程序 整合成单文件代码,需要在configure 之后 更改 makefile 文件的内容:
< AUTOMAKE = automake---> AUTOMAKE = echo< CC = gcc---> CC = cilly< LDFLAGS = ---> LDFLAGS = --merge --keepmerged< CFLAGS = -g -O2---> CFLAGS = --merge -g -O2
改好之后,make 就会得到一个 ##_comb.c 单文件程序,就可以使用 crestc 了。但是对于架构比较复杂的软件,这个方法能力比较有限,这时候就采用第二种方法。
2. 在make生成可执行文件的过程中 进行 Instrumentation. 也需要对 makefile 进行更改:
CC = cilly --save-temps --doCrestIntrument
CFLAGS = -DCREST -I ../../../include
LDFLAGS = -L ../../../lib
LIBS = -lcrest -lstdc++
不同的环境有的项可能需要不同的值,但是需要满足一下几点:
1. Modify cilly path in CC to the path of cilly in your computer.
2. Modify-I ../../../include in CFLAGS to include crest.h in your computer.
3. Modify-L ../../../lib in LDFLAGS to includes libcrest.a in your computer.
- 使用CREST测试 前对多文件程序的 Instrumentation 方法
- 一个小程序:Instrumentation的使用
- Android自动化大讲堂32--Instrumentation对项目的自动化测试
- C# 对Windows Management Instrumentation的使用流程
- MFC程序对文件的处理方法
- Android 使用Instrumentation进行自动化测试
- Windows 以及 Linux 使用文件作为程序测试输入的方法
- 在程序中使用文件的方法
- 英特尔收购Nervana后的第一张王牌Lake Crest,号称比GPU速度快10倍,年底测试
- 专访 | 英特尔收购Nervana后的第一张王牌Lake Crest,号称比GPU速度快10倍,年底测试
- 专访 | 英特尔收购Nervana后的第一张王牌Lake Crest,号称比GPU速度快10倍,年底测试
- 使用CPPUNIT对MFC程序进行测试
- 使用CPPUNIT对MFC程序进行测试
- 使用CPPUNIT对MFC程序进行测试
- 对equals方法的测试
- 关于android instrumentation的理解、使用
- Android Instrumentation测试指令
- 创建 instrumentation 测试工程
- Memcache的部署和使用
- 33个训练大脑的小方法
- linguist国际化问题
- 短信监听,自动获短信取验证码
- OpenCV中与matlab中相对应的函数
- 使用CREST测试 前对多文件程序的 Instrumentation 方法
- FFmpeg 给视频增加黑边
- iOS7时代我们用什么来追踪和识别用户?
- 结构体和类的区别
- TopCoder SRM205 Div1 1000pt LongPipes
- 黑马程序员 java & && 区别
- 互联网思维精髓总结
- android判断网络连接
- 深入浅出CSS3:background-clip,background-origin和border-image教程