Inkluderande-baserade poäng-till-analys ger en bra avvägning mellan precision av resultat och hastighet av analys, och det har införlivats i flera produktionskompilatorer inklusive gcc. Det finns en omfattande litteratur om hur man kan påskynda denna algoritm med hjälp av heuristik som att upptäcka och kollapsa cykler av pekarekvivalenta variabler. I detta dokument beskrivs ett kompletterande tillvägagångssätt som bygger på utnyttjande av parallellism. Vårt genomförande utnyttjar två viktiga insikter. För det första visar vi att inkluderande-baserade poäng-till-analys kan formuleras helt i form av grafer och graf omskrivningsregler. Detta avslöjar amorfa dataparallelism i denna algoritm och gör det lättare att utveckla en parallell implementering. För det andra visar vi att denna grafteoretiska formulering avslöjar vissa nyckelegenskaper hos algoritmen som kan utnyttjas för att uppnå ett effektivt parallellt genomförande. Vår parallella implementering ger en skalning på upp till 3x på en 8-kärnig maskin för en svit med tio stora C-program. För alla utom de minsta riktmärken, den parallella analysen överträffar en state-of-the-art, högt optimerad, seriellt genomförande av samma algoritm. Såvitt vi vet är detta det första parallella genomförandet av en analyspunkt.
I Ref föreslås det första parallella genomförandet av flödesokänslig integrationsbaserad analys med hjälp av begränsande grafer.
Parallel inclusion-based points-to analysis
{'venue': 'OOPSLA', 'journal': None, 'mag_field_of_study': ['Computer Science']}