当前位置: 首页 > news >正文

模糊测试中常见的10种变异mutation策略

1. 引入

基于变异策略的模糊测试,有两个重点:
(1)seed:种子,初始的合法输入序列。
(2)mutation:对已经存在的输入序列,进行微调。

所以,mutation的策略就比较重要,常用的mutation策略如下所示。

2. mutation策略(变异策略)

  1. Flip one random bit(翻转一个随机位)

    • 把某一bit从0变为1,或者从1变为0
  2. Alternate one or multiple consecutive bytes(交换一个或多个连续字节)

    • 比如将每个字节的值与其相邻字节的值进行交换或按某种规则改变
  3. Erase one or multiple bytes from random offsets(从随机偏移量处删除一个或多个字节)

    • 从某个随机的位置开始,随机删除一部分字节数据
  4. Insert one or multiple bytes to random offsets(在随机偏移量处插入一个或多个字节)

    • 从某个随机的位置开始,随机插入一部分字节数据
  5. Repeat existing bytes multiple times(重复现有字节多次)

    • 选择数据中的一段字节序列,并将这段序列重复多次插入到原位置或其他位置,可能导致数据膨胀或程序逻辑错误。
  6. Add a word from a predefined dictionary(添加一个来自预定义字典的单词)

    • 从字典中随机选择一个单词,并将其插入到数据的某个位置
  7. Shuffle consecutive bytes (reorder multiple bytes randomly)(随机重排连续字节)

    • 将一段连续字节的顺序随机打乱,而不改变这些字节的值。
  8. Copy a substring and paste it randomly offsets(复制一个子字符串并随机粘贴到偏移量处)

    • 从数据中复制一段子字符串,并将其粘贴到数据的另一个随机位置。
  9. Crossover(交叉)

    • 也称为杂交或基因重组,这个操作通常涉及两个或多个数据样本,通过交换它们的一部分来生成新的数据样本。这是遗传算法的手法。
  10. Apply mutation one or more times on a single seed input(对单个种子输入应用一次或多次变异)

  • 选择一个初始的“种子”输入,然后对其应用上述一个或多个变异策略一次或多次,以生成多个不同的测试样本。

3. 参考

http://sigsoft.or.kr/wp-content/uploads/2021/01/20210324_005245.pdf

http://www.lryc.cn/news/497433.html

相关文章:

  • opencv-android编译遇到的相关问题处理
  • 把 py脚本生成windows 可执行的文件
  • 云计算的发展历史与未来展望
  • 基于飞腾S2500处理器的全国产加固服务器
  • gitlab-cicd部署安装与具体操作
  • 2022高等代数上【南昌大学】
  • 文本生成类(机器翻译)系统评估
  • 11.7【miniob】【debug】
  • OSHI 介绍与使用
  • Hadoop生态圈框架部署(八)- Hadoop高可用(HA)集群部署
  • 【RocketMQ】Name Server 无状态特点及如何让 Broker Consumer Producer 感知新节点
  • 蓝牙定位的MATLAB程序,四个锚点、三维空间
  • 机器学习--绪论
  • Unity 设计模式-命令模式(Command Pattern)详解
  • 线程信号量 Linux环境 C语言实现
  • karmada-descheduler
  • 【热门主题】000075 探索嵌入式硬件设计的奥秘
  • Android okhttp请求
  • 嵌入式蓝桥杯学习4 lcd移植
  • 电子应用设计方案-38:智能语音系统方案设计
  • 渗透测试:网络安全的深度探索
  • 基于SpringBoot的“小区物业管理系统”的设计与实现(源码+数据库+文档+PPT)
  • 调试android 指纹遇到的坑
  • 剑指offer(专项突破)---字符串
  • 【springboot】 多数据源实现
  • 多模态COGMEN详解
  • django 实战(python 3.x/django 3/sqlite)
  • 图数据库 | 12、图数据库架构设计——高性能计算架构
  • Unity 利用Button 组件辅助Scroll View 滚动
  • Ubuntu 安装Ansible ansible.cfg配置文件生成