Statische Analyse von Programmen mit Bibliotheken

In der Softwareentwicklung werden Komponenten, die häufig wiederverwendet werden, in Bibliotheken ausgelagert. Statische Programmanalyse beschäftigt sich mit der Methodik Programme automatisch und ohne ihre Ausführung zu analysieren. Software-Reengineering benutzt statische Programmanalyse, um Wissen aus dem Quellcode zu gewinnen. Leider gehen viele Analysen davon aus, dass das zu analysierende Programm samt den benutzten Bibliotheken vorliegt. Diese Annahme ist oft falsch. Benutzerprogramme können nicht mit Bibliotheken analysiert werden, da die Skalierbarkeit die Analyse in der Regel nicht zulässt oder Bibliotheken nur ohne Quellcode existieren. Diese Arbeit betrachtet modulare Ansätze und gliedert sich in drei Teilen. Theoretisch werden existierende Ansätze evaluiert sowie nach weiteren Ansätzen gesucht. Die Fragment-Analyse von Rountev wurde umgesetzt und verbessert. Sie wurde auch erweitert für die Objektorientierung. Die Rollenpropagierung von Staiger wurde benutzt, um die Aufrufgraphkonstruktion mit Bibliotheken zu verbessern. Anschließend wurden die Resultate der Fragment-Analyse und der Rollenpropagierung evaluiert.

Diplom-Informatik. Studium der Informatik an der Universität Stuttgart. Schachspieler und Hardware Verification Engineer, IBM Deutschland.

Verwandte Artikel

Download
PDF