手机版

Effects of Pointers on Data Dependences(10)

发布时间:2021-06-05   来源:未知    
字号:

Data dependences, which relate statements that compute data values to statements that use those values, are useful for automating a variety of program-comprehension-related activities, such as reverse engineering, impact analysis, and debugging. Unfortunat

1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.

algorithmComputeReachingDefsinputCFGcontrol- owgraphforprogram

GEN(n)setofde nitionsthataregeneratedatnoden

setofde nitionsthatarede nitelykilledatnodenKILLd(n)

KILLp(n)setofde nitionsthatarepossiblykilledatnoden

outputINd(n)setofde nitionsthatde nitelyreachnoden

setofde nitionsthatde nitelyreachtheendofnodenOUTd(n)

INp(n)setofde nitionsthatpossiblyreachnodenOUTp(n)setofde nitionsthatpossiblyreachtheendofnodenINk(n)setofkilledde nitionsthatreachnoden

setofkilledde nitionsthatreachtheendofnodenOUTk(n)

declarechange agtoindicateifthevalueofanOUTd(n),OUTp(n),orOUTk(n)changedfrom

apreviousiteration

oldoutdvalueofOUTd(n)fromthepreviousiterationoldoutpvalueofOUTp(n)fromthepreviousiteration

valueofOUTk(n)fromthepreviousiterationoldoutk

beginComputeReachingDefs

foreachnoden∈CFGdoOUT(n)=GEN(n)endforchange=truewhilechangedo

change=false

foreachnoden∈CFGdo

/*compute INd(n),saveOUTd(n),andrecomputeOUTd(n)*/INd(n)=OUTd(p),wherepisapredecessorofnintheCFGoldoutd=OUTd(n)

OUTd(n)=GEN(n)∪(INd(n) KILLd(n) KILLp(n))/*compute INp(n),saveOUTp(n),andrecomputeOUTp(n)*/INp(n)=OUTp(p),wherepisapredecessorofnintheCFGoldoutp=OUTp(n)

OUTp(n)=(INp(n) KILLd(n))∪(INd(n)∩KILLp(n))/*computeINk(n),saveOUTk(n),andrecomputeOUTk(n)*/ INk(n)=OUTk(p),wherepisapredecessorofnintheCFGoldoutk=OUTk(n)

OUTk(n)=INk(n)∪(INd(n)∪INp(n)∩KILLd(n))

ifoldout=OUT(n)oroldout=OUT(n)oroldout=OUT(n)then

change=trueendifendforendwhile

endComputeReachingDefs

Figure5:Thealgorithmforcomputingreachingde nitionstoidentifydef-useassociationsofdi erenttypes.

Effects of Pointers on Data Dependences(10).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
×
二维码
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)