global snapshot 一个更准,更快的difftest系统
思路:
记录所有gpr,pc寄存器的改变和store指令的地址和值,打包成一个"快照",
对于每个程序只需要运行一次REF,生成快照,之后不再需要运行REF,而是直接读取快照,
运行的时候一步一步地和快照进行对比,发现不同时,自动识别并输出可读性高的bug报告(期望和实际对比)
欢迎Star&PR
未来计划:
- 不同详细级别的记录: 考虑到快照的大小,对于大型程序的快速验证可以先只记录GPR,遇到问题后,开启更详细的记录级别更精确地定位到问题,另外在快照文件
.gsnapshot
中记录级别,checker自动识别兼容 - 支持
KVM
,QEMU
,Spike
作为REF生成快照,最好是非侵入式