Pekaranalys är en kritisk kompilatoranalys som används för att reda ut de indirekta minnesreferenser som följer av användningen av pekare och pekarbaserade datastrukturer. En konventionell pekaranalys deduces för varje par av pekare, vid någon programpunkt, om en poäng-till relation mellan dem (i) definitivt existerar, (ii) definitivt inte existerar, eller (iii) kanske existerar. Många kompilatoroptimeringar bygger på noggrann pekaranalys, och för att säkerställa korrekthet kan inte optimera i det kanske fallet. Däremot, nyligen föreslagna spekulativa optimeringar kan aggressivt utnyttja det kanske fallet, särskilt om sannolikheten för att två tips alias kan kvantifieras. Detta dokument föreslår en Probabilistic Pointer Analysis (PPA) algoritm som statiskt förutsäga sannolikheten för varje poäng-till relation vid varje programpunkt. Vår analys bygger på enkel kontroll-flöde kantprofilering, är både en-nivå sammanhang och flöde känsliga-ännu kan skala till stora program inklusive SPEC 2000 heltal riktmärkessvit. Nyckeln till vår strategi är att beräkna poäng till sannolikheter genom att använda linjära överföringsfunktioner som effektivt kodas som sparsamma matriser. Vi visar att vår analys kan ge korrekta sannolikheter, även utan kantprofil information. Vi finner också att-även utan att överväga sannolikhet information-vår analys ger ett korrekt tillvägagångssätt för att utföra pekaranalys.
Silva och Steffan REF föreslår en en-nivå sammanhangskänslig och flödeskänslig probabilistisk pekaranalys algoritm som statiskt förutspår sannolikheten för varje poäng till relation vid varje programpunkt.
A probabilistic pointer analysis for speculative optimizations
{'venue': 'ASPLOS XII', 'journal': None, 'mag_field_of_study': ['Computer Science']}