Ähnlichkeit von Quellcode in Anwendungen
Zur Gewinnung eines abstrakteres Verständnisses vom Verhalten von Progrmamcode, werden in diesem Projekt unter Anwendung aktueller wissenschaftlicher Ansätze Muster in Code identifiziert und klassifiziert.
Für die sicherheitsorientierte Analyse von Applikationen ist es seit jeher essentiell, sämtliche in den Programmen vorkommenden Komponenten und ihre designierte Aufgabe zu identifizieren. Mit dem dadurch gewonnen Verständnis über die Funktionsweise lässt sich schließlich erheben, ob Anwendungen gegen etablierte Sicherheitsprinzipien verstoßen bzw. davon abgesehen überhaupt die Funktionalität umsetzen, die zu erwarten wäre. Die in den letzten Jahren stark zugenommene Komplexität und der Umfang einzelner Anwendungen führt jedoch dazu, dass Abläufe und Zusammenhänge bei Code-Reviews nur mehr schwer nachvollziehbar sind.
Das Ziel des Projekts bestand darin, durch die Anwendung aktueller wissenschaftlicher Ansätze Muster in Code zu identifizieren, um darauf aufbauend, ein abstrakteres Verständnis über das Verhalten von Quellcode abzuleiten. Hierfür essentiell ist es, geeignete Methoden zu finden, um auch sehr umfangreiche Mengen an Code so zu verarbeiten, dass ein semantisches Verständnis und eine Klassifikation von Mustern möglich sind. Die aus diesem Projekt gewonnenen Erkenntnisse sollen eine Lösung aufzeigen, um semantisch ähnliche Codefragmente identifizieren zu können.