Hasty Briefsbeta

双语

Go Assembly Mutation Testing

10 months ago
  • #Cryptography
  • #Testing
  • #Go
  • Go密码学标准库强调通过广泛测试来维护安全性
  • 由于汇编代码的恒定时间特性,传统代码覆盖率方法难以有效测试
  • Go 1.26版本将引入变异测试框架,用于识别未经测试的汇编代码路径
  • 变异测试通过修改程序来检查测试是否失败,确保代码路径得到有效验证
  • 该框架通过改变汇编指令模拟不同标志位条件,从而暴露未测试场景
  • 在arm64 P-256汇编上的初步测试发现了未测试指令,凸显了改进测试覆盖的必要性
  • 变异测试工具已集成至Go汇编器,支持在测试期间进行定向变异
  • 该项目由Geomys支持,并获Smallstep、Ava Labs和Tailscale等公司资助