afl-cov计算代码覆盖率

本文介绍了如何使用afl-cov工具配合AFL-fuzz进行代码覆盖率测试,包括安装步骤、C代码示例以及如何生成、分析和可视化覆盖率报告。重点提到了GCOV、LCOV工具的作用以及如何在实时和非实时情况下监控覆盖率。

GitHub - mrash/afl-cov: Produce code coverage results with gcov from afl-fuzz test cases

这里需要用到的工具之一是GCOV,它随gcc一起发布,所以不需要再单独安装,和afl-gcc插桩编译的原理一样,gcc编译时生成插桩的程序,用于在执行时生成代码覆盖率信息。

另外一个工具是LCOV,它是GCOV的图形前端,可以收集多个源文件的gcov数据,并创建包含使用覆盖率信息注释的源代码HTML页面。

最后一个工具是afl-cov,可以快速帮助我们调用前面两个工具处理来自afl-fuzz测试用例的代码覆盖率结果。

afl-cov可以解析已经执行完毕的afl-fuzz输出结果,也可以与afl-fuzz同时运行,实时监控每次测试的覆盖率。

安装afl-cov:

1、apt-get install afl-cov # 但这个版本似乎不支持分支覆盖率统计

2、从Github下载最新版本,下载完无需安装直接运行目录中的Python脚本即可使用
$ apt-get install lcov
$ git clone https://github.com/mrash/afl-cov.git
$ ./afl-cov/afl-cov -V

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值