Methods and structures are described that enhance flow analysis for
programs. Whereas previous methods are complicated by the presence of
function pointers, the present methods present a framework that abstracts
function pointers as if they were any other program expressions so as to
allow a desired level of analytical decision within a desired duration of
analysis. One aspect of the present invention includes inferring types
from a program, forming a type graph from the types, and forming a flow
graph from the type graph to inhibit imprecise paths so as to enhance
context-sensitivity of flow analysis. The methods may be used in any
analysis tools such as code browsers and slicing tools.
Methoden und Strukturen werden beschrieben, die Flußanalyse für Programme erhöhen. Während vorhergehende Methoden durch das Vorhandensein der Funktion Zeiger erschwert werden, stellen die anwesenden Methoden einen Rahmen daß Auszüge Funktion Zeiger dar, als ob sie alle mögliche anderen Programmausdrücke, damit ein gewünschtes Niveau der analytischen Entscheidung innerhalb einer gewünschten Dauer der Analyse zu erlauben waren. Ein Aspekt der anwesenden Erfindung schließt das Schließen der Arten von einem Programm, die Formung einer Art Diagramm von den Arten und die Formung eines Flußdiagramms von der Art Diagramm mit ein, um ungenaue Wege zu hemmen, um Kontext-Empfindlichkeit der Flußanalyse zu erhöhen. Die Methoden können in allen möglichen Analyse Werkzeugen wie Codedatenbanksuchroutinen verwendet werden und Schneidenwerkzeuge.