Logiscope

Logiscope

Im CASE-Labor wird das Analyse- und Testtool Logiscope der Firma Telelogic 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.




FactorCriteriaMetric

 

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.

 

Aufrufgraph


Kontrollflu├čgraphen
zeigen die interne Struktur der Komponenten. Knoten repr├Ąsentieren (Bl├Âcke von) Anweisungen, Kanten zeigen den m├Âglichen Kontrollflu├č durch die Komponente.

 

Kontroll


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.

 

Kiviatgraph