Effects of Pointers on Data Dependences(5)

2021-09-24 20:06

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

percentage of slices

percent ofstatements

in slice

(0, 20](20, 40]

(40, 60]

1

2

e

e

ic

ic

sl

sl

slice 3

Figure7:Increaseinthesizesoftheslicesforunzipbyincorporatingdi erenttypesofdatadependencesintotheslices.

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

Althoughthedi erencesintheslicesizesbetweenthe rsttwosetsarenotcausedbecauseofthepresenceofpointers4,thedi erencesthemselvesaresigni cant.Thus,theincrementalslicingapproachappearspromisinginreducingthesizesofslices.Thedi erencesinthesizesoftheslicesbetweenthesecondandthirdsetsarenotsigni cant.However,thesedi erencesarecausedbecauseofthee ectsofpointers.Weexaminedmanuallythedi erencesinsomeoftheslicesandfoundthattheslicesinthethirdsetincludedstatementsthatwererelatedbysubtle,hard-to-detectpointer-relateddatadependences.Thetechnique,thus,appearstobeusefulinisolatingandfocusingattentiononsuchdependences.Infuturework,weintendconductmoreextensiveempiricalstudiestoevaluatethee ectivenessoftheslicingtechnique.

5RelatedWork

OstrandandWeyuker[19]extendthetraditionaldata- owtestingtechniques[9,21]toprogramsthatcontainpointersandaliasing.Tode netestingcriteriathatadequatelytestthedata- owrelationshipsinprogramswithpointers,theyconsiderthee ectsofpointersandaliasingonde nitionsanduses.Theyclassifyde nitions,uses,anddef-clearpathsdependingontheoccurrencesofpointerdereferencesinthoseentities.Basedontheseclassi cations,theyidentifyfourtypesofdef-useassociations:strong, rm,weak,andveryweak.Thestrongdef-useassociationcorrespondstoduatypes1and3inourclassi cation;the rmdef-useassociationcorrespondstoduatypes2and4;theweakdef-useassociationcorrespondstoduatypes5and6;and nally,theveryweakdef-useassociationcorrespondstotheremaining18typesofdef-useassociationsinourscheme.Ourclassi cationis nergrained.OstrandandWeyuker’sclassi cationgroupsseveraltypesofdependencestogetherand,therefore,maymissthedistinctionsamongsuchdependences.Pande,Landi,andRyder[20]describeanalgorithmforcomputinginterproceduralreachingde nitionsinthepresenceofpointers.Theyusethemay-holdaliasrelationtogeneratede nitionsthatoccurthroughpointerdereferences;theyusethemust-holdaliasrelationtotogeneratekillsthatoccurthroughpointerdereferences.Theyde neconditionalreachingde nitionasareachingde nitionthatholdsundersomeassumedconditionsforaliasing,andpresentanalgorithmforcomputingconditionalreachingde nitions.Intheirwork,Pande,Landi,andRyderdonotconsiderclassi cationsofde nitionsanduses.Theyalsodonotincorporatethemay-aliasinformationingeneratingthekillinformation;therefore,theyalsodonotconsiderclassi cationofpathsfromde nitionstouses.

MerloandAntoniol[18]presenttechniquestoidentifydominancerelationsamongdef-useassociationsinthepresenceofpointers.Theyalsodistinguishde niteandpossiblede nitionsanduses.Basedonthesedistinctions,theyde netwotypesofdef-useassociations:(1)thede nitedef-useassociation,whichcorrespondstoduatypes1,2,3,and4inourclassi cation,and(2)thepossibledef-useassociation,whichcorrespondstotheremaining20typesofdef-useassociationsinourclassi cation.MerloandAntoniolusethetypesofdef-useassociationstode nedominancerelationsamongdef-useassociations.Thegoaloftheirwork,hovewer,isnottoclassifydef-useassociationsandinvestigatethesigni canceandimplicationsoftheclassi cation.

Severalresearchershaveconsideredthee ectsofpointersonprogramslicingandhavepresentedresultstoperformslicingmoree ectivelyinthepresenceofpointers(e.g.[1,4,6,7,17]).Someresearchershavealso

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

evaluatedthee ectsoftheprecisionofthepointeranalysisonsubsequentanalyses,suchasthecomputationofdef-useassociations(e.g.[25])andprogramslicing(e.g.[5,16,22]).Noneofthatresearch,however,distinguishesdef-useassociationsbasedonthetypesofde nitions,uses,anddef-useassociations—theyviewuniformlyeachdef-useassociationthatarisesinthepresenceofpointers.

Tonellaandcolleagues[26]analyzethee ectsoftheprecisionofthereaching-de nitioncomputationondef-useassociations,buttheydonotconsiderhowsuchprecisiona ectstheclassi cationofdef-useassociations.

Otherresearchers(e.g.[8,11])haveinvestigatedvariouswaystoreducethesizeofslices.However,theyhavenotconsideredclassifyingdatadependencesandcomputingslicesbasedondi erenttypesofdatadependencesasameansofreducingthesizeofslices.

6SummaryandFutureWork

Inthispaper,wepresentedatechniqueforcomputingandclassifyingdatadependencesinprogramsthatusepointers.Theclassi cationthatweproposeis nergrainedwithrespecttopreviouslypresentedclassi- cations,andallowsforapartitioningofdatadependencesinto24sets,basedontheir“strength.”Wealsopresentedthe rstsetofexperimentalresultsthatillustratesthedistributionofdatadependencesforasetofCsubjects.Althoughwecannotdrawanyconclusiveinference,thedatagatheredsofarshowtrendsthatareworthfurtherinvestigation.

Effects of Pointers on Data Dependences(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:1游记-2011厦门的美食美景-吃货的最爱

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: