Logiscope
Im CASE-Labor wird das Analyse- und Testtool Logiscope der Firma Kalimetrix eingesetzt. Logiscope unterstützt dynamische und statische Prüfungen von Software. Logiscope ist für die Sprachen C, C++, Ada und Java verfügbar.
Unter dynamischer Prüfung
versteht man das klassische Testen durch Programmausführen. Der Source Code kann instrumentiert werden um so eine Aussage über die Vollständigkeit der durchgeführten Tests zu machen. Unter Instrumentieren versteht man die Modifikation eines Programms für den dynamischen Test, z. B. den Einbau von Zählern in jedem Programmzweig. Mit Hilfe dieser Zähler kann überprüft werden wie oft jeder Zweig ausgeführt wurde. Damit kann eine Aussage über die Vollständigkeit von Tests gemacht werden (Testabdeckung).
Bei statischen Prüfungen
wird der Source Code untersucht und vermessen. Er wird nicht ausgeführt. Die Codeanalyse erfolgt mit Hilfe von Metriken, die zu einem Qualitätsmodell zusammengefaßt sind. Für jedes Maß werden die zulässigen Minimal- und Maximalwerte definiert. Logiscope stellt eine große Anzahl an primitiven Maßen zur Verfügung. Aus diesen primitiven Maßen können komplexe Maße für eigene Qualitätsmodelle aufgebaut werden.
Die am Source Code gemessenen Werte können in verschiedenen Diagrammarten visualisiert werden.
Logiscope besteht aus den Komponenten:
- Der
Code Checker
analysiert eine Anwendung entsprechend dem zugrundeliegenden Qulitätsmodell. Er mißt alle dort definierten Maße und erzeugt eine Übersicht der Gesamtqualität der analysierten Anwendung. Die analysierten Komponenten werden in die berechneten Qualitätsklassen eingeordnet. Für jede Komponente kann die Ausprägung der untersuchten Qualitätseigenschaft und die Maße, die zur Berechnung der Qualitätseigenschaften benutzt werden dargestellt werden. - Der
Test Checker
führt die dynamischen Tests durch. Er instrumentiert den Code, führt ihn aus und speichert die Ergebnisse. Die Testfälle müssen vom Benutzer definiert werden. - Der
Rule Checker
überprüft den Programmierstil einer Anwendung. Die Programmierrichtlinien für ein Projektwerden als Regeln definiert. Der Rule Checker prüft ob der Programmierstil einer Anwendung den Regeln entspricht. - Mit Hilfe des
Viewers
können die Ergebnisse von Code Checker, Test Checker und Rule Checker visualisiert werden. Er stellt verschiedene Diagrammtypen zur Verfügung, die die Qualität des untersuchten Codes, bzw. die Testabdeckung dargestellen.
Das Logiscope Qualitätsmodell
Logiscope enthält ein eigenes Qualitätsmodell . Es kann an eigene Bedürfnisse angepaßt werden. Der Benutzer kann eigene Qualitätsmodelle erstellen, die nötigen Metriken definieren und diese alternativ zum Standardmodell verwenden. Die Qualitätseigenschaften ("factor") werden in Merkmale ("criteria") zerlegt, für die dann Maße ("metrics") definiert werden. Diese drei Abstraktionsebenen definieren die Qualität aus der Sicht
verschiedener Benutzergruppen von Software.
Meßobjekte
Die Meßobjekte, die Logiscope überprüft sind die Quellcodedateien. Das Qualitätsmodell kann zur Überprüfung folgender Elemente verwendet werden:
- Applikation
- Klassen
- Module
- Methoden
- Funktionen
Darstellung der Analyseergebnisse
Aufrufgraphen
zeigen alle Aufrufe zwischen den Komponenten (Funktionen, Modulen) einer Anwendung. Die Rechtecke stehen für eine Komponente, die Kanten für einen Aufruf.
Kontrollflußgraphen
zeigen die interne Struktur der Komponenten. Knoten repräsentieren (Blöcke von) Anweisungen, Kanten zeigen den möglichen Kontrollfluß durch die Komponente.
Kiviatdiagramme
zeigen die Meßwerte für eine Komponente. Jeder Radius stellt ein Maß dar. Die beiden Kreise stehen für die zulässigen Minima und Maxima der Maße.