Hasty Briefsbeta

双语

Fuzzer Blind Spots (Meet Jepsen)

a year ago
  • #database
  • #fuzz-testing
  • #Jepsen
  • 系统的组件在可测试性上存在差异,确定性组件比具有IO和副作用的部分更容易测试。
  • Jepsen测试在TigerBeetle的查询引擎中发现了一个正确性错误,该组件此前被认为经过充分模糊测试。
  • 该错误涉及多字段交集查询时结果丢失,现有模糊测试未覆盖此场景。
  • TigerBeetle的模糊测试遗漏此错误,因其工作负载无意间避开了对必要状态的探测。
  • 解决方案包括重写模糊测试器以生成随机输入,并使用详细的数据库模型进行验证。
  • 通过调整扫描逻辑修复该错误,使其能处理迭代过程中目标范围缩小的情况。
  • 若模糊测试的工作负载无意间限制了探索的状态空间,就可能存在测试盲区。
  • 用更广泛、简单的模糊测试方法辅助针对性测试,有助于发现潜在缺陷。