The present invention analyzes an application A and computes a set
reachable methods in A by determining the methods in A that may be called
from another reachable method in A, or from within a class library L used
by A without analyzing the classes in L.
The invention may be used as an optimization to reduce application size by
eliminating unreachable methods. In the alternative, the invention may be
used as a basis for optimizations that reduce execution time (e.g., by
means of call devirtualization), and as a basis for tools for program
understanding and debugging.
Die anwesende Erfindung analysiert eine Anwendung A und berechnet erreichbare Methoden eines Satzes in A, indem sie innen die Methoden in A, das von einer anderen erreichbaren Methode in A benannt werden kann, oder von einer Kategorie Bibliothek feststellt L, die durch A benutzt wird, ohne die Kategorien zu analysieren in L. Die Erfindung kann als Optimierung verwendet werden, um Anwendung Größe zu verringern, indem man unerreichbare Methoden beseitigt. In der Alternative kann die Erfindung als Grundlage für Optimierungen, die Ausführungszeit (z.B., mittels des Anruf devirtualization) verringern, und als Grundlage verwendet werden für Werkzeuge für Programmverständnis und -ausprüfen.