pin 相關論文Statically-Directed Dynamic Automated Test Generation 三

再打開論文看abstract domain,AHA MOMENT還是沒有出現,不得已把它的參考論文看了一下,Strided Interval參考的是Intermediate— Representation From Low Level Code,Thomas Reps Gogul Balakrishnan Junghee Lim,論文開始就大讚executable instrumentation,還指出對源程序的檢測會出現What You See Is Not What You Execute,不過論文提供的方法是基於幾個我不知道的工具,自動忽略了,看了個大概意思,找到了一些有用信息:

T:有四個相鄰排列的4字節變量l1、l2、l3、l4,假設編譯器給l1和l3生成了明確的入口,只給l2和l4間接地入口,他們的工具只考慮到l1和l3的明確入口,因此它定義了兩個8字節抽象區域(abstract locations or a-locs)l12和l34,l12跨越了l1和l2,l34跨越了l3和l4,因爲對32位的機器來說,vlaue-sets只表示達到32字節的地址和整數值,VSA將不能表示l12和l34中的地址和數值。從l12和l34中讀寫數據時就要謹慎,而且VSA會在任何程序點中報告l12和l34包含T(任何可能的地址和數值)。從另一方面來說,如果把l1,l2,l3和l4當做4字節的a-locs使用,VSA就能提供更精確的(non-T)value-sets。說了這麼多,其實T就表示任意的地址或數值。

VSA:Value-Set Analysis,VSA的目的是在每一個程序點確定寄存器和內存中地址和數值的上近似。

Strided-Interval:這篇論文定義的Strided-Interval與Statically-Directed Dynamic Automated Test Generation 中的有所不用,它的定義與bit數有關,s[lb,ub],表示大小在-2的k次方和-2的k次方-1之間的s的爲整數倍的整數。另外,還定義了si(Strided-Interval)的運算:如+、-、|、~,要注意的是在進行這些運算的時候可能會出現向上或向下溢出的情況。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章