文件名称:BigMap:在AFL ++上进行BigMap集成
文件大小:1.35MB
文件格式:ZIP
更新时间:2024-04-25 06:30:34
C
大地图 这是afl ++上的BigMap集成。 AFL及其派生模糊器通常将覆盖率信息(例如,桶状边缘命中计数)存储在小的位图中。 该覆盖位图的访问非常频繁,应占用更快的缓存级别,以最大程度地提高测试用例的生成吞吐量。 因此,位图的大小历来保持较小(AFL的默认大小为64kB)。 由于位图的大小限制和位置分配的随机性,它很可能发生哈希冲突,其中两个或多个边指向位图上的相同位置。 哈希冲突在覆盖范围反馈中引入了歧义,并可能严重限制模糊测试器发现错误的能力。 减少哈希冲突的直接方法是扩展哈希空间(即,增加coverage位图的大小)。 但是,天真地放大位图会严重降低测试用例的生成吞吐量,从而可能导致在相同的时间预算内降低代码覆盖率。 BigMap引入了一种两级哈希方案,该方案可以使用任意大覆盖范围的位图,而将吞吐量损失降至最低。 有关BigMap工作原理的详细信息,请参见以下论文: Ali