bash实现一个简单的错误(mutation)注入工具
来源:互联网 发布:矩阵a与b相似,其中a= 编辑:程序博客网 时间:2024/06/04 23:46
最近在做一个测试工具的测试(拗口吧),这个工具生成了大量的测试用例,用来检测编译器是不是有错误。生成方法有学术上的价值(创新性),但是实现的原型工具很难检测出来实际的错误。像是GCC这样的编译器测试用例已经很多,所以我们需要另外一种方式来检测测试用例的测试能力。这个技术称为mutation test,就是把正确的GCC代码中故意写错一个地方,然后看看测试用例能否测试出来编译器注入了错误。
常见的错误都是很简单的单行错误,分为这三类:&& 写成了 || ,+ 写成了 -,以及 off by one 错误。自己手工注入很无聊并且耗费时间。
下面这个脚本实现了 && 和 || 之间的随机替换,以达到错误注入的效果。使用了gcc的gcda文件(用HTML格式将就了下,.gcda格式文件删掉了)来分析其覆盖率,提高mutation被检测的概率(没有执行到的代码肯定不会检测出来,也就不用测试了。)
效果:
对gcc源代码目录下gcc子目录所有的脚本执行此脚本,生成mutation 2786个,编译通过2000+个,效果还是不错的。
- bash实现一个简单的错误(mutation)注入工具
- 一个简单blog备份工具的实现
- 实现一个简单的压测工具
- 使用JAVA实现的一个简单IOC注入实例
- 一个简单的oracle注入
- 一个简单的MongoDB注入
- 一个简单的SQL注入
- ssh注入时的一个常见错误
- BASH 文本模版的简单实现 micro_template_compile
- 一个简单的截屏工具的实现
- 一个简单非MFC dll的实现及错误调试
- 一个简单的C单链表实现和错误总结
- 一个简单的SQL注入攻击
- 一个关于SQL注入的简单例子
- SQL注入的一个简单实例
- bash代码注入的安全漏洞
- bash代码注入的安全漏洞
- bash代码注入的安全漏洞
- struts2
- 混点积分啊。。大家来支持下嘛
- qmake用户手册
- 基于Visual C++2010与Windows 7Sdk开发与win7安全中心通信(类似卡巴斯基提示已经关闭,需要更新等等)
- SEO优化前的关键词研究与选择
- bash实现一个简单的错误(mutation)注入工具
- C++ Primer 学习笔记(8): 构造函数、析构函数调用顺序
- LED驱动相关的东西
- 设计模式读书笔记之建造者模式(Builder)
- poj 1642
- vc++ 容器之向量 感悟
- memcpy和memmove的区别与实现
- 初见面
- C#四种排序算法