I detta dokument utvärderas tre aliasanalyser baserade på programmeringsspråktyper. Den första analysen använder typkompatibilitet för att bestämma alias. Den andra utvidgar den första genom att använda ytterligare information på hög nivå, t.ex. fältnamn. Den tredje förlänger den andra med en flödesokänslig analys. Även om andra forskare föreslår att använda typer för att disambiguera minnesreferenser, ingen utvärderar dess effektivitet. Vi utför både statiska och dynamiska utvärderingar av typbaserade aliasanalyser för Modula-3, ett statiskt typsäkert språk. Den statiska analysen visar att enbart typkompatibilitet ger en mycket oprecis aliasanalys, men de andra två analyserna förbättrar avsevärt aliasprecisionen. Vi använder redundant lasteliminering (RLE) för att visa effektiviteten hos de tre aliasalgoritmerna när det gäller möjligheterna till optimering, inverkan på simulerade utförandetider, och för att beräkna en övre gräns för vad en perfekt aliasanalys skulle ge. Vi visar blygsamma dynamiska förbättringar för (RLE), och mer förvånande, att i genomsnitt vår alias analys ligger inom 2,5% av en perfekt alias analys med avseende på RLE på 8 Modula-3 program. Dessa resultat visar att för att grundligt undersöka effektiviteten av aliasanalyser behöver forskarna statiska, dynamiska och överbundna analyser. Dessutom visar vi att för typsäkra språk som Modula-3 och Java kan en snabb och enkel aliasanalys vara tillräcklig för många tillämpningar.
Den mest exakta av dessa tre är en flödesokänslig analys som använder typkompatibilitet och ytterligare information på hög nivå såsom fältnamn REF.
Type-based alias analysis
{'venue': "PLDI '98", 'journal': None, 'mag_field_of_study': ['Computer Science']}