Abstrakt. I detta dokument presenteras fyra tillägg till algoritmen Interprocedural Finite Distributiva Subset (IFDS) som gör den tillämplig på en bredare klass av analysproblem. IFDS är en dynamisk programmeringsalgoritm som implementerar kontextkänslig flödeskänslig interprocedural dataflödesanalys. Den första förlängningen konstruerar noderna av supergrafen på begäran som analysen kräver dem, eliminerar behovet av att bygga en fullständig supergraf innan analysen. Den andra förlängningen ger procedur-returflöde funktion med ytterligare information om programtillståndet innan förfarandet kallades. Den tredje utbyggnaden förbättrar precisionen med vilken instruktioner modelleras vid analys av ett program i SSA-form. Den fjärde förlängningen påskyndar algoritmen på domäner där vissa dataflöde fakta subsumerar varandra. Dessa tillägg är ofta nödvändiga vid tillämpning av IFDS-algoritmen på icke-separat (dvs. icke-bit-vektor) problem. Vi har funnit dem nödvändiga för alias set analys och multi-object typestate analys. I detta dokument illustrerar och utvärderar vi förlängningarna på ett enklare problem, en variation av variabel typ analys.
Den utökade IFDS algoritm formaliserade en uppsättning förlängningar till IFDS algoritm som ökade dess nytta för en bredare uppsättning analysproblem REF.
Practical Extensions to the IFDS Algorithm
{'venue': 'CC', 'journal': None, 'mag_field_of_study': ['Computer Science']}