2021.07.06

想尝试用统计4k程序非16k对齐访存的频率。

候选对象:

2021.07.07

用bing dict搜索binary instrumentation的合适翻译,利用基于网页的搜索搜到了20131103: Dyninst学习笔记,它除了Pin, Valgrind以外还推荐了,

  • DynamoRio
  • Dyninst

还看到了博客推荐提到了Fuzz Test软件AFL,感觉就是邹旭想做的事情。Fuzz Test中文翻译为模糊测试。借此机会学习了graphviz,复兴了之前想做二进制翻译时间轴的想法,这一次直接做成自己的知识图谱吧。

Pin

代码参考source/tools/ManualExamples/pinatrace访存插桩(mem access instrumentation),inscount2快速统计执行过的指令数。

目前可以统计执行指令数,访存信息{pc,读写类型,访存大小,访存地址},

还需要统计(对齐的)4*4K页权限不同的,instrument中打印/proc/xxx/maps吧。

:需要做实验验证or查证/proc/xxx/maps确实是客户程序的maps。

Pin - A Binary Instrumentation Tool - FAQ提到了引用的事

2021.07.08

SPEC测试

2021.07.16

164.gzip在第一个任务还没有结束, 25.47%, safe 73202743 unsafe 25010940

176.gcc只输出main, 9.255% safe 75076632 unsafe 7657026

168.wupwuse显示出NITER,访存问题惊人81.7%, safe 9315566 unsafe 41676842


调整为sample后,可以完整测试,访存问题率没有那么高。

2021.07.19