Verfolgbarkeit und P... Examensarbeiten Modellbasierte Progr...

Diplomarbeit

Statische Analyse des Datenflusses objekt-orientierter Java-Programme

 

Zusammenfassung

Für das datenflussorientierte Testen von Programmen wird eine statische Analyse des Datenflusses benötigt, welche die zu überdeckenden datenflussrelevanten Teilpfade in den Programmen ermittelt. In dieser Arbeit werden zunächst Kriterien beschrieben, anhand derer sich verschiedene Verfahren zur statischen Datenflussanalyse bewerten lassen. Eine Auswahl an Verfahren, die für objekt-orientierte Programmiersprachen geeignet sind, wird anschließend vorgestellt und einer Bewertung unterzogen. Ausgehend von den dabei gewonnenen Erkenntnissen wurde im Rahmen dieser Arbeit ein neues Verfahren speziell für die Programmiersprache Java entwickelt. Den Kern des neuen Verfahrens bildet eine fluss- und kontext-sensitive Points-To-Analyse, die durch eine symbolische Ausführung des Java Bytecodes erfolgt.
Zusätzlich wurde eine passende dynamische Analyse entwickelt, mit der untersucht werden kann, inwieweit die statisch ermittelten datenflussrelevanten Teilpfade durch Tests überdeckt werden. Dazu wird der Bytecode des zu untersuchenden Programms instrumentiert, um die Pfade bei der Testausführung aufzuzeichnen.

Bearbeiter: Benjamin Polak

Betreuer: Dr.-Ing. Norbert Oster