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