阶段 Stage

阶段(Stage) 是一个对 从语料库中得到的单一输入 进行操作的实体。

例如,一个突变阶段,给定一个语料库的输入,应用一个突变器并执行一次或多次生成的输入。例如,AFL使用输入的性能分数来选择应该调用多少次破坏性的突变。这也可以取决于其他参数,例如,如果我们想只是应用一个连续的比特翻转,那么输入的长度也可以是一个固定的值。

一个阶段也可以是一个分析阶段,例如,Redqueen的着色阶段旨在为测试案例引入更多的熵,或者AFL的修剪阶段旨在减少测试案例的大小。

在LibAFL代码库中,有几个实现 Stage 特性的阶段。