Projekte

Effiziente relationale Abfragesprache für Software-Strukturen (CrocoPat)

(2003-2004)

Das Projekt war durch die Anforderung motiviert, komplexe Strukturen in Softwaregraphen (z.B. Syntaxgraphen, Abhängigkeitsgraphen) automatisch und effizient zu entdecken. Dazu wurde mit RML eine flexible Spezifikationssprache auf der Basis der Relationenalgebra und des Prädikatenkalküls entwickelt, die es erlaubt Anfragen über Relationen beliebiger Stelligkeit zu formulieren. Damit können komplexe Muster in Graphen (als n-stellige Hyperkanten) definiert werden. Das Werkzeug CrocoPat stellt einen effizienten Interpreter für RML zur Verfügung, der es erlaubt, RML-Programme über großen Graphen, wie sie bei der Analyse von industriellen Softwaresystemen entstehen, auszuführen. CrocoPat benutzt für die zentrale Datenstruktur die im Projekt RABBIT bereits eingesetzte BDD-Technologie. Systematische Fallstudien und Vergleiche mit anderen Ansätzen haben gezeigt, dass CrocoPat in Hinblick auf die Flexibilität und Performanz einen deutlichen Fortschritt gegenüber vergleichbaren Werkzeugen darstellt. CrocoPat wurde im Rahmen der Zusammenarbeit mit der Firma Software Tomography GmbH (Cottbus) in die kommerzielle Analyseumgebung sotograph ( www.sotograph.de) integriert.