Home

Bachelor Thesis - FB Informatik

image

Contents

1. 3 3 Anwendung Ziele und Grenzen der Softwaremessung Damit Metriken zu einem praxistauglichen Instrument der Qualit tssicherung wer den k nnen m ssen die ermittelten Ergebnisse eine Reihe von Kriterien erf llen Wie bei jeder in einer Wissenschaft verwendeten Messung ist es notwendig dass das Ma objektiv ermittelt wurde und frei von subjektiven Einfl ssen des Durchf h renden ist Dar ber hinaus muss ein Ma zuverl ssig sein was meint dass die Wie derholung des Vorgangs unter den entsprechend gleichen Bedingungen wiederum die zuvor gewonnenen Werte erzielt Au erdem m ssen die Werte dem Grundsatz der Validit t gen gen was einen direkten R ckschluss auf die Kenngr en erm g licht Bez glich der Definition der Messung m ssen die Ergebnisse auf einer Skala aufgetragen werden k nnen um sie mit anderen Werten vergleichbar darstellen zu k nnen konomie und N tzlichkeit bilden die wirtschaftlichen Faktoren in Bezug zu Softwaremetriken Dabei beschreibt die konomie wie leicht und kosteng nstig Metriken berechnet werden k nnen Diese Eigenschaft ist ma geblich vom Automa tisierungsgrad der Erstellung abh ngig Die N tzlichkeit ist das Attribut welches die Erstellung und die Verwendung der Kennzahlen gestattet Werden Kennzahlen als nicht verwendbar und unn tz eingestuft werden sie im Qualit tssicherungsprozess nicht verwendet Nach Dumke Dumke 1992 S 40 werden die Eigenschaften Ob jektivit t Zuverl ssigkeit und
2. EF LANG ASSEMBLEUR CURRENT_VERSION CURRENT_VERSION TESTKOMPONENTE 96 03 25 07 14 50 TESTKOMPONENTE 96 03 25 07 14 50 rt RIEN 7 1 27 BeispielCodeAssembler ASM IFNS start01 28 BeispielCode ssembler ASM RIEN 1 29 BeispielCode ssembler ASM SAUT ende 30 BeispielCode ssembler ASM IstartO1 IFNS start02 34 BeispielCodeAssembler ASM RIEN 3 35 BeispielCode ssembler ASM SAUT ende 38 BeispielCode ssembler ASM Istart02 RIEN 3 41 BeispielCode ssembler ASM ende FIN 46 BeispielCode ssembler ASM Abbildung 17 Beispiel einer Ergebnisdatei in LOGISCOPE Das Beispiel einer Ergebnisdatei aus Abbildung 17 zeigt die Metriken innerhalb der oberen Markierung Der untere Teil f hrt den Pseudocode an der seitens LOGIS COPE ebenfalls in die Ergebnisdatei geschrieben wird Werden die Graphiken in der LOGISCOPE Software vom Benutzer angefordert m ssen diese mit jedem Zugriff erneut vom statischen Editor Abbildung 14 berechnet werden Um die generierten Ergebnisse als Diskussionsgrundlage in Reviews zum Produkt verwen den zu k nnen besteht lediglich die M glichkeit die Darstellungen mit den grund legenden Metriken auszudrucken 4 4 3 Schwachstellen unter Verwendung von LOGISCOPE und Anforderungen an eine zu entwickelnde Rechnerunterst tzung Durch die Entscheidung eine Eigenentwicklung bez glich eines Analysewerkzeugs voranzutreiben ergeben sich eine Vielzahl von Vorteilen Folgend
3. Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 1 Die Anwendung mEtRIKA B6 E mEtRIKA Analyse sicherheitsrelevanter Software S Projektverwaltung m pers nliche Projektliste neues Projekt erzeugen vorhandenes Projekt in Liste aufnehmen Projekt aus Liste l schen Kennzahlen ausgew hltes Projekt ffnen Darstellung o Berufs hafilich mEtRIKA Dd BIA iiir Arotahi Abbildung 2 Hauptformular mEtRIKA Der Kopf des Hauptformulars zeigt an welches Projekt gerade mit dem Frontend verbunden ist und bearbeitet werden kann Ist wie in dem obigen Beispiel kein Projekt geladen k nnen die Funktionen der auf der linken Seite befindlichen But tons nicht verwendet werden Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 1 Die Anwendung mEtRIKA B7 1 2 Einbindung weiterer Applikationen Um die Funktionalit ten von mEtRIKA zu erweitern wurden in das mEtRIKA Kon zept weitere Anwendungen integriert die ber das Frontend automatisiert verwen det werden 1 2 1 SciTE ber den Freeware Editor SciTE lassen sich zu analysierende Codeelemente an vielfachen Stellen der Anwendung betrachten Durch die Open Source Entwick lung ist SciTE vielseitig konfigurierbar und daher u erst flexibel e
4. Start der Generiere Verarbeitung Start parsenRefdaten Fehlermeldung parsenRefdaten lL sche angelegte Referenzdaten E L sche angelegte Komponenten Do f r alle Quelldateien Do f r alle Zeilen in Datei Do f r alle Zeichen in Zeile Unrelevante Zeichen berspringen Ausdruck einlesen If Ausdruck H If Ausdruck noch nicht eingelesen Einlesen Ausdruck If n chstes Zeichen amp amp _ Anzahl der Ausdr cke in Zeile 1 N Ausdruck ist Label Z hlen der Parameter der Befehle Eingelesene Ausdr cke in Datenbank schreiben Suchen von Sprungmarken gdw ein Ausd _ Befehl ist und 0 Paramter hat Aktualisieren der u u GUI Steuerelemente Ende parsenRefdaten Zeitt Keine Referenzdaten Referenzdaten eingelesen liegen vor Abbildung 29 mEtRIKA Einlesen der Referenzdaten 6 2 3 2 Implementierte Metriken und deren Berechnung Die in mEtRIKA umgesetzten Kennzahlen gleichen den Metriken der LOGSICOPE L sung und erweitern diese um die von Krell Entwickelten Eine vollst ndige Liste der in mEtRIKA implementierten Metriken ist im Anhang 1 zu finden Da bei sind die aufgef hrten Kennzahlen nach ihren Entwicklern geordnet Ferner ist aus der Tabelle ersichtlich welche Metriken den Synonymen der LOGISCOPE Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 6 Umsetzung
5. dung in Anwendungsbereichen die prinzipiell keine Ausf lle oder Systemfehler tole rieren k nnen da diese unmittelbar katastrophale Folgen nach sich ziehen k nnen Dies impliziert dass die verwendete Software in einem verantwortlichen System fehlerfrei sein sollte so dass der Ablauf nicht zu einem Versagen f hren kann Da in der Softwareentwicklung jedoch der Nachweis von Korrektheit und Vollst ndigkeit bereits bei kleinen Produkten sehr aufw ndig bis unm glich ist w rden solche Pro Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 1 Einleitung 5 zesse die Kosten der Gesamtentwicklung berproportional steigen lassen so dass das Gesamtprodukt f r die Abnehmer zu teuer werden w rde Um dennoch die Verl sslichkeitsanforderung einer Schutzanwendung bestimmen zu k nnen wird in einem ersten Schritt der maximale Schaden ermittelt der durch ei nen Ausfall verursacht werden k nnte Am Beispiel einer Schutzeinrichtung einer Industriemaschine w rde dies bedeuten dass das von einer Anlage ausgehende Gesamtrisiko bestimmt und anhand von geplanten Schutzeinrichtungen bis mindes tens zu einem akzeptablen Restrisiko minimiert wird Schutzma nahmen k nnen in diesem Zusammenhang nicht technisch sein wie zum Beispiel Warnhinweise o der technisch wie Absperrgitter und Sicherheitstechnik in Mikrocontrollern Eine Maschine wird al
6. nenten werden in einer ersten Umsetzung ber Microsoft Access implementiert Demnach bildet das Frontend eine Access Datei die als Clientanwendung auf dem Arbeitsplatz des Anwenders installiert wird Der zweite Teil das Backend wird durch Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 6 Umsetzung des Softwaredesign mEtRIKA 71 6 2 Projekt m pers nliche Projektliste verwaltung Fi neues Projekt Status Link erzeugen nstellunge eine Access Datei mit ausschlie lich Tabellen gebildet Diese Datenbankdatei ent spricht dem relationalen Konzept und ist einzig f r die Verwaltung der Daten ver antwortlich Kapitel 6 3 In der zu entwickelnden prototypischen Version der Anwendung wird der Fokus auf zu untersuchende Assemblercodes gelegt Die Applikation soll in der Lage sein line ar arbeitende Assemblercodes wie beispielsweise die Befehlss tze der 80C51 De rivate zu analysieren Assemblerdialekte neuartiger Mikroprozessorfamilien wie zum Beispiel die Sprachen des TMS 320C6x oder des TI C6x die parallel beziehungswei se konditional abgearbeitet werden werden in dieser ersten Implementierung nicht f r Untersuchungen eingeplant Analysen von C Programmen werden ebenso f r zuk nftige Betrachtungen eingeplant aber nicht implementiert Weitere zuk nftige Ans tze werden in der Zusammenfassung Kapitel 7 bet
7. Alle Filter Ausdruck aufhebe Art des Ausdrucks Klassifizierung C a Anzahl der Parameter Position der Sprungmarke Filtern nach Art Ausdruck Zeile Nr Quelldatei Filtern nach Anzahl Parameter cjne cpl Einstellungen div Sprache Dialekt ende Label inc Befel jmp Befehl jz Befehl Kennzahlen limp Befel mov Befehl movc Befel nop Befehl push Befel Darstellung ret Befehl start Label startD1 Label startD2 Label swap Befehl A Z gt at gt P gt Ka Datensatz 14 I 1 gt rij j von 29 D Testumgebung Setup Data BeispielCodeAssemnbler ASM Datensatz suchen Datensatz l schen rn HOOOOPRONNPAPPPRONPEPENNE FHRrerreHeereNU UrkreHeUurnen Abbildung 20 Formular Einstellungen Programmiersprache manuell bearbeiten Via edit bei Art des Ausdrucks l sst sich der Ausdruck als Befehl Label oder Parameter mit einem Doppelklick auf den Listeneintrag einstellen edit der Klas Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 2 Bedienung ber das Graphical User Interface GUI am Beispiel einer Softwarepr fung B33 sifizierung erm glicht eine Einstellung des Ausdrucks nach Kategorien die die A nalyse und somit die Bewertung des Ausdrucks bei der Analyse be
8. Codemetri en Produktfunk tionalit t j Strukturiertheit Portabilit t Yollst ndigkeit Abbildung 6 Software Qualit tsmodell In Anlehnung an Dumke Lehner 2000 S 138 Fenton Pfleeger 1997 S 17 Produkt nder ungen Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 3 Gew hrleistung von Softwarequalit t anhand von Metriken 32 3 2 4 Gruppierung von Metriken f r Softwareprodukte Aufgrund des zugrunde liegenden Messprinzips lassen sich Produktmetriken in sta tische und dynamische Metriken aufteilen Eine dynamische Messung findet w h rend des Programmablaufs statt im Gegensatz zu einer statischen die nur die Quelltextstruktur analysiert Nach Sommerville Sommerville 2003 S 561 helfen statische Messungen bei der Beurteilung von Komplexit t und Wartungseigen schaften eines Systems und nicht wie die dynamischen Messungen bei der Beur teilung der Leistungsf higkeit und Zuverl ssigkeit Die statisch erstellten Metriken k nnen in die Kategorien Codemetriken Strukturmetriken und hybride Metriken eingeteilt werden Erstere sind auch als linguistische Metriken bekannt Sie messen die syntaktischen Einheiten eines Quellcodes und geben quantitative Aussagen ber den Pr fling wie zum Beispiel ber den Umfang des Programms H ufig er w hnte Metriken sind in diesem Zusammenhang die Metriken nach H
9. Daten vorsehen Demnach sind nicht alle in projektdaten enthaltenen Funktionen ausschlie lich f r die Projektverwaltung nutzbar sondern bilden vielmehr eine Sammlung von Backend Operationen Verwaltung der Referenzdaten und Berechnung der Kennzahlen Anders als die Realisierung durch die Software LOGISCOPE sieht mEtRIKA eine Rechnerunterst tzung zur Erstellung und Verwaltung der Referenzdaten vor Per Algorithmus werden in einem ersten Schritt die zu analysierenden Quelltexte un tersucht und daraus relevante Referenzdaten ermittelt Detaillierte Ausf hrungen zu diesem Mechanismus werden im folgenden Punkt 6 2 3 1 erl utert Mit Gene rierung der ersten Referenzkonfiguration werden die erzeugten Daten Bestandteil der Konfiguration des SciTE Editors Dies erm glicht die Quelltexte mit beson deren Markierungen auf Basis der Referenzeinstellungen betrachten zu k nnen und stellt somit eine wesentliche Erleichterung f r die Betrachter der Quellen dar Abbildung 27 Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 6 Umsetzung des Softwaredesign mEtRIKA 76 ber ein weiteres Formular k nnen die Datens tze manuell anhand weitreichender Such und Filterfunktionen gepr ft und konfiguriert werden Vor der Generierung der Metriken k nnen ferner Einstellungen bez glich der Grenzwerte von Qualit ts kriterien vorgenommen
10. Jede Softwareanalyse setzt auf die zu un tersuchenden Quelltexte der Anwendung auf Einstellungen dazu werden ebenfalls an dieser Stelle get tigt und umfassen beispielsweise die Zuordnung der zu analy sierenden Quelltextdateien und deren Einstellungen zur Softwareuntersuchung 1 3 3 Einstellungen Sprache Dialekt Da es sich bei den zu untersuchenden Produkten um Erzeugnisse aus verschiede nen Programmiersprachen handeln kann m ssen Einstellungen zur verwendeten Programmiersprache an dieser Stelle get tigt werden Ein kurzes Beispiel verdeut licht die Problematik Handelt es sich bei dem Pr fling um ein in Assembler entwi ckeltes Produkt zeichnet es einen Sprachdialekt aus der lediglich auf der daf r vorgesehen Mikrocontrollerart ablauff hig ist Um jedoch sicherheitsrelevante Software f r verschiedene Mikrocontroller untersuchen zu k nnen m ssen die Befehlss tze derer die in der Software verwendet werden dem Analysemodul zur Verf gung gestellt werden Die Funktionen zur Einstellung der Sprache des Dia Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 1 Die Anwendung mEtRIKA B9 lekts gew hrleisten dies indem sie die zu pr fende Software ein erstes Mal analy sieren und die enthaltenen Befehle in Listen dem Benutzer zur Verf gung stellen Der Anwender hat dann die M glichkeit die einzelnen Schl sselw rter auf ihre ko
11. Softwarepr fung und Anforderungen an dabei verwendete Softwarewerkzeuge 47 4 4 1 Die Architektur der Analysesoftware LOGISCOPE Die LOGISCOPE Architektur sieht vor in einem ersten Schritt die zu untersuchen den Quelldateien in das Analysemodul einzugeben Dort werden sie gepr ft wor aus die Ergebnisdateien und die Z hldateien erzeugt werden Erstere enthalten ei nige wenige Untersuchungsergebnisse die ben tigt werden um die Komplexit ts messungen und die graphischen Darstellungen zu berechnen Dieses wird vom statischen Editor geleistet welcher auf die zuvor generierten Ergebnisdateien als Grundlage zugreift Ist eine Archivierung der Ergebnisdateien gew nscht kann diese durch das Archivwerkzeug geleistet werden Eine exemplarische Ergebnis datei wird in Abbildung 17 dargestellt da im folgenden Kapitel weitere Eigen schaften zum bisherigen Prozess einer Softwarepr fung beleuchtet werden Die folgende Abbildung zeigt den schematischen Aufbau und die Funktionsweise des LOGISCOPE Analysewerkzeugs Statisches Archivwerkzeug knd Darstellung auf Workstation Abbildung 14 Architektur LOGISCOPE In Anlehnung an VERILOG 1993a S 1 7 Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 4 Softwarepr fung und Anforderungen an dabei verwendete Softwarewerkzeuge 48 Alle weiteren Basiskennzahlen f r die Hals
12. Steuerelement Toolbox EX Kr me mAAR Abbildung 36 mEtRIKA Beispiel eines digitalen und individualen Berichts Datenhaltung und verwaltung Gem der verteilten Frontend Backend Architektur Abbildung 19 die f r mEtRIKA vorgesehen wurde werden die Projektdaten in einem zentralen Backend gehalten und verwaltet Durch die Implementierung der Applikation unter Verwen dung von Microsoft Access 2002 kann die Datenhaltung als Projektdatei ber das Access Datenbank Dateiformat mdb realisiert werden Unter Nutzung des Frontend k nnen Projektdateien auf dem Dateisystem mit allen dazugeh rigen Ta bellen erzeugt werden ber die Funktion projektverw anlegenProjekt wird in der mEtRIKA Implementierung eine Datenbankdatei mit ben tigten Tabellen und deren Einstellungen bez glich Prim rschl sseln Beziehungen und Initialisierungen generiert Dazu k nnen wahlweise VBA oder SQL Befehle genutzt werden die Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 6 Umsetzung des Softwaredesign mEtRIKA 86 unter Verwendung eines Datenbankobjektes an die Projektdatei abgesetzt werden k nnen Beziehungen komponenten hipRefdatenklassifik klassifizierung beschreibung komponentenOper idKomponenke nameOperand anzahl fan Hipkennzeichengueile idKomponente 5 komponenteGeblockt g tr
13. Wiesbaden 1999 Anhang 1 In mEtRIKA implementierte Metriken bersicht Al Anhang 1 In mEtRIKA implementierte Metriken bersicht Folgende Tabellen erl utern welche Metriken durch die Anwendung mEtRIKA umge setzt und bei einer Softwareanalyse berechnet werden Handelt es sich um Kennzah len die direkt aufgrund der zu untersuchenden Software ermittelt werden steht in der Spalte Berechnung Ermittelt sowie ein Zusatz innerhalb welcher Funktion dies ge schieht Bei Metriken die sich wiederum aus anderen zusammensetzen enth lt die rechte Spalte die Formel mit der die Metrik berechnet wird Die Kurzbezeichnungen sind Abk rzungen wie sie f r die Metriken in der LOGISCOPE Implementierung be ziehungsweise in den Definitionen von Krell Krell 2003 verwendet werden Bezeichnung der Metrik Kurzbez Berechnung Metriken von Halstead Anzahl Operatoren N1 Ermittelt metHalstead Anzahl Operanden N2 Ermittelt metHalstead Anzahl verschiedene Operatoren ni Ermittelt metHalstead Anzahl verschiedene Operanden n2 Ermittelt metHalstead Anzahl Kommentarzeilen N_COM Ermittelt metHalstead Anzahl Programmzeilen INST Ermittelt metHalstead Frequenz Kommentar COM_R N_COM INST Programml nge PR_LGHT N1 N2 Anzahl Vokabeln VOC_SZ ni n2 Frequenz Vokabular VOC_F PR_LGHT VOC_SZ Gr e der Instruktionen AVG_S PR_LGHT INST Programmvolumen V PR_L
14. die in Kombinationen einzelne Faktoren darstellen Die Faktoren wiederum gruppiert bilden ein Qualit tskriterium der Software Um bestimmen zu k nnen wie gut oder schlecht ein Softwareprodukt einem Faktor Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 3 Gew hrleistung von Softwarequalit t anhand von Metriken 31 entspricht werden Ober und Untergrenzen f r die Metriken vergeben die beein flussen ob eine Teilmetrik in die Wertung eingeht F llt eine Metrik zum Beispiel Schlecht aus ber oder unterschreitet sie einen gesetzten Grenzwert und geht nicht anteilig in die Gesamtwertung ein Durch diesen Wegfall k nnte ein Faktor wie zum Beispiel die Testbarkeit niemals 100 erlangen da eine dazugeh rige Teilmetrik weggefallen ist Auf diesem Weg ist es m glich Aussagen dar ber zu treffen in wie fern ein Pr fling einen Faktor einer Eigenschaft und daraus ablei tend die Eigenschaft selbst erf llt oder nicht erf llt Ein dabei h ufig verwendetes Qualit tsmodell ist von McCall der darin einzelne Qualit tsmerkmale verschiede nen Produktfunktionalit ten zuweist Balzert 1998 S 262 Dumke 1992 S 6 Fenton Pfleeger 1997 S 16f 18 Sommerville 2003 S 557ff Windpassinger 2000 S 137ff Verwendung Faktor Kriterium l Metrik el Analysierbarkeit A nderbarkeit Verwendbarkeit Wiederverwendbarkeit A
15. eingeteilt Entsprechend dieser Klassifikation werden die Ausdr cke bei der Berechnung der Metriken gewertet Als letzter Bestandteil der Funktion wurde eine Sprungvorhersage implementiert die pr ft ob ein Para meter eines Befehls einem Label entspricht Ist dies der Fall geht die erste Ana lyse davon aus dass es sich bei dem Befehl um einen Sprung handelt der min destens unbedingt ist Aus diesem Grund wird dieser Befehl im ersten Analyse schritt als unbedingter Sprung klassifiziert was wiederum die weitere Verwaltung der Befehle f r die Gutachter vereinfacht Der Begriff der Komponente muss in Abbildung 29 und den folgenden Textpas sagen zur Berechnung der Metriken im Kontext der Assemblercodes gewertet Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 6 Umsetzung des Softwaredesign mEtRIKA 77 werden Eine Komponente entspricht dabei einer definierten Sequenz von As semblerinstruktionen hnlich einer Funktion oder Methode einer Hochsprache l Modul Ebene GUI Ebene modAssemblerAnalyzer Keine Referenzdaten eingelesen NF Start Pr fungen durch GUI Aufruf aus der Verwaltung Referenzdaten Pr fungen Referenzdaten angelegt gt l schen ja nein Quelldateien angelegt Quelldateien physisch verf gbar Quelldateien mit Textmarken versehen Projekttyp Assenblerprojekt nein ja
16. kus auf die Umsetzung der Kennzahlen gem den aus der Analyse resultierenden Definitionen und auf weitere Aspekte der Benutzer gelegt Die weiterentwickelten Metriken bilden neue Instrumente f r die Pr fer Dar ber hinaus sind die f r die Nutzer wesentlichsten Funktionen die graphische Darstellung zur Abstraktion von den zu untersuchenden Quellcodes entsprechend den in LOGISCOPE eingesetzten Instrumenten anzugleichen und aufsetzend neue Modelle der Visualisierung zu ent wickeln Bisher in LOGISCOPE noch nicht eingesetzte Konzepte wie beispielsweise die Einbindung von B rowerkzeugen zur weiterf hrenden Illustration von Berich ten und Kommunikation zwischen kooperierenden Instanzen sind mit den Nutzern zu entwickeln und prototypisch zu implementieren Die Programmierschnittstelle die durch die Entwicklung in Kooperation mit dem BIA offen gelegt wird erlaubt zu k nftig alle M glichkeiten der Weiterentwicklung und Anpassung der Applikation nach den W nschen und Vorstellungen der Anwender Somit wird das Black Box Prinzip der in der Vergangenheit eingesetzten L sung durch die Transparenz einer selbstentworfenen Individualsoftware abgel st Ableitung des Soll Zustands und dessen Softwarearchitektur aus dem Ist Prozess Die Struktur einer Neuentwicklung enth lt als wesentlichste Elemente die zentralen Schritte aus dem Ist Zustandsmodell Demnach wird der Nutzer weiterhin Sprach eigenschaften der zu un
17. t Handhabung Dar stellung und Berichtswesen im Kontext einer Softwarepr fung erlaubt Die in Kapitel 4 4 3 formulierten Anforderungen konnten durch die mEtRIKA Realisierung folgen derma en umgesetzt werden e ber die offene Programmierschnittstelle VBA kann mEtRIKA auch in Zukunft in seinem Automatisierungsgrad und bez glich weiterer Funktionalit ten aus gebaut werden Die Modularisierung des ersten Entwicklungsentwurfs erm g licht die komponentenweise Weiterentwicklung beispielsweise bez glich be stimmter Analysemodule e Durch die Realisierung auf Basis einer Microsoft Office Plattform k nnen angebundene Kommunikationsinfrastrukturen vielseitig genutzt werden Au Berdem wurde dadurch der Grundstein zur leichten Kopplung von B roan wendungen zur Bearbeitung von Softwarepr fungen gelegt e Eine intuitiv verstehbare Benutzerf hrung vereinfacht Anwendern Einstellun gen im Kontext einer Analyse zu bearbeiten und verhilft effizient die Applikati on bedienen zu k nnen e Die Datenhaltung in Form einer zentralen Projektdatei gestattet die leichte Integration von Datensicherungsmechanismen e Mit mEtRIKA wird eine weitgehende Rechnerunterst tzung zur Konfiguration der Referenz und Verwaltungsdaten geboten ber diese realisierten Anforderungen hinaus bestehen zahlreiche weitere die es zu k nftig im Rahmen der Applikation umzusetzen gilt Eine Reihe der wichtigsten sind Entwicklung eines Analysewerkzeugs zur
18. 2 Designmethodik und Eigenschaften sicherer und zuverl ssiger eingebetteter Systeme 16 die Funktionalit t mit die Testdaten gemacht werden k nnen Statische Test verfahren betrachten den Analysegegenstand nicht w hrend seines Ablaufs Dabei wird meist der Quellcode direkt berpr ft um Fehler festzustellen Bal zert 1998 S 280f 395f e Verifizierende Verfahren Wie bei der Beschreibung der Verifikation in 2 1 2 2 erl utert versucht sie den formalen Nachweis der bereinstimmung eines Pro dukts mit dessen Spezifikation Bei dieser Form der Auswertung wird die Soft ware mit symbolischen Ausdr cken ergo Eingabevariablen interpretiert und getestet hnlich wie bei den testenden Verfahren nur dass die Einschr nkung durch die Testmenge entf llt um allgemeine Aussagen erzielen zu k nnen Balzert 1998 S 395f DGQ 1992 S 100f e Analysierende Verfahren Auch analytische Verfahren genannt untersuchen sie statisch ein zu pr fendes Softwareprodukt Die Pr fung basiert auf den quanti fizierbaren Eigenschaften wie beispielsweise der Struktur des Quellcodes Die analysierenden Verfahren k nnen fortfahrend in die Arten Analyse der Bin dungsarten von Systemkomponenten Metriken und Anomalienanalysen klassi fiziert werden Dabei liefern erstere Ergebnisse ber den Zusammenhang zwi schen einzelnen Systemmodulen Die Metriken beschreiben die Untersuchung des Quellcodes wie nach dem vorig erl uterten Beispiel der Programmst
19. Anwendung wurde nach den Anforderungen des Berufsgenossenschaftlichen Instituts f r Arbeitsschutz BIA in Sankt Augustin welches Softwarepr fungen und zertifizierungen im Maschinen schutz durchf hrt entwickelt Hauptfunktion der Applikation ist Qualit tskriterien die Aufschluss ber wesentliche Softwareeigenschaften einer zu pr fenden Software liefern zur Pr funterst tzung zu ermitteln In den folgenden Kapiteln wird auf Sicherheitsrelevanz im Zusammenhang mit Rechnersystemen deren Entwicklung und besonderen Eigenschaften sowie auf den Qualit tsbegriff in diesem Zusammenhang eingegangen Anschlie end wird die An wendungsentwicklung des Analysewerkzeugs mit Schwerpunkt auf der Designphase und den erzielten Ergebnissen dokumentiert Aufsetzend auf den Resultaten werden Ausblicke auf weiterf hrende Funktionalit ten und Erweiterungsans tze betrachtet 1 2 Aufbau eingebetteter Systeme Der Grossteil der modernen elektronischen Systeme ist mit Rechnern ausgestattet die insbesondere f r diese Art der Anwendung konzipiert und nicht f r umfangrei che Gruppen verschiedener Problemstellungen gedacht sind Derartige Systeme be stehen typischerweise aus einem Chip auf dem alle weiteren Komponenten ange ordnet werden Ein solches eingebettetes System engl embedded system setzt auf der Hardwareebene auf und arbeitet mit den angeschlossenen Bauteilen integriert zusammen In diesem Mikrocontrollersystem sind f r die Pr
20. Berechnung der Metriken abh ngig vom Umfang der zu untersuchenden Quelltexte Handelt es sich um mehrere Tausend Zeilen Quellcode und mehrere hundert Komponenten ist f r die Berechnung der Excelberichte ein gr erer Zeit umfang einzukalkulieren Um in der Bearbeitung eines anderen Prozesses fortzu schreiten kann das Fenster dieses ge ffnet werden Die Generierung der Excelbe richte wird weiterhin ber den Access Prozess und die Excel Arbeitsmappe fort gef hrt Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 2 Bedienung ber das Graphical User Interface GUI am Beispiel einer Softwarepr fung B41 Der Excelbericht l sst sich nach seinen Bl ttern in Teilberichte aufteilen Entspre chend enth lt jeder Teilbericht die Informationen und Werte einer Darstellung KR Microsoft Excel GraphikTestprojekt xIs Datei Bearbeiten Ansicht Einf gen Format Extras Daten Fenster vr ar 2 3 i DeBasRY t me 7 Telefonnumm Kundenname Ansprechpartner beim Kunden Telefonnummer Berufsgenossenschaftliches Institut f r Arbeitsschutz Datum 30 06 2004 Assembler Testprojekt mdb C Programme mEtRIKA Testprojekt mdb 30 06 2004 Christian Staron 02244 231 2668 MeinKundeABC Musterstrasse 01 12365 Musterhausen Herr MusterAnsprechpartner 02365 569874 12365 amp Brogramme mEtRIKA Scite SciTE
21. Die Darstellung und Visualisierung der linguistischen und strukturellen Metri ken spielt die wichtigste Rolle im Kontext einer Softwareuntersuchung In der bisherigen Form implementiert mEtRIKA lediglich eine Darstellungsweise In Zukunft sollte die bisherige Funktionalit t der Kontrollflussgraphen sowie weitere hnlich der in LOGISCOPE realisierten Visualisierungen ausgebaut und neu entwickelt werden Die Freiheit neue Darstellungsformen definieren und umsetzen zu k nnen spiegelt den in anbetracht der Wichtigkeit von Dar stellungen gr ten Vorteil der Eigenentwicklung wider Dabei k nnten B ro anwendungen andere Werkzeuge oder vollst ndige Eigenentwicklungen Grundlage sein Ferner k nnte in diesem Zusammenhang der Ausbau des Berichtswesens an hand Microsoft Excel relevant sein Dabei k nnte der hohe Verbreitungsgrad der Office Produkte genutzt werden um die Berichtsmappen via Kommuni kationsinfrastrukturen zu verteilen ber den Inno Setupcompiler k nnen die Berichte samt dem SciTE Editor und den analysierten Quelltexten zu einem Installationspaket verbunden werden um es in dieser Form anderen in die Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 7 Zusammenfassung und Ausblick 95 Pr fung involvierten Instanzen bereitzustellen Diese h tten dann die M glich keit das Paket zu installieren und somit ber de
22. Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 7 Zusammenfassung und Ausblick 94 Bisher steht mEtRIKA ausschlie lich zur Analyse von Assemblerprodukten zur Verf gung Durch die Implementierung eines C Analysemoduls k nnten zu k nftig C Programme im Rahmen einer Softwarepr fung ber die Rechner unterst tzung untersucht werden Diese Modulerweiterung ist dar ber hinaus f r jede weitere Programmiersprache umsetzbar und daher nicht nur in Bezug auf C zu betrachten Die Teilautomatisierung der Referenzdatenkonfiguration in mEtRIKA ist ein m chtiges Werkzeug welches in der LOGISCOPE Implementierung in keiner Weise enthalten ist Um die Unterst tzung zur Verwaltung der Referenzdaten zu erweitern k nnten Importfunktionen entwickelt werden die es erm gli chen die Referenzdaten aus bestehenden Analyseprojekten zu importieren Ferner k nnten eigens prozessorabh ngige Bibliotheken mit Referenzdaten entwickelt werden die zum Beispiel durch das Auslesen eines digitalen Daten blatts generiert werden k nnten Eine dritte M glichkeit vorgefertigte Refe renzdaten zu erhalten k nnte das Auslesen von LOGISCOPE Konfiguratio nen aus vergangenen Projekten sein Um die Anwendung der in mEtRIKA implementierten Qualit tskriterien zu er weitern k nnte zuk nftig vorgesehen werden neue beziehungsweise pro jekteigene Kriterien f r eine Softwarepr fung zu definieren
23. Es gibt einen definierten und sukzessiven Ver lauf des Gesamtmodells durch alle in 2 1 betrachteten Phasen des Gesamtpro zesses Nach der Theorie sind alle Dokumente und Ergebnisse einer Phase von den Beteiligten abzunehmen bevor sie als Grundlage f r den Folgeprozess die nen Sind nderungen im Entwurf durchzuf hren die durch Probleme in einer sp teren Stufe auftreten k nnen iterativ R ckf hrungsschleifen verwendet wer den die jedoch lediglich einen R cksprung zum unmittelbar vorigen Prozess er m glichen Nach einer R ckf hrung m ssen alle folgenden Phasen des Modells wieder sukzessive durchlaufen werden Balzert 1998 S 98 Sommerville 2003 S 24 57f Vogel Heuser 2003 S 25f 2 1 1 2 V Modell K nnte man von einer Philosophie des V Modells sprechen w rde es der Qua lit tsanspruch an ein zu entwickelndes Produkt sein Gem dem Ziel safe to market ist das Modell eine konsequente Fortf hrung des Wasserfallmodells mit den entsprechenden Qualit tssicherungsma nahmen der einzelnen Phasen auf der den Entwicklungsphasen gegen berliegenden Seite Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 2 Designmethodik und Eigenschaften sicherer und zuverl ssiger eingebetteter Systeme 10 2 1 1 3 Feinehtwurf Abbildung 3 V Modell In Anlehnung an Balzert 1998 S 101 Verlaufen die Entw
24. Feinentw r fe Diagramme Programmcodes Testresultate Abnahmeberichte Projektpl ne und viele weitere Dokumente k nnen w hrend des gesamten Prozesses von den Besprechungsmitgliedern in verteilten Rollen nach Vorbereitung einer Sitzung in spiziert und begutachtet werden Balzert 1998 S 305 Ehrenberger 2002 S 171f Der Walkthrough wird dagegen von dem Autor des Dokuments ohne eine klare Rollenverteilung bei den sonstigen Teammitgliedern geleitet Ebenfalls hat in die ser Sitzungsform der Verfasser die Aufgabe die Beteiligten durch das Dokument zu f hren Das Verfahren gilt als qualitativ schlechter da der Autor durch seine Resultate f hrt und somit bereits eine eingefahrene Sichtweise auf Problem stellungen beim Durchgang vorgegeben ist Balzert 1998 S 321 Ehrenberger 2002 S 171 176 Bei der Schreibtischpr fung existiert keine formalisierte Methode Ein Gutachter pr ft die Dokumente f r sich allein um ebenfalls Fehler und die Produktqualit t festzustellen Typischerweise ist die Schreibtischpr fung durch den Autor weitaus weniger wirkungsvoll als durch einen unabh ngigen Gutachter der die Doku mente pr ft Ehrenberger 2002 S 171 176f 2 2 Softwarequalit t und deren Sicherstellung im Entwicklungsprozess Der Begriff der Softwarequalit t kann aus vielerlei Perspektiven betrachtet und da her nicht eindeutig zugeordnet werden Verschiedene Sichten auf die Qualit t eines Produkts bilden die vier Ans tze d
25. Qualit t zu stei gern Kosten und die Fehlerwahrscheinlichkeit im Endprodukt zu senken Heute hat die Softwaremessung einen wichtigen Stellenwert in Softwareengineering Prozes sen eingenommen Softwarestruktur deren Modularit t und Einfachheit sowie die Effizienz der Prozesse wurden nunmehr als wesentliche Kriterien f r betriebssichere und somit sicherheitsrelevante Software Kapitel 1 5 erkannt und daher als prim r zu erreichende Ziele angestrebt Metriken eines Softwareprodukts liefern Indikato ren und Kennzahlen die Aussagen ber seine Beschaffenheit treffen und somit ein wichtiges Instrument der Qualit tspr fung darstellen Sie helfen produktspezifische Prozesse zu verstehen Kontrolle ber diese Prozesse zu bewahren und Verbesse rungsans tze f r sie entwickeln zu k nnen Balzert 1998 S 225f Dumke 1992 S VII 35 Orci 2001 S 71 Fenton Pfleeger 1997 S 3 13 Zuse 1999 S 3 Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 3 Gew hrleistung von Softwarequalit t anhand von Metriken 28 3 2 Metriken als Instrument der Qualit tssicherung Softwaremessungen setzen bei dem zu entwickelnden Gesamtprodukt Teilproduk ten bei deren Entwicklungsprozessen oder bei darin verwendeten Entwurfs und Programmiersprachen Methoden oder Werkzeugen auf und sind daher vielseitig einsetzbar Dabei ist das Ziel anhand von numerische
26. Sie stellt eine Methode im Qualit tssicherungsprozess dar um Aussagen ber die Korrektheit und Vollst ndigkeit einer Implementierung nachzuweisen Durch die daf r ben tigte Formalit t entsprechend dem Beweis ist sie jedoch sehr aufw ndig und da her kostenintensiv Balzert 1998 S 101 446 Ehrenberger 2002 S 19 Vogel Heuser 2003 S 26 Validierung beschreibt dagegen eine kosteng nstigere Form der Qualit tssiche rung Sie vermittelt zwar keine allgemeing ltigen Aussagen wie sie die Verifika tion leistet kann jedoch f r den Grossteil der zu pr fenden Anwendungen hinrei chende Aussagen bez glich der qualitativen Eignung treffen Aufgrund von spe zifizierten Szenarien und gut gew hlten Testmengen mit Standard und Grenzwerten sowie unzul ssigen Eingaben kann die Funktionsweise nach spezi fizierten Anforderungen kosteng nstig und effizient ermittelt werden Dar ber hinaus dient die Validierung h ufig zur Pr fung einzelner Dokumente im Kontext des Gesamtsystems was die Kompatibilit t von gefertigten Einzelkomponenten bei ihrer Zusammenf hrung gew hrleisten soll Balzert 1998 S 101 Ehrenber ger 2002 S 20 Vogel Heuser 2003 S 26 Review Inspektion Walkthrough und Schreibtischpr fung Diese vier Begriffe sind ebenfalls Bestandteile eines typischen Softwareenginee ringprozesses und werden daher auch in diesem Kontext erl utert In der Praxis werden sie h ufig als Verfahren zur Validation und Verifikati
27. Systems in einer festgelegten k r zeren Zeitspanne Dar ber hinaus bedingt die Zuverl ssigkeit dass das umgesetzte System seiner dem Entwurf zu Grunde liegenden Spezifikation entspricht da ein System nur zuverl ssig ist wenn es gem den spezifizierten Anforderungen arbei tet Die Betriebssicherheit auch funktionale Sicherheit englisch safety be trachtet den Risikoaspekt der von einem System ausgeht bez glich der Wahr scheinlichkeit einen kologischen oder physischen Schaden zu verursachen Diese Eigenschaft eines Systems beschreibt wie robust eine Anwendung unter spezifi zierten und auch nicht spezifizierten Betriebsbedingungen arbeitet Aspekte der In formationssicherheit werden ber die Systemsicherheit betrachtet Sie pr ft wie re sistent ein System gegen ber Angriffen ist H ufig werden die ersten beiden Aspekte der Verl sslichkeit die Verf gbar und Zu verl ssigkeit als wichtigste Gesichtspunkte angesehen um die daraus resultierende Verl sslichkeit eines Systems sicherzustellen Handelt es sich bei der Anwendung um eine sicherheitskritische wie sie in unserem Kontext zu betrachten ist spielt das Merkmal der Betriebssicherheit eine ma gebliche Rolle zur Beschreibung des Sys Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 1 Einleitung 7 tems Sommerville 2003 S 111 363ff 370f 373f In folg
28. Validit t als Hauptg tekriterien eingestuft hingegen Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 3 Gew hrleistung von Softwarequalit t anhand von Metriken 39 die weiteren Kennzahlen den Charakter von Nebeng tekriterien haben Balzert 1998 S 227 Werden Softwaremetriken nach diesen G tekriterien eingestuft und f r ein Produkt relevante ausgew hlt ist das Ziel ein wirtschaftliches Werkzeug zu finden mit Hilfe dessen die Kennzahlen konomisch ermittelt werden k nnen Geeignet eingesetzt verhelfen Metriken Softwareingenieuren einen schnellen Einstieg in komplexe Sys teme zu gewinnen Da die Kennzahlen vom eigentlichen Quelltext abstrahieren er halten Gutachter ber ein abstraktes Modell der zugrunde liegenden Software einen berblick ber Kernkomponenten und komplexe Codesequenzen dieser Sie geben konstruktive Anhaltspunkte auf denen Reengineeringprozesse ansetzen k nnen um die Qualit t des Gesamtprodukts zu verbessern Nach nderungen k nnen sie ver wendet werden um die vorher gefundenen M ngel auf ihre Behebung zu pr fen Bei Neuentwicklungen stellen Softwaremessungen Richtlinien f r die Implementie rung dar indem ihre Soll und Grenzwerte den spezifizierten Softwareanforderung angepasst werden so dass bei einer Pr fung Defizite bersichtlich pr sentiert wer den So gesehen dienen sie in dieser Funktion als
29. amp Sohn Verlagsgesellschaft mbH Braunschweig Wiesbaden 1992 Dumke Winkler 1999 Ehrenberger 2002 Edwards et al 1999 Fenton Pfleeger 1997 Gilb 1977 Halstead 1977 HVBG 2004 Jacobsen Rey 2000 IX Dumke R Winkler A Y2K from a Metrics Point of View Software Measurement Current Trends in Research and Practice S 173 Deutscher Universit tsverlag Gabler Edition Wissenschaft Wiesbaden 1999 Ehrenberger W Software Verifikation Verfahren f r den Zuverl ssigkeitsnachweis von Software Carl HanserVerlag M nchen Wien 2002 Edwards S Henry S Bodnar R Software Metrics for Multimedia Languages Software Measurement Current Trends in Research and Practice S 195 Deutscher Univer sit tsverlag Gabler Edition Wissenschaft Wiesbaden 1999 Fenton N E Pfleeger S L Software Metrics A Rigorous and Practical Approach Second Edition PWS Publishing Company Boston 1997 Gilb T Software Metrics Winthrop Publishers Inc Cam bridge Massachusetts 1977 Halstead M H Elements of Software Science Elsevier North Holland Inc New York 1977 Hauptverband Berufsgenossenschaften Hrsg Das Berufs genossenschaftliche Institut f r Arbeitsschutz BIA http www hvbg de d bia index html 08 06 2004 Jacobsen Rey M Automated Software Inspection Attai ning New Levels of Software Quality Software Metriken Entwicklungen Werkzeuge und Anwendu
30. aus Abbildung 16 dass dieser Teilprozess der Referenzkonfi guration bei LOGISCOPE vollst ndig manuell abl uft und der Gutachter keinerlei Rechnerunterst tzung seitens LOGISCOPE dabei erh lt Aufgabe des Pr fers ist in diesem Schritt die Schl sselw rter der verwendeten Programmiersprache in die Referenzdatei von LOGISCOPE zu schreiben und Klassifizierungen gem Abbil dung 15 zuzuordnen Um die Vollst ndigkeit der Eintragungen zu berpr fen wird iterativ immer wieder ausprobiert ob LOGISCOPE bei der Analyse der Quelltexte Warnungen ausgibt Wird eine Warnung generiert hei t dies f r den Pr fer dass er nderungen in der Referenzdatei vornehmen muss H ufig nimmt dieser Prozes aufgrund seiner Fehleranf lligkeit und der manuellen Durchf hrung mehrere Stun den in manchen F llen sogar mehrere Arbeitstage in Anspruch Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 4 Softwarepr fung und Anforderungen an dabei verwendete Softwarewerkzeuge 50 Ereignis Funktion Datenobjekt Quelltexte unpuunnnnnnnnnnnnnnnnnnnnnnn Start der Softwarepr fung Referenzdaten liegen vor Ergebnisdaten liegen vor vYisualisierung und Berichterstellung der Ergebnisdaten J Erstellen der I Referenzdaten Erstellen der Metriken und Qualit tskennzahlen Zeitt Anmerkungen i interpretieren der Quel
31. beeinflusst In der Realit t l sst sich die Qualit t einer Software durch eine Mischung der letzten drei Ans tze beschreiben Ein Produkt muss anhand von Ma st ben in einer gewis sen Weise quantifizierbar sein wie beispielsweise Quelltexte aufgrund ihrer Struktur oder die Anzahl der Funktionen die sie dem Benutzer auf der Benutzerschnittstelle zur Verf gung stellen Der Benutzer entscheidet sich wiederum f r ein Produkt und w hlt es nach seinen Ma st ben der Produktqualit t aus Anforderungen nach de nen er ein Produkt bewertet entsprechen h ufig den nicht Funktionalen aus Kapitel 1 5 ber die er die wesentlichen Charakteristika einer Applikation beschreibt Produktionsprozesse beeinflussen die Softwareentwicklung und qualit t Wird nachl ssig bei der Entwicklung gearbeitet entstehen hohe Kosten durch ben tigte Nachbesserungen in Wartungsphasen Balzert 1998 S 21f Aus den vorigen Kapiteln wissen wir dass Qualit tssicherungsma nahmen in Vorge hensmodellen integriert sein k nnen Alle Qualit tssicherungsprozesse werden dem Qualit tsmanagement zugeordnet welches w hrend einer Entwicklung anhand von Techniken die geplante Softwarequalit t gew hrleisten soll Teilaufgaben des Mana gements sind das festlegen von Zielen und Verantwortungen zur Verfolgung der planm igen Qualit tspolitik Die Qualit tsplanung lenkung sicherung und Quali t tsverbesserung im Umkreis des Managementsystems sind dabei unterst tzen
32. beenden WZOKPICK EXE 1724 00 0 00 00 2 268 K Debuggen WINWORD EXE 1688 00 0 00 44 FSM32 exe 1660 00 0 00 00 i Priorit t festlegen Echtzeit hkemd exe 1656 00 0 00 00 Hoch IEXPLORE EXE 1568 00 0 00 15 24 645 KB a wFcrung2 exe 1504 00 0 00 00 4 816 KB palestine dia exe 1476 00 0 02 10 22 648 KB Normal explorer exe 1380 00 0 00 13 3 948 KB Niedriger als normal fsav32 exe 1108 00 0 00 00 904 KB FIH32 exe 1100 00 0 00 00 324 KB nn FNRE32 exe 1044 00 0 00 00 1 684 KB FAMEH32 exe 1036 00 0 00 00 444 KB taskmar exe 1000 00 0 00 00 1 532 KB FSMB32 exe 984 00 0 00 03 844 KB FS5MA32 exe 960 00 0 00 00 580 KB mspmspsy exe 920 00 0 00 00 1 880 KB EXCEL EXE 908 00 0 07 04 30 320 KB winmgmt exe 892 00 0 00 03 664 KB mstask exe 828 00 0 00 00 3 388 KB regsvc exe 804 00 0 00 00 1 044 KB CTFMON EXE 752 00 0 00 00 2 744 KB mdm exe 736 00 0 00 00 3 308 KB Er num cAc am Erala ter 12 129 VO Prozess beenden Prozesse 39 CPU Nutzung 100 Speichernutzung 306244 KB 1257492KB Abbildung 23 Windows Taskmanager Prozesspriorit t herabsetzen Auf diese Weise kann gew hrleistet werden dass ausreichend Prozessorleistung zur Bearbeitung weiterer Prozesse zur Verf gung steht 2 6 Berechnete Metriken und weitere Kennzahlen Wurden alle Metriken erfolgreich berechnet wechselt die Verarbeitung aus dem Unterformular f r die Einstellungen Sprache Dialekt automatisch in die Ansicht unter der Rubrik Kennzahlen Entwicklung e
33. der Anwendung LOGISCOPE stellt diesbez glich gute Funktionalit ten zur Verf gung und erm glicht in Betrachtung einer Codesequenz zwischen den verschiedenen Darstellungsformen zu springen Dar ber hinaus bietet es den Wechsel zwischen der abstrahierten graphischen Darstellung zur detaillierten Be trachtung eines Codeelements im Quelltext Darstellungsfunktionalit ten sind in einer neuen Anwendung auszubauen und mit aufsetzenden Funkti onswerkzeugen zu erweitern e Durch die Integration der Visualisierung in B roanwendungen ergeben sich M glichkeiten der individuellen Berichtserstellung zu den betrachteten Co dest cken und die Verteilung dieser ber angebundene Kommunikations infrastrukturen Die Individualit t k nnte sich dabei durch die weitere gra phische Bearbeitung eines Reports u ern der mit Vermerken und Hinwei sen versehen via Netzwerk den Kooperationspartnern zeitnah zugestellt Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 4 Softwarepr fung und Anforderungen an dabei verwendete Softwarewerkzeuge 54 werden kann Dies zeigt dass durch die Verwendung von standardisierten B rowerkzeugen zur Abbildung des Berichtswesens Medienbr che wie sie in der vorigen L sung durch ausdrucken erzeugt werden verhindert wer den k nnen e Eine dem BIA zur Verf gung stehende Programmierschnittstelle erm g licht in Z
34. des Softwaredesign mEtRIKA 78 Implementierung beziehungsweise den Bezeichnungen von Krell entsprechen Der letzte Listeneintrag zu jedem Datum zeigt auf welche Metriken aus anderen berechnet werden und daher als zusammengesetzte gelten oder von der Pro grammlogik bei der Softwareanalyse ermittelt werden m ssen Krell 2003 Abbildung 30 zeigt die Struktur der Funktion parsenMetriken die in mEtRIKA zur Berechnung aller Kennzahlen ausgef hrt wird parsenMetriken modAssernblerAnalyzer F r jede Quelldatei Auslesen der n chsten Komponente 1 Berechne Halstead perandenl peratoren f r die Komponente metHalstead peranden peratoreni 2 Berechne Halstead Metriken f r die Komponente metHalsteadi 3 Berechne McCabe Metriken f r die Komponente metMicCabe 4 Berechne Krell Metriken f r die Komponente metkKrelli 5 Berechne globale Metriken ber alle Komponenten Quelldateien Zeitt Abbildung 30 mEtRIKA Berechnung der Metriken F r jede zu untersuchende Quelldatei werden dabei die Halstead McCabe und Krell Metriken berechnet und in der Projektdatei gesichert Im letzten Schritt werden die globalen Metriken berechnet Diese geh ren zwar ebenso zu den Mc Cabe und Krell Metriken m ssen jedoch bez glich des Gesamtsystems und nicht nur einer isolierten Komponente zugeh rig betrachtet werden Entwicklung eines Analysewerkzeugs zur Ermittlung v
35. eingesetzt Ihr Ausfall k nnte unmittelbar zu einem Schaden f hren wie die zent rale Steuereinheit in unserem Beispiel der Bremsanlage eines Fahrzeugs Als sekun d r kritische Software bezeichnen wir die in der Entwicklung eingesetzten Werkzeu ge die durch ihre eigene Fehlerhaftigkeit ein mangelhaftes Design zur Folge haben k nnten und somit indirekte Systemausf lle und damit verbundene Sch den provo zieren k nnen Betrachten wir f r unser Beispiel der Bremse einen Ausfall dieses Systems l sst sich die Verl sslichkeit Kapitel 1 5 als wesentliche Eigenschaft eines sicherheitskritischen Systems festhalten Sommerville 2003 S 366 373f Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 1 Einleitung 4 Die permanent steigende Anwendung von Mikrocontrollersystemen in der Sicher heitstechnik l sst sich durch die hohe Flexibilit t eingebetteter Systeme erkl ren die es erm glicht vielschichtige Aufgaben durch leicht anzupassende Rechnerunterst t zung umzusetzen Immer h ufiger werden Mikrocontroller zu Sicherheitszwecken an Maschinen und Anlagen aller Branchen und Industriezweige eingesetzt B mer et al 1998 S 1 Klug Schaefer 1997 S 1 2 Reinert Reu 1991 S 1 Vor allem die Softwarekomponenten eines eingebetteten Systems erm glichen komplexe Syste me mit beispielsweise einer Vielzahl von Sensoren und Aktoren ber Al
36. exe Zeichnen Autoro Bereit Abbildung 27 Beispiel eines Excelberichts Deckblatt Mit Generierung des Berichts werden das Deckblatt und die zuvor in der Anwendung ausgew hlten Teilberichte zu jeder im Projekt enthaltenen Komponente als Excel blatt erzeugt und abgespeichert Die Exceldatei gleicht nach der Generierung einer Sammlung von Berichten hnlich einer Arbeitsmappe Das Deckblatt welches die Bezeichnung Konfig tr gt enth lt allgemeine Projekt daten und dar ber hinaus zus tzliche Angaben zur Konfiguration der Excelmakros die als VBA Code hinter der Darstellung im Excelbericht liegen ber den Button Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 2 Bedienung ber das Graphical User Interface GUI am Beispiel einer Softwarepr fung B42 Editor ausw hlen soll der SciTE Editor ausgew hlt werden der zur Codedarstel lung aus den Kontrollflussgraphen ben tigt wird Fl Microsoft Excel GraphikTestprojekt xls Datei Bearbeiten Ansicht Einf gen Format Extras Daten Fenster BY BB S0 n 2 32 2 AP E x ug amp e Y B A Berufsgenossenschafiliches Institut f r Arbeitsschutz Graphik Komponenten Kontrollflussgraph Projekt Testprojekt V00 01 Datum 30 06 2004 ane TestKomponente ID 1 Quelldatei e Meyik erstellt am 30 06 2004 v 1s 2
37. glichen eine Klassifizierung derer in vorher festgelegte Anforderungen und Grenzwerte Balzert 1998 S 257 Um Softwarequalit t zu pr fen stehen den Verantwortlichen eine Reihe von Verfah ren und Methoden zur Verf gung Informelle Qualit tssicherungsma nahmen wie sie in Kapitel 2 1 2 3 beschrieben werden k nnen im vollst ndigen Entwicklungs zeitraum eingesetzt werden f hren aber gegen ber dem allgemeinen Nachweis der Verifikation aus Kapitel 2 1 2 2 nicht immer zu eindeutigen und vollst ndigen Resul taten H ufig liefern sie jedoch fr hzeitig Indikatoren f r Probleme und Fehler da sie bereits w hrend der Entwicklung als Pr fverfahren f r Teilprodukte der einzelnen Entwicklungsphasen eingesetzt werden k nnen Als wichtiger Aspekt gilt dabei dass die Kosten f r die Beseitigung eines Fehlers in der Entwicklungsphase um ein vielfa ches geringer sind als wenn der Fehler erst nach der Implementierung entdeckt wird Ehrenberger 2002 S 167 Verfahren mit eindeutigen Aussagen sind e Testende Verfahren Dabei wird eine zu pr fende Software mit definierten Ein gaben Testmengen ausgef hrt und das Verhalten des Pr flings dokumentiert Vorteil dieser dynamischen Testverfahren ist dass das Produkt in seiner realen Umgebung mit Daten getestet wird und daraufhin eindeutige Aussagen ber Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz
38. goto start 2 15 3 linear 1 16 4 IstartD1 linear 3 17 5 goto start 22 6 linear 2 23 7 Istart 2 linear 2 26 8 Sgoto ende 29 9 linear 2 30 10 lende linear 2 33 gt gt n Zeichnen Aut rormen jez A 9 JA SFEBg Abbildung 28 Beispiel eines Excelberichts Kontrollflussgraph einer Komponente Der Bericht eines Kontrollflussgraphen KFG stellt im Kopf die allgemeinen Daten auf der linken Seite den KFG selbst und rechts daneben den Pseudocode der Kom ponente in geblockter Form dar ber dem Pseudocode befinden sich weitere Ele mente die die Funktionalit ten des Berichts erweitern Der KFG bildet den Pseudo code anhand von Symbolen ab Ihre Bedeutung ist e gt Startknoten Eingangsknoten in die Komponente eo linearer Code innerhalb der Komponente entspricht den Teilen Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 2 Bedienung ber das Graphical User Interface GUI am Beispiel einer Softwarepr fung B43 linear in der geblockten Komponente N entspricht einem unbedingten Sprung im Code der Komponente als ggoto im Pseudocode zu finden e gem dem als unbedingter Sprung entspricht es einem bedingten Sprung im Pseudocode wird es daher als gif gekennzeichnet e X Endknoten Ausspr nge a
39. in komplexe Softwaresysteme zu erhal ten und um auf kritische und daher zu pr fende Punkte hingewiesen zu werden Eine automatisierte Codeinspektion kann w hrend des vollst ndigen Produktle benszyklus eingesetzt werden um Qualit tsmetriken zu erzeugen und diese in Be richten zusammengefasst und aufbereitet dem Qualit tsmanagement zur Verf gung zu stellen Wie jedoch h ufig in der Praxis stellt sich die Mischung der manu ellen und automatisierten Inspektionen als effektivste Methode zur Fehlervermei dung und zur Erreichung der besten Softwarequalit t heraus Dumke 1992 S 173 Dumke Winkler 1999 S 173 193 Jacobsen Rey 2000 S 1f 3f 10 Klassifizierung von Softwaremetriken Metriken lassen sich durch ihre Untersuchungsgegenst nde klassifizieren und strukturieren Die gr ten Gebiete der Softwaremessung betreffen die Analyse des eigentlichen Produkts dessen Entwicklungsprozesse und wiederum deren Res sourcen e Softwareressourcen Der f r einen Entwicklungsprozess ben tigte Input sind die Ressourcen die f r diesen bereitgestellt werden Dies k nnen bei spielsweise Verfahren Werkzeuge Standards und Designregeln Hardware Gesch ftsr ume und Personal sein e Softwareprozess Die Metriken zur Untersuchung eines Softwareprozesses analysieren Aktivit ten und Teilprozesse die mit der Softwareentwicklung als solche im Zusammenhang stehen Dabei zu quantifizierende Ansatz punkte sind zum Beispiel die Erstellung der Spe
40. selbst ablauff higen Programm compilieren Born 1999 S XV 59 Folgend werden exemplarisch einige Aspekte hinsichtlich einer VBA Realisierung aufgef hrt welche eine VBA Implementierung bef rworten e Durch den Ausbau der PC Arbeitsplatz und Software Infrastruktur im BIA ist ein hoher Verbreitungsgrad von Microsoft Office Anwendungen gew hrleistet Die Individualsoftware k nnte somit ohne zus tzlichen In stallationsaufwand an den Arbeitspl tzen der BIA Gutachter installiert werden Plattformunabh ngigkeit wie sie beispielsweise durch die Pro grammiersprache Java geleistet wird ist durch den weitreichenden Einsatz von Microsoftanwendungen auf Clientarbeitspl tzen im BIA kein Musskrite rium zur Auswahl einer Programmiertechnologie Daher wird dieses Kriteri um f r weitere Betrachtungen unrelevant und nicht n her beleuchtet e Weiterentwicklungen ben tigen ebenfalls keine zus tzlichen Installationen sondern k nnen anhand der in der Office Applikation integrierten Ent wicklungsumgebung durchgef hrt werden e Da es sich um eine Skriptsprache handelt ist sie selbst f r Unerfahrene schnell und intuitiv erlernbar so dass die Verwendung von VBA schnell zu L sungsans tzen und Implementierungen f hrt Dar ber hinaus ist festzu halten dass VB im BIA sehr verbreitet ist und vielseitig zum Einsatz kommt Die Weiterentwicklung und Wartung einer VBA Applikation kann daher leichter von Entwicklern dur
41. so genannte style oder design guides dem Systementwurf und der Umsetzung Sie verhelfen den Ist Status eines Projekts zu erfassen und k nnen somit als fr hzeitige Indikatoren f r das Qualit ts und Projektmanagement dienen Softwaremetriken k nnen als Ausgangs punkte und Diskussionsgrundlagen in Pr fungen und Abnahmen zwischen Entwick lungsphasen verwendet werden Angewandt ber einen vollst ndigen Produktle benszyklus lassen sich Trends und Fortschritte der einzelnen Produkte beziehungs weise zwischen einzelnen Releases untersuchen und analysieren und somit wieder um als Ansto f r nderungen und Anpassungen verwenden Fenton Pfleeger 1997 S 12f Gilb 1977 S 23 Lewerentz et al 2000 S 66f Neben den Vorteilen und praktischen Anwendungsszenarien von Softwaremessun gen lassen sich ebenso gravierende Probleme mit solchen Kennzahlen festhalten H ufig bereitet die korrekte Interpretation der erzielten Messwerte Probleme so dass die Gefahr besteht die Indikatoren falsch zu werten und entsprechend falsche Ma nahmen einzuleiten Ist dies der Fall wird die Bedeutung und eigentliche Repr sentation der Kennzahlen nicht korrekt und vollst ndig herausgelesen und f hrt zu Verwirrung Eine sorgf ltige Analyse der Messwerte ist daher zwingend erforderlich um nicht falsche R ckschl sse daraus zu ziehen und fehlgeleitet neue Aufgaben im Entwicklungsprozess zu spezifizieren Dumke 1992 S 33f Orci 2001 S 78 S
42. und Eigenschaften sicherer und zuverl ssiger eingebetteter Systeme 22 tierung von Sicherheitsmechanismen sowie deren Integration in das Gesamtprodukt des Systems und die Qualit tssicherungsma nahmen hinzuzuf gen Unterst tzung bieten so genannte Computer Aided Software Engineering CASE Werkzeuge die den Einsatz graphischer Methoden und Modelle im gesamten Entwicklungsprozess erm glichen Hilfreich sind diese Verfahren da sie durch Konsistenzpr fungen zwi schen den einzelnen Entwicklungsphasen die Vollst ndigkeit und Korrektheit der einzelnen Produkte kontrollieren und Abweichungen die zu Fehler f hren k nnten aufdecken Reinert Reu 1991 S 5f Vogel Heuser 2003 S 30f 2 4 Software sicherheitsrelevanter Systeme Software gibt die Verarbeitungsschritte eines programmierbaren Systems vor und ist daher hnlich der Hardware wesentlicher Bestandteil eines solchen Systems Der Entwicklungsprozess sicherheitskritischer Software findet unter besonderen Be trachtungen und Anforderungen bez glich der Qualit t und Korrektheit statt Daher sind dabei eine Reihe von Konventionen zu ber cksichtigen die die Systeme bez g lich der in der Norm DIN ISO 9126 spezifizierten Attribute stabilisieren sollen Bei spielsweise sollten sicherheitskritische Elemente von eben nicht kritischen in der Software gekapselt werden um eine Vermischung beider Bereiche zu vermeiden und Wartungsarbeiten zu erleichtern Im Programmierstil ist zu beach
43. verwendet Funktionen ber GUI ms EA a anlegen und editieren von Projekten verwalten verschiedener Projekte editieren von Projekt Kundendaten verwalten und editieren von zu untersuchenden Quelldateien C zentrale Verwaltung aller anfallenden Daten innerhalb einer Datenbank einlesen konfigurieren und verwalten der Referenzdaten verwalten von Grenzwerten des Qualit tsmodells r berechnen der Metrikep lt E u greift Au X Berichte zu Berichtswesen der berechneten Metriken Kunde und Qualit tskriterien HE miaualeterung Yonpenenen anhand 2 i ennzeichnungen und Yermerken e qarsellen der berechneten Meriken leichte Verteilung der Berichte ber vorhandene Kommunikationskan le Visualisierung und Erstellung Berichts ru 5 shi wesen auf Basis der berechneten Metriken Integration weiterf hrender Funktionalit ten und Dynamik in den Reporten Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 5 Softwaredesign der Neuentwicklung 64 Abbildung 21 Komponentendiagramm Die GUI stellt dem Pr fer alle Funktionen des Analysewerkzeugs zur Verf gung Intern manipulieren die Komponenten Projektverwaltung und Verwaltung Refe renzdaten die Projektdaten die vom Analysewerkzeug getrennt in der zentralen Datensammlung verwaltet werden Die Komponente zur Dars
44. werden Diese werden ebenfalls ber die Komponente Verwaltung Referenzdaten beziehungsweise in der mEtRIKA Applikation Ein stellungen Sprache Dialekt abgebildet Die Berechnung der Metriken beginnt mit deren Ansto im Anschluss an die Konfi guration Eine umfangreiche Beschreibung des daf r implementierten Algorithmus liefert Punkt 6 2 3 2 6 2 3 1 Generierung der Referenzdaten Abbildung 29 zeigt den schematischen Ablauf der initialen Referenzdatenanalyse Nach dem Ansto der Verarbeitung wird innerhalb des GUI Moduls gepr ft ob alle f r diesen Prozess ben tigten Daten vollst ndig und korrekt angelegt sind so dass die Verarbeitung auf sie zugreifen kann Ist dies nicht der Fall wird eine Meldung an den Benutzer generiert und die Verarbeitung gestoppt Sind jedoch alle Daten verf gbar wird die Methode parsenRefdaten aus dem modAs semblerAnalyzer Modul gestartet Innerhalb dieser Funktion werden bereits angelegte Daten die durch den Start der Verarbeitung veralten gel scht und die Analyse der Quelldateien initiiert Die wesentlichsten Bestandteile sind dabei dass alle in einer Quelldatei vorhanden Ausdr cke untersucht und als Referenz datum aufgenommen werden Lassen sich besondere Eigenschaften zu einem Ausdruck feststellen wie beispielsweise dass es der erste innerhalb einer Zeile ist und dahinter ein folgt werden die Ausdr cke in die Klassen Befehl La bel und Parameter
45. wird ein neuer Reiter Bear beiten Einstellungen Programmiersprache sichtbar Dieser Reiter erm glicht die manuelle nderung und Verwaltung der Referenzdaten Eine Liste der angelegten Referenzdaten erm glicht die bersichtliche Darstellung angelegter Referenzdaten Filter und Sortierfunktionen der Liste erleichtern das man vrieren innerhalb der Datens tze Wird ber einen Mausklick ein Datensatz der Liste markiert filtert das Formular nach diesem so dass rechts neben der Liste der Datensatz sichtbar und editierbar wird Ein Doppelklick auf die Liste erlaubt dem Anwender wiederum den Ausdruck im Kontext des Quelltextes ber den SciTE Editor zu betrachten Diese Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 2 Bedienung ber das Graphical User Interface GUI am Beispiel einer Softwarepr fung B32 Funktionalit t soll dem Benutzer die Klassifizierung und Konfiguration des Ausdrucks erleichtern SE B mEtRIKA Analyse sicherheitsrelevanter Software Projekt schliessen Projekt Einlesen Einstellungen Programmiersprache Bearbeiten Einstellungen Programmiersprache Einstellungen Qualit tskriterien l verwaltung r Bearbeiten der Referenzdaten Einstellungen Programmiersprache Dialekt Alle Datens tze Art P Klass m aktueller Datensatz Einstellungen acall Projektdaten add anl
46. 1 trennen Zeichen die zwischen einzelnen Parametern auftauchen k nnen und wei teren Einstellungen die zur Konfiguration des Analysemoduls von mEtRIKA gemacht werden m ssen Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 2 Bedienung ber das Graphical User Interface GUI am Beispiel einer Softwarepr fung B22 ne E mEtRIKA Analyse sicherheitsrelevanter Software Projekt schliessen Einstellungen Projektdaten Projekt Projekt und Kundendaten Projekteinstellungen Assembler Projekt Queiidsteien verwaltung weiterf hrende Projekteigenschaften Kommentar einleitende Zeichen G ltige Zeichen zwischen Parametern bspw Operationen Einstellungen x 5 CENSEENI roikun Ihre Eingabe mEn Ihre Eingabe 0 lt gt A Trennzeichen zwischen Parametern Einstellungen Sprache Dialekt Ihre Eingabe Kennzahlen Kennzeichen Quellcode Quellcode beginnt mit erster Kennzeichnung Kommentar metrika Berielle Kennzeichen Label KersterAusdruckInZeile Kennzeichen Komponenten Start einer Komponente beim ersten Kommentar metrika Abbildung 12 Formular projektspezifische Einstellungen Die Einstellungen zum Kennzeichen Quellcode stehen initial auf Kommen tar metrika was meint dass d
47. 2 5 Merkmale der Hardwarearchitektur kritischer Systeme Eingebettete Systeme liegen h ufig sicherheitskritischen Anwendungen zugrunde so dass die Architektur durch einen alle Komponenten integrierenden Chip be schrieben wird Diese Rechner werden nach ihrer Anwendung einem Safety In tegrity Level SIL der Norm IEC 61508 zugeordnet der sicherheitstechnische An forderungen ausgehend vom potentiellen Schaden durch einen Systemausfall defi niert Dieses so festgelegte Sicherheitsniveau ist bei der Entwicklung des Gesamt systems zu ber cksichtigen und schl gt sich unmittelbar in fehlervermeidenden und fehlerbeherrschenden Ma nahmen des Systems und somit im Engineeringprozess und in der Hardwarearchitektur nieder Durch den vorgegebenen Ma nahmenkata log k nnen sich Anspr che ergeben die mehrkanalige Strukturen erfordern um beim Ausfall eines Moduls ber Redundanzen arbeiten zu k nnen Darauf aufset zend ist der kreuzweise Vergleich bertragener Daten auf redundanten Kan len eine versch rfende Ma nahme Wie man bereits an diesem Beispiel sieht sind die Anfor derungen unmittelbar an Hardwareressourcen gekn pft so dass sie von Beginn an in der Entwicklung einer Anwendung ber cksichtigt und einbezogen werden m s sen Aber nicht nur direkter Hardwareaufwand muss in die Konzeption eines kriti schen Systems integriert werden Sicherheitskritische Systeme erfordern je nach der SIL Einstufung weitere fehlerbeherrschende Ma nahmen au
48. 8 ZU 13 DESSEN ee 9 214 12 Ve Moga nina 9 21 13 Spralm dall EEE 10 2 1 2 Grundbegriffe der Softwareqaualilst nseareaeaene 11 A PEN o E a E E E TN 11 2 1 2 2 Verifikation Und VOldakn ee 11 2 1 2 3 Review Inspektion Walkthrough und Schreibtischpr fung sssssssrsssserrrresens 12 2 2 Softwarequalit t und deren Sicherstellung im EntwicklungSprozess uuesnnerernn 13 23 Aufbau Klassifizierung und Entwicklung kritischer Systeme ensusennnnnennnnnnnnnnn 18 2 4 Software sicherheitsrelevanter Systeme uu 222020200n000n0nnnnnnnnnn ann nnnnn ann ann 22 2 4 1 Programmierkonstrukte in der Sicherheitstechnik rs 02n00200nnnnnnn nn nenn 23 FL BT 23 Er U Re a SEEN ERENTO E E E E E 24 En 1 Bee 25 2 5 Merkmale der Hardwarearchitektur kritischer Systeme zuzus2202u2nn0nnn nn nn nn nenn 25 3 Gew hrleistung von Softwarequalit t anhand von Metriken uensusesnnnnnnnnnnennnn 27 3 1 Entwicklung der Metriken usa 27 N IN m w N N w N w w N AN W N v1 U N e2 Er w ID N e r A N m N a Ww IR In EN aii gt pi D N D D Ww u IU v1 N e w IW gt UI UJ N 01 w w uI D uI D gt 0z Aa N Metriken als Instrument der Qualit tssicherung sssssssssssrrrressrrnressrnrnsenrnnene 28 Automatisierte Softwaremessung nee 28 Klassifizierung von Softwaremetriken sssssssssessrrrssssrnnesennnrnsunnnnesnnnnnnennnnene 29 Ei
49. 9 3 2 5 Metriken nach Halstead Wie bereits im vorigen Abschnitt eingeleitet gehen die linguistischen Metriken nach Halstead auf Mitte der 70er Jahre zur ck Heute geh ren sie mit den Metri ken von McCabe zu den beliebtesten Ma en der Softwaremetrik und finden An wendung in den Softwarelaboren weltweit operierender Konzerne Die Ermittlung der Halstead Metriken basiert auf die statische Analyse der einem Computerpro gramm zugrunde liegenden Quelltexte Halstead definiert die Basisgr en Anzahl der Operatoren und Operanden die unterschiedliche Anzahl von Operatoren und Operanden sowie die Anzahl der Programm und Kommentarzeilen eines Quellco des und leitet alle weiteren Kennzahlen nach diesen ab Operatoren bilden in die sem Zusammenhang alle Codest cke eines Quelltextes die eine Aktion an ihre Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 3 Gew hrleistung von Softwarequalit t anhand von Metriken 36 3 2 6 Ausf hrung koppeln Beispiele hierf r sind Prozessorbefehle arithmetische und lo gische Operationen wie die Addition zweier Zahlen oder die Negierung eines Re gisterwertes Operanden bilden nach Halstead s Definition alle Codeteile die Daten repr sentieren Variablen Konstanten oder direkte Zahlenwerte w rden daher als Operanden gewertet Auf diesen Werten aufsetzend definierte er Metriken f r die Frequenz vo
50. 9 niemals 9 linear 2 4 30 angesprungen 10 lends linear 2 33 Entfernen x Steuerelement Toolbox x Klar mueBBr sl 3 AR Abbildung 30 Beispielwerkzeug Steuerelement Toolbox Markierung Notiz In der obigen Abbildung wird aufgezeigt wie die Officewerkzeuge in den Berichten verwendet werden k nnten Durch einschalten der Entwurfsansicht k nnen Steu erelemente verschoben werden Markierungen k nnten ber Zeichenfunktionen hin zugef gt werden und Notizen als Vermerke f r Kollegen oder Ged chtnisst tzen in Reviews verwendet werden In der bisherigen Implementierung wird die Exceldatei immer wieder erneut er zeugt Existiert bereits eine Datei unter dem Pfad wird sie berschrieben so dass die vorigen Daten verloren gehen Ziel zuk nftiger Entwicklungen soll sein ausge w hlte graphische Darstellungen anhand von Excelbl ttern einem bereits existie renden Excelbericht hinzuzuf gen und lediglich gegebenenfalls existierende Bl tter zu berschreiben Au erdem ist ein weitreichender Ausbau der graphischen Funkti onen und des Berichtswesens geplant um dar ber wichtige Repr sentationsfunkti onalit ten abbilden zu k nnen Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz XII Erkl rung Anhand dieser eidesstattlichen Erkl rung versichere ich die Bachelor Abschlussarbeit entwickl
51. A_FE mdb 21 MEtRIKA _FEBackUp00 mdb Z Via 21 MEtRIKA_BE mdb 21 mEtRIKA_FEBackUIpO1 mdb Diplomand on Dateiname Netzwerkumg Dateityp me tRIKA Projektdateien Abbrechen Abbildung 8 Speichern der Projektdatei Der anschlie ende Klick auf Speichern legt die Projektdatei an und f hrt zur ck zum Hauptformular Ist bereits ein Projekt angelegt dass man ffnen m chte besteht die M glichkeit ber den Button vorhandenes Projekt in Liste aufnehmen einen Projektnamen f r die pers nliche Projektliste zu vergeben und anschlie end die angelegte Projektda Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 2 Bedienung ber das Graphical User Interface GUI am Beispiel einer Softwarepr fung B17 tei ber wiederum einen Datei Dialog durch Auswahl und ffnen in die pers nli che Projektliste aufzunehmen Markiert man einen Eintrag der pers nlichen Projektliste durch einen Mausklick wird eine Art Ampelsystem rechts neben der Liste sichtbar Steht die Ampel auf gr n existiert die Projektdatei unter dem in der Liste hinterlegten Projektpfad Ist dies bei einem Projekt nicht der Fall zeigt die Ampel das rote Licht und l sst einen But ton unter der Ampel erscheinen ber den der Link Pfad zur Projektdatei aktuali siert werden kann Dazu muss lediglich die Projekt
52. GHT Log VOC_SZ Log 2 Potentielles Volumen VS N2 2 Log N2 2 Log 2 Programm Level PR_LVL VS WV Sch tzwert f r Programmlevel DL 2 ni n2 N2 Information Komponente INTELL V DL Programmkomplexit t D 1 PR_LVL Aufwand EFFORT V PR_LVL Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz Anhang 1 In mEtRIKA implementierte Metriken bersicht A2 Fehlerwahrscheinlichkeit N_ERRORS EFFORT 3000 Metriken von McCabe Anzahl weiterer Ausg nge P_NODES Ermittelt metMcCabe Anzahl Ausg nge N_OUT P_NODES 1 Anzahl Eing nge N_IN Ermittelt metBerech nenGlobaleMetriken Anzahl Ein und Ausg nge N_IO N_OUT N_IN Anzahl Knoten N_NODES Ermittelt metMcCabe Anzahl Kanten N_EDGES N_NODES 1 N_JUMPS UNCOND_JUMPS Zyklomatische Zahl VG N_EDGES N_KNOTEN N_IO Kontrollflussdichte C_DENS VG 1 N_NODES Anzahl nicht zyklischer Wege N_PATHS Ermittelt metBerech nenGlobaleMetriken Maximaler Grad MAX_DEG Ermittelt metMcCabe Anzahl verarbeitende Knoten N_SEQ Ermittelt metMcCabe Anzahl Spr nge Verzweigungen N_JUMPS Ermittelt metMcCabe Anzahl undefinierte Spr nge UNDEF_JUMPS Ermittelt metMcCabe Anzahl unbedingte Spr nge UNCOND_JUMPS Ermittelt metMcCabe Anzahl direkt aufgerufene Kom DRCT_CALLS Ermittelt
53. Hardware zur ckgegriffen wird Die ser Umstand sorgt f r die Synthese beider Fachrichtungen zu einem festen Be standteil aller Industriezweige und ist als gemeinsame Disziplin immer weniger aus diesen wegzudenken Verwendung finden Mikrocontroller in Alltagsger ten wie DVD Playern Waschma schinen und Telefonen sowie in komplexen Systemen der Automobil der Luft und Raumfahrttechnik der Anlagensteuerung in Kraftwerken oder der Chemie und Pharmaindustrie Aus Sicht der Anwendungsgebiete betrachtet lassen sich die unterst tzenden Sys teme in sicherheitskritische und nicht sicherheitskritische klassifizieren Ein Merkmal welches diese Klassifizierung unterstreicht ist der Schaden den ein Ausfall der Rechnerunterst tzung verursachen k nnte Tritt ein Fehler in einer B roanwen dung oder einem Mikrocontroller eines Telefons auf ist das rgerlich f hrt aber in der Regel nicht zu einem wesentlichen konomischem Schaden f r ein Unterneh men einer kologischen Katastrophe oder zu Gefahr von Leib und Leben f r Perso nen Demzufolge bezeichnen wir Systeme die zur Unterst tzung kritischer Anwen dungen verwendet werden wie ein Bremssystem eines Automobils als sicherheits relevante beziehungsweise kritische Systeme Dar ber hinaus ist es m glich die Software solcher Systeme weiterf hrend in zwei Klassen aufzuteilen Prim r sicher heitskritische Software wird direkt in zentralen Steuereinheiten kritischer Systeme
54. IKA Krell ermittelt e Anzahl der Operatoren N1 12 21 e Anzahl der Operanden N2 17 17 e Anzahl der verschiedenen Operatoren n1 9 10 e Anzahl der verschiedenen Operanden n2 12 12 e Anzahl der Kommentarzeilen N_COM 10 10 e Anzahl der Programmzeilen N_INST 12 11 Die von Krell beziehungsweise LOGISCOPE und von mEtRIKA ermittelten Kenn zahlen weisen in diesem Beispiel nur wenige Differenzen auf Lediglich die Metrik der Operatoren weicht im Kontext zu umfangreicheren Komponenten verst rkt ab Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 6 Umsetzung des Softwaredesign mEtRIKA 90 Die Z hlweise die LOGISCOPE dabei verwendet ist unklar und kann daher nicht deutlich gegen ber der mEtRIKA Z hlweise abgegrenzt werden 7 Code in Editor betrachten EN EW E EEE I Kantenz ge fixieren KFG strecken stauchen Geblockte Komponente IACC_TEST linear 3 45 IACC_1 linear 1 6 SEACC ZH goto ACC _1 8 IACC_2 linear 1 9 Si ACC_ERR 10 goto ACC_ENDE 1 IACC_ERR linear 1 12 goto ACC_ERR 13 10 IACC_ENDE 14 11 goto mEtRIKA_RETURN 14 gt O0 NDA A UW N x Abbildung 40 Untersuchungsgegenstand ACC_TEST KFG Die Berechnung der McCabe Metriken gestaltet sich im Vergleich zur Generierung der Halstead Metriken aufw
55. In der Implementierung wird die Komponente Projektverwaltung ber zwei Funkti onsbl cke umgesetzt Einerseits die Projektverwaltung und zum anderen die Einstellungen Projektdaten ber die Projektverwaltung wird die Verkn pfung des Frontend mEtRIKA mit der Projektdatei die das Backend bildet realisiert Hier ber hat der Anwender die M glichkeit mehrere Projektdateien in Form einer pers nlichen Liste zu verwalten und ein ausgew hltes Projekt zur Bearbeitung zu ffnen Existiert noch kein zu bearbeitendes Projekt kann er ein neues erzeugen welches dann selbstst ndig der pers nlichen Projektliste hinzugef gt wird Bei der Generierung eines Projekts ist dessen Typ festzulegen welcher es als Assembler beziehungsweise C Projekt in der sp teren Verarbeitung identifiziert Mit dem ff nen des Projekts werden die Tabellen des Backend als Verkn pfung dem Frontend hinzugef gt und Bestandteil dessen hipkennzeichenKomponente hipKkennzeichenLabel hipKennzeichenQuellcode hiprRefdatenklassifikation komponenten komponentenGeblockt komponentenListeNPNodes komponentenMehrfachGeblockt komponentenOperanden komponentenOperatoren persProjektliste projektdaten projektdatenSpezifischKlasse quelldateien refdaten tmpQuelldatei hneTextmarke tmpRefdatenFehlerliste Abbildung 28 Microsoft Access GUI gelinkte Tabellen Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien siche
56. O Fachhochschule Bonn Rhein Sieg University of Applied Sciences Fachbereich Informatik Department of Computer Science Abschlussarbeit im Bachelor Studiengang Entwicklung eines Analysewerkzeugs zur Ermitt lung von Metriken und Qualit tskriterien sicher heitsrelevanter Software im Maschinenschutz von Christian Staron Erstbetreuer Prof Dr rer nat D Reinert Zweitbetreuer Prof Dr Ing N Jung Eingereicht am 27 Juli 2004 II Inhaltsverzeichnis Mno nts ye zee MOG saia AEAEE II lsleil al Wit 2uee l 6 211 BONERERBRESENEREDEDEREEERENEHERERENEEEREUEN naa Enara EEN i ina V ADKUFZUNG SVEZE S een VII BERN ZUDSIETFEIENNE ee VII 1 EINST E T 1 1 1 Rahmen und Ziele der Arbeit 22022000200020000n000n0nnnnnn ann nn nun nnnnnnn nn nun Hanne 1 12 Aufbau eingebetteter Systeme ua ae 1 1 3 Einsatz eingebetteter Systeme in Industrie und sicherheitsrelevanten Bereichen En N En EEE NEAR 2 1 4 Anforderungen an kritische Systeme und Spezifizierung derer anhand einer BERSEINSRURING ee 4 1 5 Systemanforderungen sicherheitskritischer Systeme ennusunnnnnnnnnnnnnnnnnnnnnnnen nen 5 2 Designmethodik und Eigenschaften sicherer und zuverl ssiger eingebetteter 2 2 10 1 MOSER NEE REREERE HECBLER ER DELNEFERSLIR RSERLNE DER ALGE A SER EEERNEEL SEELEN 8 24 Der Prozess der Softwareentwicklung ee 8 2 1 1 Vorgehensmodelle der Softwareentwicklung ssssssssssssssessnessrrsnrnennnrnnnnnennennn
57. RIKA B10 1 3 4 1 3 5 Kennzahlen Wurden alle Einstellungen zu den Spracheeigenschaften vollst ndig erledigt k n nen die Metriken berechnet werden Die Ergebnisse dieser Berechnungen werden unter dem Formular der Kennzahlen ersichtlich und nutzbar Eine Liste der Kom ponenten die die zu pr fende Software aufweist unterst tzt die Navigation in dem Formular Der Kopf des Unterformulars zeigt welche Komponente gerade ausgew hlt wurde und welche Metriken dazu angezeigt werden Dar ber hinaus lassen sich unter dem Reiter Qualit tskriterien die globalen Werte zu einer Kompo nente anzeigen Darstellung Um die Metriken nicht ausschlie lich in Zahlenkolonnen auswerten zu m ssen las sen sie sich in Graphiken visualisieren Unter der letzten Rubrik Darstellung k nnen erfolgreich generierte Metriken in Microsoft Excel 2002 Bl ttern als Kontrollfluss graphen dargestellt werden Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 2 Bedienung ber das Graphical User Interface GUI am Beispiel einer Softwarepr fung Bil 2 Bedienung ber das Graphical User Interface GUI am Beispiel einer Softwarepr fung Um die Nutzung der Anwendung zu erl utern wird Schritt f r Schritt die Applikation an einem Beispiel einer Softwarepr fung aufgezeigt Dabei zu ber cksichtigende Verfahrensschritte werden anhand von Abbildungen und ent
58. alstead der mit seinen Ver ffentlichungen Mitte der 70er Jahre Vorreiter auf diesem Gebiet war Der Sektor der strukturellen Metriken wurde ebenso Mitte der 70er Jahre von McCabe erschlossen Er ist Vater der zyklomatischen Komplexit t welche in der zyklomatischen Zahl ausgedr ckt wird Auch bekannt als logische Strukturmet riken setzen sie auf den Kontrollfluss innerhalb eines Programms auf und be schreiben in welcher Sequenz Programminstruktionen abgearbeitet werden Durch diese Art der Untersuchung werden Schleifenstrukturen und daraus resultierend der Programmfluss eines Produkts beschrieben Graphisch k nnen die Kontroll flussstrukturen als gerichtete Graphen Kontrollflussgraphen dargestellt werden Hybride Metriken also diese die beide Aspekte der linguistischen Spracheigen schaften einer verwendeten Programmiersprache und die logische Struktur eines Programms betrachten wurden von Henry und Kafura entwickelt Ihre Informati onsflussmetriken kombinieren die Strukturmetriken und die Messungen zum syn taktischen Aufbau Daneben existieren Metriken die an dieser Stelle keine wesentliche Rolle spielen und daher lediglich kurz aufgegriffen werden Zu ihnen geh ren Datenstruktur metriken die die Lebenszeit und Referenzen von im Programm verwendeten Vari ablen analysieren und so genannte Stilmetriken die Quelltexte auf den verwen deten Programmiierstil bez glich Einr cktiefe etc untersuchen Au erdem werden Ans tze zur Pr
59. alysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz VIII Literaturverzeichnis Balzert 2000 Balzert H Lehrbuch der Software Technik Software Entwicklung 2 Auflage Spektrum Akademischer Verlag Berlin Heidelberg 2000 Balzert 1998 Balzert H Lehrbuch der Software Technik Software Management Software Qualit tssicherung Unterneh mensmodellierung Spektrum Akademischer Verlag Berlin Heidelberg 1998 B mer et al 1998 B mer T B llesbach K H Gnedina A Grigulewitsch W Reinert D Reu G Schaefer M Programmierregeln f r die Erstellung von Software f r Steuerungen mit Sicher heitsaufgaben Wirtschaftsverlag NM Verlag f r neue Wis senschaft GmbH Berlin Dortmund 1998 Born 1999 Born G Microsoft Office 2000 Programmierung Grundla gen Beispiele L sungen Microsoft Press Deutschland Un terschlei heim 1999 Consolini 2001 Consolini L Perspectives Introduction to the Subject Do main Software Quality Approaches Testing Verification and Validation Software Best Practise 1 S 33 Springer Verlag Berlin Heidelberg 2001 DGQ 1992 Deutsche Gesellschaft f r Qualit t e V Ffm Hrsg Metho den und Verfahren der Software Qualit tssicherung Beuth Verlag GmbH Berlin 1992 Dumke 1992 Dumke R Softwareentwicklung nach Ma Sch tzen Mes sen Bewerten Friedrich Vieweg
60. arstellung Projekt Graphische Darstellung Reporting Berichtswesen verwaltung a r Einstellungen global Det amp i f r graphische Darstellungen Einstellungen C Programme mEtRIKA GraphikTestprojekt xls Projektdaten Einstellungen Bafstellungen Komponenten Sprache Dialekt ontrollflussgraphen der Komponenten Kennzahlen Excel ge ffnet Darstellung r Darstellungen Global lassen M Graphiken ansehen P m N Abbildung 26 Formular Darstellung Welche Darstellungen generiert werden sollen ist ber die Einstellungen im Formu lar graphische Darstellung zu steuern Zentrale Einstellungen betreffen die Excel datei in die die Graphiken erzeugt werden sollen ber den Verzeichnis Button ist der Pfad f r die zu generierende Exceldatei anzupassen Welche Visualisierungen erzeugt werden sollen ist ber Kontrollk stchen auszuw hlen Ist mindestens ein Punkt ausgew hlt kann die Verarbeitung durch Klick auf die Schaltfl che Graphiken erstellen gestartet werden Mit dem dar ber befindlichen Kontrollk stchen l sst sich steuern ob die Excel Applikation nach der Generierung ge ffnet bleiben soll Ist die Exceldatei erzeugt und die Darstellung gerade nicht sichtbar l sst sich die Exceldatei durch Ausf hren des Buttons Graphiken ansehen ffnen Die Dauer die mEtRIKA zum Generieren der Excelberichte ben tigt ist wie die Dauer der
61. chgef hrt werden als unter Verwendung eines Sprachkonzepts welches in einem ersten Schritt die Einarbeitung von Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 5 Softwaredesign der Neuentwicklung 67 Entwicklern erfordert Ferner ist ebenso nicht zu vernachl ssigen dass beim Erstentwickler weitreichende Kenntnisse bez glich VBA vorherrschen die die Prototypenentwicklung vereinfachen e Durch eine Umsetzung auf Basis von Microsoft Access k nnen umfangrei che GUI Entwicklungswerkzeuge und eine komfortable Implementierung der Verarbeitungslogik genutzt werden Dar ber hinaus erm glicht Access eine einfache Anbindung an Datenbankmanagementsysteme wahlweise ber einen SQL Dialekt oder spezielle VBA Kommandos Diese Trennung der Fachlogik und der Datenhaltung erm glicht die erforderliche zweistufi ge Client Server Struktur mit einem Fat Client als Frontend und einer Datenbank als Backend e Microsoft Access stellt ein Datenbankmanagementsystem mit darunter lie gender relationaler Datenbank zur Verf gung ber dieses kann die Pro jektdatei mit der zentralen Datenhaltung umgesetzt werden W rden die Anforderungen zuk nftig an die Datenbank steigen so dass viele tausend Datens tze verwaltet werden m ssten und die Access Datenbank nicht ausreichend Potential aufweist kann durch die zweischichtige Anwen d
62. chung und Zertifizierung von Pro dukten und Stoffen Beratungsfunktionen und Mitwirkung bei Normungen Im Zu sammenhang mit der Zertifizierung von Software ist der Fachbereich 5 Unfallver h tung Produktsicherheit zust ndig Die Referate Neue Technologien Mensch und Technik und Schutz und Steuereinrichtungen arbeiten diesbez glich mit gewerblichen Betrieben in der Produktentwicklung zusammen H ufig zu findende Beispielanwendungen sind Steuerungen an Maschinen und Anlagen sowie Sicher heitseinrichtungen wie Lichtschranken und gitter zum Personenschutz HVBG 2004 4 1 2 Der Zertifizierungsprozess im BIA Um Fehlern im Entwicklungsprozess und Gesamtprodukt vorzubeugen wird h ufig die Zusammenarbeit mit Pr f und Zertifizierungsstellen als beratende Instanzen und externen Gutachtern gesucht Dabei steht die offene Kooperation und Kom munikation im Vordergrund da sie die normkonforme Produktentwicklung und qualit t erm glicht Auf diesem Weg sichert sich der Hersteller ab keine weitrei Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 4 Softwarepr fung und Anforderungen an dabei verwendete Softwarewerkzeuge 41 chenden nderungen zu einem fortgeschrittenen Zeitpunkt am Produkt umsetzen zu m ssen und erm glicht der pr fenden Instanz eine entwicklungsbegleitende Pr fung ber den gesamten Produktlebenszyklus hinw
63. d Interpretationsweise der Implementierung darzustellen wird sie folgend an einem Beispiel Assemblercode aufgezeigt Testgegenstand ist eine Codesequenz die aus einem im BIA entwickelten CPU Test stammt und in diesem Kontext eine Teilkomponente darstellt Der CPU Test wurde von Mario Mai entwi ckelt und umfasst in seiner vollst ndigen Version mehrere hundert Einzelkompo nenten Die ausgew hlte Komponente ACC_TEST dient im Rahmen der Prozes sortests zur Pr fung des Akkumulators anhand einer wandernden 1 Anhand des Codebeispiels wird folgend verdeutlicht wie sich die wesentlichsten Ba siskennzahlen f r die Berechnung der Gesamtmetriken zusammensetzen und aus dem Pr fling herleiten lassen Dar ber hinaus wurde mEtRIKA mit bereits zertifi zierten Industrieanwendungen getestet und die Ergebnisse mit denen von Krell Krell 2003 Ermittelten verglichen hec_TEst CLR C MOY R1 08 MOY A 01 ACC_1 RLE A Jet Acc_2 DINZ Ri ACC_1 ACC_2 DEC Ri CINE R1 00h ACC_ERR SIMP ACC_ENDE ACC_ERR MOY FEHLER FEHLER_ SIMP ACC_ERR ACC_ENDE RET Abbildung 39 Untersuchungsgegenstand ACC_TEST Quellcode Zur Analyse des Quellcodes wurden in einem ersten Schritt die Referenzdaten an gelegt und konfiguriert Die mit gr n markierten Ausdr cke entsprechen den La bels des Codes Stehen sie hinter einem Befehl gelten sie als Parameter und wer Entwicklung eines Analysewerkzeugs zur Ermittlung vo
64. datei ber den Datei Dialog gesucht und ge ffnet werden Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 2 Bedienung ber das Graphical User Interface GUI am Beispiel einer Softwarepr fung B18 3 mEtRIKA Analyse sicherheitsrelevanter Software Projekt schliessen Projektyerwaltung Projekt r pers nliche Projektliste verwaltung ins neues Projekt Status Link erzeugen vorhandenes Projekt in Liste aufnehmen Projekt aus Liste Kennzahlen ausgew hltes Projekt ffnen Darstellung o Berufs haftlich erh dal Abbildung 9 Ampelsystem und aktualisieren des Projektpfads Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 2 Bedienung ber das Graphical User Interface GUI am Beispiel einer Softwarepr fung B19 Pfad Projektdatei aktualisieren Suchen in Data af Deskto Eigene Dateien Diplomand on ee a Dateiname v Netzwerkumg Dateityp me tRIKA Projektdateien Abbrechen Abbildung 10 Dateidialog zur Aktualisierung des Projektpfads Wird der Link nicht aktualisiert kann die Projektdatei nicht mit dem Frontend ver kn pfen werden so dass die Bearbeitung dieses Projekts nicht fortgef hrt werden kann Dieses Elemen
65. de Hilfsmittel Eine Definition des Qualit tsmanagements mit einer vollst ndigen Liste der dazugeh rigen T tigkeiten liefert die Norm DIN EN ISO 8402 Balzert 1998 S 278 Gem den Herleitungen von Qualit tsmerkmalen f r sicherheitskritische Sys Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 2 Designmethodik und Eigenschaften sicherer und zuverl ssiger eingebetteter Systeme 15 teme aus Kapitel 1 4 und 1 5 spezifiziert die Norm DIN ISO 9126 diese und weiter f hrende Qualit tseigenschaften von Softwareprodukten Weitere dabei ber cksich tigte Attribute sind Balzert 2000 S 1102f e Funktionalit t unter Ber cksichtigung der Richtigkeit Angemessenheit Intero perabilit t Ordnungsm igkeit und Sicherheit e Zuverl ssigkeit Reife Stabilit t Fehlertoleranz und Wiederherstellbarkeit von betroffenen Daten und des Leistungsniveaus unter Betrachtung der ben tigten Zeit und des Aufwands e Benutzbarkeit e Effizienz unter Betrachtung des Zeit und Verbrauchsverhaltens von Ressour cen e nderbar Wartbar und Modifizierbarkeit bez glich Aufwand von Korrekturen Verbesserungen oder Anpassungen unter Ber cksichtigung der Analysier und Pr fbarkeit e bertragbar und Portierbarkeit zwischen Systemplattformen und Systemum gebungen Die Ergebnisse der einzelnen Parameter beschreiben die Qualit t der Software und erm
66. delle weiterentwickelt In einem ersten Schritt galt es dabei die implementierten Metrikkonzepte von Halstead und McCabe zu untersuchen und deren Realisierung in LOGISCOPE zu pr fen Als Untersuchungsgegenstand wurden dabei Assemblercodes gew hlt Sie erschienen als geeignete Pr fgrundlage da sie nach wie vor sehr h u fig zur Programmierung von Sicherheitseinrichtungen an Industrieanlagen verwen det werden und entsprechend oft Gegenstand von Zertifizierungen des BIA sind Die Analyseergebnisse von LOGISCOPE wurden dabei mit den Beschreibungen der Metriken aus den Handb chern gepr ft und deren Aussagekraft festgestellt und bewertet Ausgehend von den Metriken wurden die Qualit tskriterien als Faktoren des Qualit tsmodells aus Kapitel 3 2 3 und die daraus wiederum resultierende glo bale Qualit t des Gesamtprodukts untersucht und bewertet Die dabei entstandenen Resultate er rtern Schwachstellen der Metriken selbst und in deren Implementierung so dass sie als Grundlage f r Weiterentwicklungen der Konzepte dienten Um einen direkten Vergleich zwischen den in LOGISCOPE imple mentierten und von Krell weiterentwickelten Metriken darstellen zu k nnen wurde ein Werkzeug EXPORT basierend auf Visual Basic und Microsoft Excel 2000 entwi ckelt Es erm glicht die Ergebnisse der LOGISCOPE Analysen in ein Exceldoku ment einzulesen und die von Krell weiterentwickelten Kennzahlen aufsetzend auf den Basisma en von Halstead und McCabe zu berech
67. e Zeile einen Knoten im Kontrollflussgraphen repr sentiert Um die Anzahl der verarbeitenden Knoten zu ermitteln werden alle Knoten der geblockten Kompo nente betrachtet die Instruktionen beinhalten Besteht ein Knoten lediglich aus ei nem Label wie es beim Knoten 10 der Fall ist wird dieser nicht als verarbeitender Knoten gewertet Die Metrik bez glich der Spr nge und Verzweigungen im Kon trollflussgraphen baut ebenfalls auf die Werte der geblockten Komponente auf We sentlich sind dabei die Marken der Knoten die ein 8 enthalten da diese bedingte und unbedingte Spr nge darstellen Ist eine Sprungmarke nicht im Kontext der be trachteten Komponente bekannt wird dieser Sprung als undefiniert gewertet Die Kennzahlen zur Anzahl der Kanten und zur zyklomatischen Zahl werden beim Analy sevorgang nicht ermittelt sondern aus den Grundmetriken arithmetischen berech net Dennoch sind sie Bestandteil der Aufstellung da sie wichtige Metriken im Zu sammenhang zu den Strukturmetriken darstellen Beim Vergleich umfangreicherer Komponenten sind Abweichungen insbesondere bei den Metriken Anzahl der Knoten und Anzahl der Spr nge aufgetreten Bei Berech nung der Knoten ist eine abweichende Art der Blockung in der LOGISCOPE Implementierung bei Erstellung des Pseudocodes die Ursache Demnach variieren die Knoten um bis zu vier Einheiten bei den Tests Die Anzahl der Spr nge ist im A nalysevorgang stark von den Befehlsklass
68. e allgemeine Gefahrenanalyse auf eine speziellere Form die Gef hrdungsanalyse Schritt f r Schritt werden dabei die Gefahren und ihre Ursachen ermittelt die davon ausgehenden Risiken analysiert und daraus resultierend die Gefahren klassifiziert wonach Ma nahmen zur Risikominimierung wie auch in Kapitel 1 4 betrachtet entwickelt werden k nnen Um die Gefahrenanalyse durchf hren zu k nnen wird h ufig die leicht verst ndliche Fehlerbaumanalyse verwendet Sie geht vom eintre tenden Schaden aus und wird bis auf Bauteilebene heruntergebrochen um zu er kennen durch welche Ursachen ein Schaden eintreten kann Sommerville 2003 S 390f Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 2 Designmethodik und Eigenschaften sicherer und zuverl ssiger eingebetteter Systeme 8 2 Designmethodik und Eigenschaften sicherer und zuverl ssiger ein gebetteter Systeme Der Entwurf sicherheitsrelevanter Systeme stellt wichtige Richtlinien um die in den vorigen Abschnitten beschriebenen Systemanforderungen zu realisieren und wird da her stets in diesem Kontext betrachtet 2 1 Der Prozess der Softwareentwicklung Softwareengineering l sst sich durch seine sechs Phasen Anforderungsanalyse Spezifikation Entwurf Implementierung Test Integration Betrieb und nde rung Wartung beschreiben Das Ziel ist eine Software zu entwickeln deren Design in der Ent
69. e im Maschinenschutz 3 Gew hrleistung von Softwarequalit t anhand von Metriken 27 3 Gew hrleistung von Softwarequalit t anhand von Metriken 3 1 Entwicklung der Metriken In vielen Naturwissenschaften ist Messen ein wichtiges Verfahren um die Funkti onsweise von Theorien und Methoden zu belegen und zu untermauern Dumke 1992 S 33f Wie in Kapitel 2 2 erl utert geh ren analytische Verfahren zu den g ngigen Methoden die Qualit t einer Software einzusch tzen und zu beurteilen Die Sicht auf das Produkt und seinen Entwicklungsprozess lassen viele Ans tze der Qualit tspr fung zu Historisch betrachtet wurde die Messung von Hardwarebauteileigenschaften vor der Messung von Softwareattributen entwickelt und angewandt um Komponentenzu verl ssigkeit zu berpr fen Eine bis heute weit verbreitete Hardwaremetrik ist Mean Time to Failure MTTF die eine Aussage dar ber trifft wie lange die durchschnittliche Funktionsdauer eines Hardwarebauteils ist Sommerville 2003 S 383 Seit Mitte der 70er Jahre steigt die Bedeutung der Softwaremessung im Software entwicklungsprozess stetig an so dass sie eine g ngige Methode geworden ist Um fang und Funktion von Softwareprodukten zu quantifizieren und zu messen In den 80er und 90er Jahren wurden die Softwaremetriken um die Messung einzelner Softwarekomponenten ergo kleineren Teilen des Gesamtprodukts und um die Mes sung des Entwicklungsprozesses erweitert um deren Effizienz und
70. ebnisdaten sammeln von in den Quelldaten enthaltenen Referenzdaten und editieren der Refdaten durch den Benutzer Abbildung 6 Ablauf einer Softwarepr fung Wird die Applikation zum ersten Mal gestartet befindet sich der Anwender im Hauptformular gem Abbildung 2 2 3 Erste Schritte in der Projektverwaltung Um eine Softwarepr fung durchzuf hren muss als erstes eine Projektdatei f r die bei der Pr fung anfallenden Daten lokal oder auf einem Rechner im Netzwerk an gelegt werden ber neues Projekt erzeugen ffnet sich ein Dialogfenster in dem man einen Projektnamen eintragen und den Projekttyp ausw hlen kann Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 2 Bedienung ber das Graphical User Interface GUI am Beispiel einer Softwarepr fung B16 H Projekt anlegen Erzeugen einer Projektdatei Projektnme Projekttyp Assembler Projekt erzeugen Dialog schliessen Abbildung 7 Dialog Projekt anlegen Der Button Projekt erzeugen ffnet einen Datei Dialog anhand dessen der Be nutzer zum Speicherort navigiert und den Dateinamen f r die Projektdatei angibt Bitte geben Sie den Pfad der neu zu erzeugenden Projektdatei an _J BIADiagramme 21 Testprojekt mdb Verlauf L Entwicklung_mEtRIKA H __JEntwicklungAuslieferungstool f __ Pr fprojekte Desktop j Eigene Dateien 21 mEtRIK
71. eck wird im BIA die Anwendung LOGISCOPE der Firma VERILOG eingesetzt Sie ist ein Analyse und Bewertungswerkzeug das Software bez glich seiner Komplexit t im Aufbau und herunter gebrochen auf In struktionsniveau untersucht Wesentliche Einsatzgebiete von LOGISCOPE sind die Softwareentwicklungen f r die Einsatzbereiche der Telekommunikations Luft und Raumfahrt und Kernkraftindustrie Eine aktuelle Weiterentwicklung der Applikation LOGISCOPE wird in Form der Anwendung Telelogic TAU Logiscope auf dem Markt f r Unix und Microsoft Windows Plattformen angeboten In der im BIA eingesetzten LOGISCOPE Version werden die Softwaremessungen nach den Halstead und McCabe Metriken umgesetzt und k nnen anhand ver schiedener graphischer Darstellungen visualisiert werden Die Repr sentation von Programmstrukturen wird ber Kontrollflussgraphen KFG Kapitel 3 2 4 Abbildung 9 die auf die Metriken von McCabe aufsetzen erm glicht Weitere Darstellungs formen bilden die Kiviatgraphen und die Call Graphen Abbildung 9 Beispiel eines Kontrollflussgraphen in LOGISCOPE Erstere stellen die Einzelmetriken Abbildung 10 und darauf aufsetzend die Quali t tskriterien auf Komponentenebene anhand vier Quadranten dar Abbildung 11 Wesentliche Bestandteile des Kiviatgraphen sind der u ere und innere Kreis die jeweils die Ober und Untergrenze der Einzelmetriken bez glich des Qualit tsmo Entwicklung eines Analysewerk
72. eg Bei der Kooperation ar beiten beide Instanzen von der ersten Phase der Entwicklung an gemeinsam am Produkt Teilprodukte der einzelnen Phasen werden dabei vom Hersteller an die pr fende Organisation gegeben um diese abnehmen zu k nnen Am Beispiel hei t das dass fr hzeitig Lastenhefte des Produkts von Pr fern der zertifizierenden Or ganisation analysiert werden bevor der Hersteller darauf aufsetzend Pflichtenheft und Produktdesign entwickelt Werden die Teilprodukte von der Pr fstelle zertifi ziert bilden sie die Grundlage f r weitere Entwicklungen Bei den Pr fungen durch Aussch sse die sich aus Gutachtern einer Zertifizierungsinstanz zusammensetzen wird vornehmlich die bereinstimmung der Folgeprodukte mit der anf nglichen Spezifikation und die konsequente Umsetzung der Sicherheitsauflagen die zur Zertifizierung des Produkts n tig sind berpr ft Ist der Entwurf konform den spe zifizierten Anforderungen wird seitens des Herstellers der Prototyp entwickelt wel cher zum Testobjekt der Zertifizierungsstelle wird An ihm werden systematisch zuvor spezifizierte Tests durchgef hrt Sind diese erfolgreich werden darauf auf setzend auf einem Serienmodell Umgebungstests und im letzten Schritt Akzep tanztests vollzogen Gem den Pr fungen werden Pr fberichte erstellt die die Ergebnisse dokumentieren und bei einer positiven Pr fung zur Zertifizierung des Produkts f hren Handelt es sich bei dem Pr fling um ein Softwarepr
73. eht Programme schnell kryptisch und schlecht wartbar zu entwickeln Daher sind bereink nfte im Programmierstil bei C Entwicklungen unerl sslich f r die Transparenz der Quellcodes Dabei sollte ebenso besonders im Hinblick auf sicherheitskritische Anwendungen von der unn tigen Verwendung von zu Fehlern f hrenden Me thoden abgesehen werden Die Anwendung von Zeigern in der Xx ten Ebene er ffnet beispielsweise elegante aber h ufig schwer durchschaubare und daher potentiell gef hrliche L sungsm glichkeiten B mer et al 1998 S 233f 240 244 Sommerville 2003 S 298 Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 2 Designmethodik und Eigenschaften sicherer und zuverl ssiger eingebetteter Systeme 25 2 4 1 3 ADA Eine speziell zur Unterst tzung maschinennaher Anwendungen wie Steuerungen und weitreichende Automatisierungen entwickelte Programmiersprache ist ADA Sie entstand aus der explosionsartigen Nachfrage nach eingebetteten Anwen dungen die immer komplexere und umfangreichere Aufgaben bernehmen soll ten Als direkter Nachfahre der Programmiersprache PASCAL bernimmt sie gro Be Teile daraus und erg nzt die Aspekte der Ausnahmebehandlungen Parallel verarbeitung von Prozessen und der dazugeh rigen Synchronisation sowie Echt zeitkontrolle B mer et al 1998 S 149f 154 Sommerville 2003 S 298
74. einflussen Ein stellungen sind hierbei Instruktion ignorieren Instruktion analysieren oder bei Sprungbefehlen beispielsweise Sprung von Bedingung abh ngig oder unbe dingter Sprung Ist ein Befehl als Sprung klassifiziert ist es n tig eine Position Sprungmarke gt null zu vergeben da ber diese Einstellung f r das Analysemodul ersichtlich wird an welche Stelle ein Sprung bedingt oder unbedingt verzweigt Um nach Generierung und Berechnung der Metriken zu diesen entsprechend des Qualit tsmodells Qualit tskriterien berechnen zu k nnen werden unter dem Reiter Qualit tskriterien die Grenzwerte der Einzelmetriken konfiguriert nderungen wir ken sich unmittelbar auf die Darstellung der Metriken und die Berechnung der glo balen Kriterien aus Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 2 Bedienung ber das Graphical User Interface GUI am Beispiel einer Softwarepr fung B34 B mEtRIKA Analyse sicherheitsrelevanter Software Einstellungen Programmiersprache Dialekt Projekt Einlesen Einstellungen Programmiersprache Bearbeiten Einstellungen Programmiersprache Einstellungen Qualit tskriterien verwaltung Einstellen der Grenzwerte f r die Metriken Einstellungen Programmzeilen Obergr Information Komponente Obergr 1255 98 Projektdaten Untergr Untergr 4 75 Frequenz Kom
75. eitumgebung w hrend der Verarbeitung interpretiert und ausgef hrt Dies bedingt dass zum Ablauf eines VBA Programms die Laufzeitumgebung auf dem System installiert sein muss Beispielsweise w rde eine Office Anwendung die Laufzeitumgebung stellen in der dann der VBA Code verarbeitet und ausgef hrt Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 5 Softwaredesign der Neuentwicklung 66 wird Die dabei n tige Interpretation der in VBA verwendeten Instruktionen zur Laufzeit beschr nkt eine VBA Anwendung hinsichtlich seiner Performanz gegen ber einem compilierten Programm Dennoch beinhaltet VBA Vorteile die von an deren Programmiersprachen h ufig nicht erf llt werden k nnen Durch die hohe Verbreitung von Microsoft Office Produkten kann VBA vielseitig eingebunden werden und ist inzwischen zu einem etablierten Standard in der Softwareentwick lung kleiner B roapplikationen geworden Die Entwicklung von VBA Programmen ben tigt dar ber hinaus keinerlei weitere Installationen auf dem Rechnersystem da viele der Office Anwendungen VBA und die dazugeh rige Entwicklungsumge bung integrieren Besteht der Bedarf eine bessere Performanz einer VBA Appli kationen zu erzielen oder VBA Programme ohne Office Anwendungen als Lauf zeitumgebung ablaufen zu lassen l sst sich der Code in VB bertragen und daraus zu einem
76. elle T tigkeit Beschreibung der Fkt maschinelle T tigkeit Lebensdauer eines Datenobjekts f hrt zu Zeitachse amp erzeugt Datenobjekt gehen beschreibt Abbildung 5 Legende Ablaufdiagramm einer Softwarepr fung Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 2 Bedienung ber das Graphical User Interface GUI am Beispiel einer Softwarepr fung B14 Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 2 Bedienung ber das Graphical User Interface GUI am Beispiel einer Softwarepr fung B15 Ereignis Funktion Datenobjekt Quelltexte i l u BR ERNES OESE ni Start der Eo RE IRRE I Softwarepr fung p l Erstellen der A f l Projektdaten t Projektdaten E u liegen vor na g Erstellen der Be ER Referenzdaten ui en Referenzdaten E liegen vor ER i TT presses Peeegereseeee Ergebnisdaten liegen vor Erstellen der Metriken und Qualit tskennzahlen Ergebniddate erZeugt 5 4 Berechnen der Visualisierung Pi der Ergbnisdaten Berichte Yisualisierung und f erzeigt Berichterstellung der Ergebnisdaten Zeitt Anmerkungen Projektdatei Projektdaten Referenzdaten Erste Analyse durch Rechnerunterst tzung Erg
77. em externen Speicherbaustein jedoch nicht in den Ausma en wie sie beim Entwurf von Mehrzwecksystemen vorgesehen werden Ein Mikrocontrollersystem hat den Anspruch eine bestimmte Problem Klasse kosten effizient zu l sen und wird daher nicht f r eine Vielzahl denkbarer Problemstellun gen eingesetzt Dar ber hinaus lassen sich viele weitere Aspekte bei der Realisie rung spezifischer Problemstellungen durch Mikrocontrollerarchitekturen betrachten Die geringe Gr e der geringe Energieverbrauch oder spezielle Zeitverhalten von Mikrobauteilen sind nur einige in diesem Zusammenhang 1 3 Einsatz eingebetteter Systeme in Industrie und sicherheitsrelevanten Be reichen In den letzten Jahrzehnten durchdrang die Elektronik weite Teile unserer Lebens bereiche Das Spektrum der Rechnerunterst tzung reicht dabei von den B roan Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 1 Einleitung 3 wendungen wie Textverarbeitung und Audio Videoverarbeitung ber Rechenma schinen zur Entwicklung Simulation und dem Prototypenbau technischer Einrich tungen bis hin zur Steuerung dieser Besonders im letzten Bereich sind die typischen Aufgaben von eingebetteten Systemen angesiedelt da der klassische Maschinenbau h ufig nicht mehr alleine t gliche Fertigungsaufgaben in der Industrie bew ltigt sondern dabei verst rkt auf programmierbare
78. ementierte Metriken und deren Berechnung 0 77 6 2 4 Darstellung und Visualisierung der Kennzahlen s sssssssssssssrsessrrssrressrrssrseesne 83 6 3 Datenhaltung und Verwaltung 85 6 4 Generierung des Auslieferungspakets mEtRIKA und die Entwicklungsum GEBURT duf VERZEIEHHBEbENE ee 87 6 5 Vergleich der mEtRIKA Ergebnisse mit der LOGISCOPE Validierung 88 7 Zusammenfassung und AEBIER ensure 93 RES VETFEIEHHIE ua ana EEEa ONENE AEE VIII Anhang 1 In mEtRIKA implementierte Metriken bersicht zuuu2ers2ennnennnennnennneennnn Al Anhang 2 Handbuch MEtRIKA ssssssssssssssrnnesernnnnnennnnnsunnnnnnnnnnnnnnnnnnnnnnnnnennnnnnne Bi AE E E E EE E E E E EENEROLRERUENERE XII Abbildungsverzeichnis Abbildung 1 Aufbau eines MikrocontrollerS sssssssssssssrrnnesurnnnnsnnnnnsnnnnnnnnnnnnnnunnnnennnn 2 Abbildung 2 Die vier Bestandteile der Verl sslichkeit 6 Abbildung 3 V Modell u a aa ana een 10 Abbildung 4 Klassifizierung analytischer Qualit tssicherungsverfahren uss44402 17 Abbildung 5 Lebenszyklusmodell nach IEC 61508 zsus00s400nnnnnnnnnnnnnnnnnnnnnnnnnnnnn 20 Abbildung 6 Software Qualit tsmogdell rein 31 Abbildung 7 Aspekte der Softwaremetriken ssssssssssssrrnrsesurnnresunnnresnnnnnnnnnnnnennnnnene 35 Abbildung 8 McCabe s zyklomatische Komplexit t ssssssssssrsnsesurnnnnsrrnnnnennnnnnennnnens 37 Abbildung 9 Beispiel eines Kontrollflussgra
79. en KFG strecken stauchen Geblockte Komponente Istart linear 6 8 2 goto stat02 15 3 linear 1 16 4 IstartO1 linear 3 17 5 goto start 22 6 linear 2 23 7 IstartO2 linear 2 26 8 goto ende 29 9 linear 2 30 D lends linear 2 33 Abbildung 29 Beispielfunktionen durch Verwendung von VBA im Berichtswesen Erweiternd erm glicht die Verwendung von Microsoft Excel die individuelle Bericht erstellung Beispiele hierf r sind eigene Markierungen beziehungsweise Darstellun gen in den Berichten ber in Excel enthaltene Zeichen und Steuerelement Werk zeuge Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 2 Bedienung ber das Graphical User Interface GUI am Beispiel einer Softwarepr fung B45 Y B IA Berufsgenos Institut f r Arb Graphik Komponenten Kontrollflussgraph Projekt Testprojekt Y00 01 Datum 30 06 2004 Komponente Name TestKomponente ID 1 Quelldatei D Testumgebung Setup Data BeispielCodeAssembler ASM Metrik erstellt am 30 06 2004 I Code in Editor betrachten P n gt I Kantenz ge fixieren KFG strecken stauchen E Geblockte Komponente 1 start linear 6 8 2 goto start02 15 gt et 3 linear 1 16 B 4 Istart01 linear 3 17 5 goto start 22 w 6 linear 2 4 23 7 Istart02 linear 2 26 Diese stelle wird 8 goto ende 42
80. en erzeugen In einer Art Arbeitsmappe stehen sie den Nutzern danach immer wieder zur Verf gung und erm glichen sogar die Individualisierung der Reporte anhand weiter f hrender Werkzeuge Analysedaten k nnen zu jedem Zeitpunkt neu generiert werden wobei zuvor be rechnete Werte wenn sie veraltet sind aus der Datenhaltung gel scht werden Zum Beispiel w rde dies bedeuten dass Metriken und Kennzahlen gel scht werden wenn die Referenzdaten die die Grundlage zur Berechnung dieser bilden ver n dert werden Komponenten und Subsystemstruktur Das Anwendungsfalldiagramm aus Abbildung 20 verdeutlicht die Einteilung der Verarbeitungslogik in die drei wesentlichen Bestandteile Projektverwaltung Verwaltung Referenzdaten und Darstellung Dar ber hinaus wird ein Bereich Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 5 Softwaredesign der Neuentwicklung 63 ben tigt der dem Benutzer das Graphical User Interface zur Verf gung stellt ber eine Schnittstelle zu einer weiteren Komponente werden alle im Prozess er zeugten Daten gesammelt Einen weiteren Teilbereich bilden das Berichtswesen und die graphische Darstellung Diese sollen zuk nftig auch ohne die Bereitstel lung des Analysewerkzeugs funktionsf hig sein und Funktionalit ten bereitstellen Analysewerkzeug L_ Graphical User Interface
81. en wesentlichen Ausdr cke anhand einer Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 4 Softwarepr fung und Anforderungen an dabei verwendete Softwarewerkzeuge 49 4 4 2 Referenzdatei klassifizieren Abbildung 15 Bei Fertigstellung bilden diese mit den zu analysierenden Quelltexten die Grundlage der Untersuchungen VERILOG 1993a S 1 7ff 4 3 4 8 Ein exemplarischer Prozess einer Softwarepr fung unter Verwendung von LOGISCOPE Da ber das Analysewerkzeug Quelltexte verschiedener Programmiersprachen und Softwareparadigmen gepr ft werden startet die Softwarepr fung mit der manu ellen Analyse des Quellcodes durch den Gutachter um die Spracheigenschaften im Analysemodul anhand der Referenzkonfiguration einzustellen Betrachtet man als Pr fling einen Assemblercode wird deutlich dass entsprechende nderungen der so genannten Referenzdaten sehr h ufig vollzogen werden m ssen Dabei werden in LOGISCOPE die einzelnen Schl sselw rter in beispielsweise Instruktionen zu a nalysieren Instruktionen zu ignorieren Prozeduraufruf Modulende be dingter Sprung und nicht bedingter Sprung klassifiziert Wie im vorigen Absatz aufgezeigt sind die Angaben f r das Analysemodul wesentlich um die untersuch ten Codest cke zu gruppieren und daraufhin die Metriken erstellen zu k nnen Ferner erkennen wir
82. enden Ausf hrungen werden diese Klassifizierungen aufgegriffen und referenziert Die Zuverl ssigkeit eines Gesamtsystems l sst sich weiter in die jeweiligen Zuverl s sigkeiten der dazugeh rigen Subkomponenten aufteilen und muss daher auf dieser Ebene betrachtet werden Ein Ausfall einer Teilkomponente k nnte die Eigenschaf ten peripherer Komponenten beeintr chtigen und einen Ausfall des Gesamtsystems provozieren Der Begriff der Zuverl ssigkeit l sst sich daher in drei Sichten auf ein System einteilen e Hardwarezuverl ssigkeit Wie wahrscheinlich ist ein Hardwareausfall e Softwarezuverl ssigkeit Wie hoch ist die Wahrscheinlichkeit dass Software komponenten falsche Ausgaben berechnen und wie robust reagieren die zu sammenarbeitenden Algorithmen darauf e Bedienzuverl ssigkeit Wie hoch ist die Wahrscheinlichkeit von Benutzerfehlern bei der Bedienung des Gesamtssystems F r Hard und Softwareausf lle von Teilkomponenten ist dar ber hinaus zu be trachten wie robust sich das Gesamtsystem danach verh lt und ob es seine Funkti onsf higkeit berhaupt oder wenigstens eingeschr nkt aufrechterhalten kann Sommerville 2003 S 37 Diese Betrachtung der unterschiedlichen Gefahrenquellen eines Systems und seiner Betriebsbedingungen ist Aufgabe der Gefahrenanalyse Sie soll Gefahren deren Ursachen und Auswirkungen betrachten und analysieren Werden die Gefahrenpotentiale verst rkt auf Menschen betrachtet konzentriert sich di
83. ennzeichenParameter beschreibung idKomponente komponenteMehrfachGeblockt metHal_PR_LYL zeichenOperationenInParameter fa komponente beschreibung komponentenListeNPNode idKomponente hlpKennzeichenKompan id beschreibung N tmpQuelldatei hneTextm i datei datumProj ngelegt letzteMetrikErstellt bia nsprechpartner Br biaAnsprechpartner1 datensatz fehler datensatzID existiertUnterPfad Abbildung 37 mEtRIKA Backend Struktur Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 6 Umsetzung des Softwaredesign mEtRIKA 87 6 4 Wird auf die Projektdatei unter Verwendung des Frontend beispielsweise bei der Bearbeitung einer Softwareuntersuchung zugegriffen werden daf r beim ffnen der Projektdatei die Tabellen des Backend mit dem Fronend verkn pft Abbildung 28 Generierung des Auslieferungspakets mEtRIKA und die Entwicklungs umgebung auf Verzeichnisebene Die Analysesoftware mEtRIKA wird an die Anwenderarbeitspl tze als Installations paket ausgeliefert Unter Verwendung von Inno Setup in der Version 3 0 6 wird das Auslieferungspaket mit den Hauptbestandteilen mEtRIKA Frontend und dazugeh ri ges Benutzerhandbuch SciTE Editor und Data Verzeichnis geschn rt Das Data Verzeichnis beinhaltet ein Assemblercode Beispiel welches zum Ausprobieren des Frontend geeignet ist div
84. entierung integriert werden konnten und daher zum ersten Mal bei einer Analyse berechnet werden k nnen Abbildung 34 metBerechnenGlobaleMetriken modAssemblerAnalyzer Funktionsaufruf Berechnung der globalen Metriken f r eine Komponente F r jede Komponente des Gesantsystens Berechnen der Einspr nge und der Anzahl der Einspr nge Berechnen der Anzahl der nicht zyklischen Pfade Berechnen der Zusammengesetzten Metriken Resultate in Datenbank schreiben Zeitt Abbildung 35 mEtRIKA Berechnung der globalen Metriken Wie in der Einleitung dieses Abschnitts aufgezeigt existieren unter den umge setzten Metriken einige die sich auf den Kontext des Gesamtsystems beziehen Daher muss die Softwareanalyse auch das Gesamtsystem betrachten Die Er mittlung dieser Kennzahlen ist innerhalb mEtRIKA unter der Funktion metBe rechnenGlobaleMetriken Abbildung 35 zusammengefasst und wird als letzte Funktion bei der Berechnung der Metriken ausgef hrt 6 2 4 Darstellung und Visualisierung der Kennzahlen Wurden die Metriken berechnet springt die Applikation auf die Darstellung der Kennzahlen Der Bereich der Darstellung wurde in mEtRIKA ber zwei Teile umge setzt Der Funktionsbereich Kennzahlen bernimmt die Darstellung der Metriken anhand des Frontend selbst Tabellarisch sind dabei die einzelnen Werte nach Metriktyp angeordnet Typischerweise werden die Metriken in schwarzer Schrift dargestellt Verlet
85. enzdaten Erste Analyse durch Rechnerunterst tzung Ergebnisdaten sammeln von in den Quelldaten enthaltenen Referenzdaten und editieren der Refdaten durch den Benutzer Abbildung 18 Soll Ablaufprozess eines zuk nftigen Analysewerkzeugs Die erheblichsten nderungen beim Soll Prozess gegen ber dem Ist Zustand betreffen die Verwaltung der beim Prozess generierten Daten und die Rechnerun terst tzung bei der Konfiguration und Abwicklung des Gesamtprozesses Zu den w hrend einer Pr fung anfallenden Daten geh ren zum Beispiel nun auch Projekt daten die bisher bei LOGISCOPE nicht betrachtet wurden Solche k nnten Projekt name und beginn aber auch allgemeine Informationen zu den Quelltexten Kun den oder Bearbeiterdaten sein Die Datenhaltung in die alle Informationen einge hen soll zuk nftig einer Datenbank entsprechen und nicht mehr in verschieden strukturierten Klartextdateien erfolgen Dar ber ist sichergestellt dass die Werte zentral und strukturiert vorliegen was eine zyklische Datensicherung die Erstellung von Berichten und Analysen auf Basis der Daten und Erweiterungen des Datenbe Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 5 Softwaredesign der Neuentwicklung 59 stands erleichtert Die Datenbank liefert die erforderlichen Werte f r die Berechnung der Metriken und der graphischen Darstellungen und
86. er Transzendenz des Produkt Benutzer und Prozessbezugs Balzert 1998 S 256 e Der transzendente auch bernat rliche Ansatz sagt aus dass die Qualit t eines Produkts immer erkennbar und f r jeden Betrachter unmittelbar einsich tig ist Dieser Ansatz der Bewertung von Produktqualit t ist jedoch f r die Pra xis nicht anwendbar Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 2 Designmethodik und Eigenschaften sicherer und zuverl ssiger eingebetteter Systeme 14 e Produktbezug meint den objektiven Blick auf ein zu untersuchendes Software produkt ohne sich von subjektiven Wahrnehmungen manipulieren lassen zu k nnen Ein Produkt ist dabei genau spezifizier und quantifizierbar so dass gemessene Werte eine Aussage und einen Vergleichswert gegen ber anderen Produkten liefern Der Aspekt des Kunden der einen Nutzen aus der Verwen dung des Produkts erkennen muss wird hierbei au er Acht gelassen e Der benutzerbezogene Ansatz sieht den Kunden als einzigen vor der die Qua lit t eines Produkts beurteilen kann Dabei stellt die Subjektivit t des Benutzers das gr te Problem dar e Der Prozessbezug sagt aus dass die Produktqualit t ausschlie lich durch die korrekte Herstellung eines Produkts gew hrleistet wird und die Spezifikation und Kontrolle des Herstellungsprozess dabei die Qualit t als Kosten Nutzen Funktion
87. er zu untersuchende Quellcode im Anschluss des ersten Kennzeichens f r das Analysemodul auffindbar ist Ist das Kommentarzeichen eines Assemblercodes ein so w rde die Marke f r das Analysemodul metrika lauten Ein Label wird durch die Einstellung erkannt dass es sich wenn es der erste Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 2 Bedienung ber das Graphical User Interface GUI am Beispiel einer Softwarepr fung B23 Begriff einer Zeile ist und in der gleichen Zeile dahinter ein folgt ber die letzte Konfiguration Kennzeichen Komponente l sst sich einstellen woran eine zu unter suchende Komponente erkannt wird Beginnt eine Komponente entsprechend dem Kennzeichen Quellcode mit Kommentarzeichen metrika so bilden alle Zeichen der Zeile die hinter Marke folgen den Namen der Komponente Wird die Einstellung Jede Quelldatei entspricht einer Komponente ausgew hlt bilden nicht die einzel nen Marken die zu untersuchenden Komponenten sondern die einzelnen Quellda teien Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 2 Bedienung ber das Graphical User Interface GUI am Beispiel einer Softwarepr fung B24 u E mEtRIKA Analyse sicherheitsrelevanter Software Projekt schliessen Einstellun
88. erpr fung der bereinstimmung zwischen den spezifizierten Anforderungen einer Softwareentwicklung und dem Softwaredesign in der Ent wurfsphase sowie mit der letztendlichen Implementierung einer Anwendung Da her werden sie als eine Art der Qualit tssicherung und Qualit tskontrolle im Kontext des Engineering Prozesses von Beginn bis zum Ende des Produktle benszyklus verwendet Beispielsweise werden sie h ufig als Qualit tssicherungs ma nahmen im V Modell 2 1 1 2 eingesetzt um Fehler in Teilkomponenten aufzusp ren und die bereinstimmung der Spezifikation mit der Umsetzung zu wahren Consolini 2001 S 34 Paradiso 2001 S 36 Sommerville 2003 S 427 Um beide Begriffe zu erl utern werden sie jetzt in getrennten Zusammenh ngen betrachtet Die Verifikation integriert den formalen Nachweis 2 1 2 1 in dem Prozess der Qualit tssicherung und ist eine Methode um die bereinstimmung zwischen Spezifikation und Implementierung f r alle in einer Anwendung vorkommenden Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 2 Designmethodik und Eigenschaften sicherer und zuverl ssiger eingebetteter Systeme 12 2 1 2 3 Eingaben nachzuweisen Ebenfalls wird sie h ufig dazu verwendet Inkonsisten zen zwischen verschiedenen Dokumenten beispielsweise aus Grob und Fein entwurf aufzudecken und so fr hzeitig Designfehler zu finden
89. ersage enthalten Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 2 Bedienung ber das Graphical User Interface GUI am Beispiel einer Softwarepr fung B31 welche Ausdr cke als Label Befehl oder Parameter erkennt und entsprechend klas sifiziert Ein Doppelklick auf einen Listeneintrag ffnet den SciTE Editor mit dem Quelltext und der Position des Listeneintrags in dem Quelltext Dabei ist auff llig dass die Ausdr cke jetzt auch von dem Editor ge highlight et werden BeispielCodeAssembler ASM SciTE BeispiellodeAssembler ASM SciTE 1 E 1 BEISPIEL BEISPIEL CODE CODE metrika TestKomponente 7 metrika TestKomponente tart 8 start meineRoutine div Rn Rm ljmp diese dresse anl A Rn jmp start02 swap start01 mov Ri push Rx movc Rn jz start cpl Bits add A Rn start02 div Rn Rm mov Ri A cjne ende nop add A Rn mov Ri Abbildung 19 SciTE Editor nicht ge high light et amp ge high light et Da die Automatik der Referenzdatenbestimmung die gesammelten Ausdr cke nach ihrer Klassifikation in die Konfiguration des SciTE Editors schreibt werden die als Referenzdaten angelegten Ausdr cke zuk nftig in dem Editor markiert dargestellt und sind so intuitiv und schnell f r den Gutachter erkennbar Ebenso mit der ersten Generierung der Sprachdaten
90. erse Symboldateien und eine Exceldatei die zur Ge nerierung der Berichte ben tigt werden Abbildung 38 zeigt die wesentlichen Bestandteile die zur Generierung des Installati onspakets ben tigt werden Das Verzeichnis SetupCompiler beinhaltet Inno Se tup Das Ausf hren des Setupcompilers mit dem Setupskript metrika iss als Para meter Beispiel eines Kommandozeilenaufrufs SetupCompiler iscc exe Se tup metrika iss startet die Verarbeitung Der Compiler generiert daraufhin das In stallationspaket nach den Konfigurationen des Setupskripts Das Skript l sst sich durch einen Editor bearbeiten so dass Einstellungen zum Installationspaket ge macht werden k nnen Teilschritte zur Generierung eines Setups wie beispielsweise das Kopieren der aktuellen Frontend Datei und des Handbuchs in das Setup Verzeichnis lassen sich in Form einer Windows Batchverarbeitung automatisiert ausf hren o 6 C l SetupCompiler Oh SetupCompiler Data E Data Dhscite IE Scite T Handbuch pdf Ei metrika iss CO Testprojekte C Testproj E mEtRIKA FE mdb Abbildung 38 Verzeichnisstruktur zur Generierung eines Installationspakets Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 6 Umsetzung des Softwaredesign mEtRIKA 88 6 5 Vergleich der mEtRIKA Ergebnisse mit der LOGISCOPE Validierung Um die Funktions un
91. f Softwareebene die sich auf die Hardwareressourcen niederschlagen und daher deren leistungsst r kere Dimensionierung erfordern Ein Beispiel daf r sind Softwarebasierte System tests wie Befehlstests oder Tests verschiedener Hardwarebauteile die w hrend der normalen Systemverarbeitung ausgef hrt werden m ssen und daher bis zu 50 der Hardwareressourcen beanspruchen k nnen Die entsprechende Einplanung der Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 2 Designmethodik und Eigenschaften sicherer und zuverl ssiger eingebetteter Systeme 26 artiger Aufwendungen ist demnach in der Konzeption einer Hardwarearchitektur ei nes kritischen Systems unerl sslich Dar ber hinaus werden softwarebasierte fehlerbeherrschende Mechanismen ber wiederum zu entwickelnde Softwarekonzepte umgesetzt was deren Pr fung ber fehlervermeidende Ma nahmen erfordert Au erdem gilt es ber die Software fehlerbeherrschende Mechanismen in sicherheitsrelevanten Applikationen zu integ rieren wodurch die Grundstruktur der eigentlichen Applikationslogik h ufig ver n dert werden muss so dass eine Analyse der Gesamtlogik oftmals besondere Fehler erkennungsstrukturen aufweist Klug Schaefer 1997 S 1 4ff 8f Reinert Reu 1991 S 2 Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Softwar
92. face GUI am Beispiel einer Softwarepr fung B20 wird zwischen Projekt und Kundendaten projekttypspezifischen Einstellungen die abh ngig von dem zu untersuchenden Pr fling sind und den zu untersuchenden Quelldateien unterschieden Ca 3 mEtRIKA Analyse sicherheitsrelevanter Software Projekt schliessen Einstellungen Projektdaten Projekt Projekt und Kundendaten Projekteinstellungen Assembler Projekt Quelldateien verwaltung Projektdaten Projektname Testprojekt Ansprechpartner im BIA Telefonnummer Einstellungen Projektdaten Version Projektklasse Assembler Projekt angelegt am 30 Jun 04 Einstellungen Projektdatei Testprojekt mdb Sprache Dialekt Projektpfad D Testumgebung Testprojekt mdb Kennzahlen Kundendaten Kundenname Ort Ansprechpartner beim Kunden Darstellung Anschrift Strasse Hausnr Telefonnummer PLZ Abbildung 11 Formular Projekt amp Kundendaten Die spezifischen Daten betreffen beispielsweise Kommentar einleitende Zeichen im zu analysierenden Quellcode Zeichen die Parameter bei Befehlen voneinander Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 2 Bedienung ber das Graphical User Interface GUI am Beispiel einer Softwarepr fung B2
93. formatik zur Gesch ftprozessmodellierung und optimierung anhand Ereignisgesteuerter Prozessketten EPK eingesetzt wird Sie integriert die verschiedenen Aspekte der Funktionen Daten Organisationseinheiten und Leistungen eines Gesch ftsprozesses und verkn pft somit die verschiedenen Sichten auf den Gesamtprozess In den folgenden Abbildungen wird das ARIS Konzept durch Symbole der Unified Modelling Language UML erweitert F r ge w hnlich werden diese Zeichen im Kontext von UML Sequenzdiagrammen zur Repr sentation von Objekten und deren Lebensdauer verwendet UML ist eine mo derne Methode Softwarestrukturen graphisch zu visualisieren spezifizieren kon struieren und zu dokumentieren Die folgende Abbildung zeigt die bei der Darstellung des Ist und des Soll Zu stands verwendeten Symbole Ereignis Daten Einzeldateien Funktion Daten Datenbank Beschreibung der Fkt manuelle T tigkeit Beschreibung der Fkt maschinelle T tigkeit Lebensdauer eines g Datenobjekts f hrt zu Zeitachse amp erzeugt Datenobjekt E beschreibt Abbildung 13 Verwendete Symbole zur graphischen Visualisierung Die Erl uterungen zum Ablauf des Prozesses werden exemplarisch an einem zu un tersuchenden Assemblercode aufgezeigt Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 4
94. fung weiterer Programmkomplexit ten wie der Problemkomplexi t t und der rechenbetonten Komplexit t angewandt Erstere beziehen sich auf die Untersuchung des einem Problem zu Grunde liegenden Algorithmus Der zweite Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 3 Gew hrleistung von Softwarequalit t anhand von Metriken 33 Ansatz besch ftigt sich mit der algorithmischen Komplexit t die Aussagen dar ber trifft wie effizient ein Problem anhand von Logik gel st wurde Balzert 1998 S 479 Dumke 1992 S VII Edwards et al 1999 S 197 Fenton Pfleeger 1997 S 243 245 279 282 Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 3 Gew hrleistung von Softwarequalit t anhand von Metriken 34 Klassen von Softwaremetriken Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 3 Gew hrleistung von Softwarequalit t anhand von Metriken 35 Abbildung 7 Aspekte der Softwaremetriken In Anlehnung an Balzert 1998 S 47
95. gen ber beispielsweise Do kumentationen oder Inspektionen zu leisten sind Die visuelle Darstellung der Qua lit tskriterien erfolgt ber spezielle Graphen hnlich der Kiviatgraphen die einen Quadranten f r jedes Kriterium aufweisen Die Umsetzung der Qualit tskriterien ist eine Besonderheit der LOGISCOPE Applikation die nicht viele Softwareprodukte in diesem Anwendungskontext teilen Wie auch im BIA wird das Analysewerkzeug vornehmlich zum Einstieg in Reviews und zur Bewertung der Softwarequalit t von Herstellern externen Gutachtern und Kunden verwendet Dumke 1992 S 193f Krell 2003 S 11 19 28 31 Reinert Reu 1991 S 1 VERILOG 1993b S 4 3 4 33 Windpassinger 2000 S 135 142 146 Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 4 Softwarepr fung und Anforderungen an dabei verwendete Softwarewerkzeuge 45 4 3 Evaluierung und Weiterentwicklung der eingesetzten Qualit tssiche rungsinstrumente von Krell Im Rahmen der Diplomarbeit Bestimmung von Qualit tskriterien f r sicherheitsre levante Software im Maschinenschutz auf Basis von zertifizierten Industrieanwen dungen von Michael Krell Krell 2003 wurden in Kooperation mit dem Berufsge nossenschaftlichen Institut f r Arbeitsschutz die Umsetzung der Qualit tskonzepte durch die Software LOGISCOPE analysiert bewertet und darauf aufsetzend die Mo
96. gen Projektdaten Projekt Projekt und Kundendaten Projekteinstellungen Assembler Projekt Quelldateien verwaltung Quelldateien D Testumgebung Setup Data BeispiellodeAssembler ASM Auf alle Quelldateien kann Einstellungen zugegriffen werden Projektdaten Einstellungen Sprache Dialekt Quelldateien neu verkn pfen Kennzahlen Alle Quelldateien mit Textmarken versehen Darstellung 7 ll a Quelldatei Quell Quelldatei alle Quelldateien hinzuf gen ne l schen l schen Abbildung 13 Formular Quelldateien Um eine Softwarepr fung durchf hrend zu k nnen m ssen die zu analysierenden Quelldateien in einer Liste angelegt werden ber Quelldatei hinzuf gen k nnen einzelne Quelltexte der Liste hinzugef gt werden Handelt es sich bei einem Pr f projekt um ein Verzeichnis mit vielen Quelldateien k nnen diese der Liste auch ber die Schaltfl che Quellverzeichnis hinzuf gen und der Auswahl des Verzeichnis Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 2 Bedienung ber das Graphical User Interface GUI am Beispiel einer Softwarepr fung B25 ses hinzugef gt werden Einzelne oder alle Quelldateien k nnen ber deren Mar kierung und die entsprechenden Buttons aus der Liste entfernt werden Um ein Beispiel einer Softwareuntersuchung durchf hren z
97. genschaften f r die Anwendung und Entwicklung Nach Auswahl einer Programmiersprache machen sich deren Eigenschaften unmittelbar in der Entwurfsphase bemerkbar Das Design die verwendeten Werkzeuge und nicht zuletzt die Funktionen der An wendung werden durch die gew hlte Sprache beeinflusst und k nnen sie be schneiden oder erweitern Die Spracheigenschaften geben Aufschluss dar ber was eine Anwendung erm glichen kann und wo ihre Grenzen sind H ufig muss bei der Wahl zwischen den Parametern Ausf hrungsgeschwindigkeit bersichtlichkeit und Testbarkeit ausgewogen werden B mer et al 1998 S 1 Sommerville 2003 S 298 401f Folgend werden drei h ufig verwendete Programmiersprachen im Zu sammenhang mit Mikrocontrollersystemen erl utert und an diesen beispielhaft aufgezeigt welche Parameter bei der Wahl eines Softwareprodukts beachtet wer den m ssen 2 4 1 1 Assembler Jeder auf einem Mikrocontroller eingesetzte Prozessor hat einen eigenen Be fehlssatz den interpretieren und ausf hren kann Dieses Vokabular bezeichnet man als Assemblerdialekt oder Assemblersprache Er dient der Programmierung des Prozessors Nach der eigentlichen Maschinensprache die auf Platinenebene abl uft und aus bin ren Zahlenkolonnen besteht ist Assembler die erste M g lichkeit einen Prozessor abstrahiert von der Maschinensprache und f r einen Menschen verst ndlich zu programmieren Die Befehle eines Prozessors lassen sich in die Kategorien arithme
98. gorithmen komfortabel zu steuern und zu verwalten Sommerville 2003 S 373f Dennoch ist nicht jedes System f r den Einsatz in der Sicherheitstechnik geeignet Herk mmli che und bew hrte Verfahren k nnen nur durch Rechnerunterst tzung erweitert o der abgel st werden wenn sie gew hrleisten die Aufgabe effizienter oder zuverl s siger zu bew ltigen Ist dies nicht der Fall spricht kein Argument f r den Einsatz ei ner Rechnerunterst tzung Nach Ehrenberger Ehrenberger 2002 S 30 darf in die sem Zusammenhang die Gefahr die f r den Nutzer einer Mikrocontroller gest tz ten Anwendung ausgeht nicht gr er sein als die Gefahr die von der Anwendung ohne Unterst tzung ausgeht Kommt es zu einem Ausfall einer sicherheitskritischen Anwendung kann dies zu immensen Kosten f hren Diese Kosten k nnen einerseits direkt mit dem Schaden zusammenh ngen so genannte direkte Ausfallkosten und andererseits indirekt wie beispielsweise der Imageverlust einer Unternehmung der zu Gesch ftsausf llen f hren kann Aus dieser Notwendigkeit zur Verl sslichkeit des sicherheitskritischen Systems werden zur Entwicklung in der Regel ausschlie lich bew hrte Techniken verwendet zu deren Einsatzverhalten umfangreiche Informationen existieren Sommerville 2003 S 366 1 4 Anforderungen an kritische Systeme und Spezifizierung derer anhand ei ner Risikoeinstufung Nach den vorigen Ausf hrungen finden sicherheitskritische Systeme h ufig Verwen
99. gsumgebung Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 6 Umsetzung des Softwaredesign mEtRIKA 69 Bei der Softwareerstellung auf Basis von Microsoft Access und VBA wird zwischen den Objekten Microsoft Access Klassenobjekte Module und Klassenmodule unterschieden Lediglich erstere sind spezielle Access Gebilde und daher nur in VBA Projekten aufsetzend auf Microsoft Access vorhanden Die anderen Objekt arten sind Bestandteil aller VBA Projekte unabh ngig von der basierenden Lauf zeitumgebung ber Klassenmodule lassen sich VBA Projekte entsprechend dem objektorientierten Paradigma entwickeln Unter Modulen k nnen Funktionen zu sammengefasst werden die sinngem einer Komponente zugeh ren Die speziel len Microsoft Access Klassenobjekte bilden in unserem Entwicklungskontext die Formulare die als Graphical User Interface dem Anwender zur Verf gung stehen In allen drei Objektarten l sst sich VBA Code in Deklarationen Typdefinitionen Funktionen oder so genannten Subs integrieren Funktionsaufrufe erfolgen ebenso ber alle Objektarten hinweg durch den Namen des Objekts gefolgt von einem 5 und dem Namen der Methode Eine Vielzahl weiterer Objekte lassen sich ber Bibliotheken in die Anwendung ein binden ber den Men punkt Extras gt Verweise wird ein Dialogfenster verf g ba
100. hschule Bonn Rhein Sieg Fachbereich Informatik Sankt Augustin 2004 entnommen und werden dort weiter f hrend beschrieben In diesem Handbuch eingesetzte Abbildungen bilden Teile der Bachelor Thesis und sind daher auch stets in diesem Zusammenhang zu betrach ten Weiterf hrende Erl uterungen werden daher nicht an dieser Stelle vorgenom men sondern diesbez glich auf die Inhalte der Arbeit verwiesen Da es sich wie beschrieben um einen Prototypen handelt ist der Funktionsumfang begrenzt und in der bisherigen Version f r zu pr fende Assemblerprogramme wei testgehend nutzbar In mEtRIKA umgesetzte Analyse Kennzahlen sind die ebenfalls in LOGISCOPE implementierten Halstead und McCabe Metriken sowie die im Rah men einer Diplomarbeit 2003 entwickelten Metriken von Krell Letztere setzen teils auf die Kennzahlen von Halstead und McCabe auf verkn pfen diese zu hybriden Metriken oder wurden vollst ndig neu entwickelt Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 1 Die Anwendung mEtRIKA B5 1 1 Aufbau und Architektur der Applikation Die Softwarearchitektur beschreibt sich ber zwei Hauptbestandteile und entspricht damit einer zweischichtigen Client Server Struktur Das Herzst ck bildet das Frontend welches als Fat Client auf dem lokalen Arbeitsplatz des Anwenders ergo einem Gutachter installiert wird Fa
101. iben Die Struktur des Berichtswesens und der graphischen Darstellung bedingt die komfortable Handhabung Dieser Aspekt sollte auch im Hinblick auf Verteilung via Kommunikationsinfrastrukturen und Analyse ber dezentrale Standorte hinweg betrachtet werden ber eine Programmierschnittstelle k nnen Berichte als dyna mische Objekte gestaltet werden die eine funktionale Analyseunterst tzung an hand von Werkzeugen realisieren Die Verwendung von weiteren Hilfsmitteln wie Zeichenger ten und Notizen w rde Pr fern die M glichkeit bieten digitale Ver merke in die Berichte einzubringen 5 4 2 Auswahl der verwendeten Programmierwerkzeuge Visual Basic for Application VBA ist eine Skriptsprache die in einem Grossteil der Microsoft Office Produkte seit der Version Office 97 hinterlegt ist Bestandteile von VBA sind die Programmierwerkzeuge und Bibliotheken von Visual Basic VB und weitere Objektbibliotheken die spezielle Gebilde der einzelnen Office An wendungen repr sentieren VBA wurde den Anwendern von Office Produkten zur Entwicklung eigener Software auf Basis der Office Anwendungen beziehungswei se zur Erweiterung vorhandener Funktionalit ten seitens Microsoft zur Verf gung gestellt Im Gegensatz zu VB Programmen werden VBA Anwendungen nicht in direkt ausf hrbaren Code compiliert und sind daher nicht alleinig auf einem Rech ner ablauff hig Sie bleiben in ihrer Skriptsprache bestehen und werden von einer Laufz
102. ich um mehrere Komponenten l sst sich ber die Auswahl eines Listenelements per Mausklick oder ber die Navigations schaltfl chen unten im Formular zwischen den Datens tzen man vrieren Welche Komponente gerade ausgew hlt wurde ist dem Kopf des Unterformulars zu ent Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 2 Bedienung ber das Graphical User Interface GUI am Beispiel einer Softwarepr fung B38 nehmen welcher zentrale Informationen anzeigt Ebenso wie bei der Datensatzna vigation bei der manuellen Konfiguration der Referenzdaten werden die Formular daten bei einem einfachen Klick auf die Liste nach der Auswahl gefiltert Um ber die untenliegenden Navigationsschaltfl chen zu steuern muss zuvor der Formular filter ber einen Klick auf den Button Alle Filter aufheben entfernt werden Ein Doppelklick auf eine Komponente in der Liste erm glicht die unmittelbare Ver kn pfung der berechneten Werte zu den Quelltexten durch ffnen der Komponente anhand des SciTE Editors Rechts neben der Liste werden die generierten Einzel metriken dargestellt Gem den Grenzwerteinstellungen die unter Einstellungen Sprache Dialekt gemacht werden k nnen werden die Metriken bei Unterschrei tung des Schwellwerts blau markiert hingegen berschreitungen rot angezeigt werden Die Reiter Komponenten geblockt und O
103. icht vernetzte Konfiguration der Workstation die Datensicherung so dass ein Ausfall der Workstation zum Verlust der Daten in digitaler Form f hren k nnte Eine moderne Frontend Backend Aufteilung einer Neuentwicklung w rde erm glichen dass das Frontend auf dem Client eines Gutachters installiert wird und die Projektdaten in zentraler Form als Backenddaten in einer Datenbankdatei auf einem Netzlaufwerk oder dem Clientrechner selbst abgelegt werden Ferner erm glicht eine solche Architektur leicht Datensicherungsmechanis men auf die Backenddaten zugreifen zu lassen sowie die Steigerung der Robustheit des Gesamtsystems gegen ber einem Ausfall eines einzelnen Clients der die Zertifizierungsprozesse weiterer Clients somit nicht beein tr chtigen w rde Ein statisches Analysewerkzeug so wie es im BIA eingesetzt wird hat die Aufgabe einen schnellen Einstieg in komplexe Systeme anhand abstra hierter Modelle zu erm glichen Um dieser Anforderung gerecht zu werden ben tigt die Anwendung eine effiziente Verwaltung der Referenzdaten die Grundlage zur Berechnung der Metriken und so eine Basis der Systemun Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 4 Softwarepr fung und Anforderungen an dabei verwendete Softwarewerkzeuge 53 tersuchung bilden Das bisher eingesetzte Werkzeug kann dieser Anforde rung nicht gerecht werden da kei
104. icklungsphasen dem obigen Modell entsprechend abfallend ist jeder dieser ein Qualit tssicherungsprozess f r die in der Phase entstandenen Dokumente und Teilprodukte zugeordnet Dadurch k nnen Fehler und Kontro versen zu den spezifizierten Anforderungen in den Teilprodukten erkannt und korrigiert werden bevor sie in das Gesamtsystem eingehen und zu Ausf llen f hren k nnen Nach der Literatur eignet sich das Modell besonders f r gro e Projekte und Entwicklungen sicherheitskritischer Anwendungen da es einen fest definierten Rahmen f r Qualit tssicherung nderungs und Konfigurationsmana gement enth lt Nachteilig wird das Modell wenn es f r kleine und mittelgro e Softwareentwicklungen verwendet wird Durch seinen strengen und festen Rah men f hrt es in diesem Fall zu einer unn tigen Softwareb rokratie und w rde den Entwicklungsprozess daher eher behindern als f rdern Balzert 1998 S 98 101 113 135 Vogel Heuser 2003 S 25ff Spiralmodell Das Spiralmodell spaltet den Softwareentwicklungsprozess in vier Teile auf die immer wieder zyklisch im Gesamtprozess durchlaufen werden Die vier Bereiche sind 1 Ermitteln von Zielen Alternativen und Randbedingungen 2 die Fortent wicklung der Alternativen und Identifikation von Risiken und deren Verringerung 3 Entwicklung und Qualit tssicherung des Produkts 4 Planung der n chsten Phase Sommerville 2003 S 65ff Vogel Heuser 2003 S 27 Entwicklung eines Analysewe
105. ie zu untersuchende Komponente geblockt Dabei wird eine Art Pseudocode hnlich dem der Anwendung LOGISCOPE Kapitel 4 4 2 erstellt der Grundlage f r die Berechnung der Knoten und Kanten und somit die Basis f r die Struktur metriken darstellt Beim Blockungsvorgang werden lineare Zeilen und Spr nge zu einzelnen Knoten zusammengefasst Die Programmablaufstruktur wird durch Kanten zwischen den Knoten repr sentiert Da der Grossteil der dazugeh renden Metriken separat berechnet werden muss sind viele Codeteile in eigene Funktionen eingeteilt um die Lesbarkeit der Ge samtfunktion zu erleichtern metkKrell modAssemblerAnalyzer Funktionsaufruf Berechnung Krell Metriken f r eine Komponente Berechnen der Anzahl der indirekten Ausspr nge Berechnen der Anzahl der toten Sprungmarken Berechnen der berfl ssigen Sprungmarken Berechnen der einzeiligen Schleifen Berechnen der Schleifenanzahl Berechnen der Durchschnittlichen Verwendung von Operatoren Berechnen der Durchschnittlichen Verwendung von O peranden Resultate in Datenbank schreiben Zeitt Abbildung 34 mEtRIKA Berechnung der Krell Metriken Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 6 Umsetzung des Softwaredesign mEtRIKA 83 Ganz neue Betrachtungsspielr ume bieten die Metriken von Krell die nicht in der LOGISCOPE Implem
106. ieren zu k rzen neu schreiben Projekt 99 rLesbarkeit von Akzeptiert 100 zu dokumentieren 30 zu inspizieren D bis 100 99 29 Projekt 50 Projekt 100 Akzeptiert zu dokumentieren zu inspizieren zu testen zu k rzen Projekt globale Qualit t Akzeptiert zu dokumentieren zu inspizieren zu testen neu schreiben Projekt 59 6 Datensatz 14 1 DIE von 1 Abbildung 25 Formular Qualit tskriterien Wie eine ausgew hlte Komponente bei Berechnung der Qualit tskriterien abge schnitten hat l sst sich ber den Reiter Qualit tskriterien feststellen Dabei wer den die erreichten Werte durch Hervorhebung der erreichten Klasse hervorgehoben 2 7 Darstellungsfunktionen Mit der erfolgreichen Generierung der Metriken und Qualit tskriterien lassen sich letztendlich die Darstellungsfunktionen unter der Rubrik Darstellung uneinge schr nkt verwenden Um nicht nur die Darstellung in Zahlenwerte f r bersichten verwenden zu m ssen bietet mEtRIKA die Darstellung der Programmstruktur als Graphen Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 2 Bedienung ber das Graphical User Interface GUI am Beispiel einer Softwarepr fung B40 E mEtRIKA Analyse sicherheitsrelevanter Software Projekt schliessen D
107. ierung Notiz 45 Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 1 Die Anwendung mEtRIKA B4 1 Die Anwendung mEtRIKA mEtRIKA ist eine unter Visual Basic for Applications VBA entwickelte Software die zur Erstellung von Metriken Qualit tskriterien und Strukturgraphen sicherheitsre levanter Software dient Ziel der Anwendung ist den Gutachtern solcher kritischer Anwendungen einen schnellen Einstieg in die Pr flinge zu erm glichen Berechnete Daten dienen als Beurteilungs und Diskussionsgrundlage f r Softwarezertifizierungen und Reviews in denen die zu pr fenden Anwendungen untersucht werden Als Laufzeitumgebung verwendet mEtRIKA Microsoft Access 2002 da es unter dieser Entwicklungsumgebung in VBA implementiert wurde und auf die damit verbundenen Bibliotheken zugreift Im Rahmen einer Bachelor Abschlussarbeit wurde mEtRIKA 2004 in der ersten Ver sion als Prototyp f r zu untersuchende Assemblersoftware realisiert um die bisher eingesetzte Applikation LOGISCOPE der Firma VERILOG als Analysewerkzeug im Softwarezertifizierungsprozess zuk nftig abzul sen Weite Teile dieser Dokumentation wurden aus der Bachelor Thesis Staron C Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz Bachelor Abschlussarbeit Fachhoc
108. ifikationen in den Referenzdaten abh ngig und variiert in den Testergebnissen mit bis zu zwei Einheiten Diese Kennzahlen sind Ursache bei Abweichungen der zyklomatischen Zahl die wesentliches Ma der Mc Cabe Metriken darstellt Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 6 Umsetzung des Softwaredesign mEtRIKA 92 ACC_TEST Komponente01 Komponente02 Komponente03 mEtRIKA Krell mEtRIKA Krell mEtRIKA Krell mEtRIKA n o o n on n 0 a ajoj je o o gt VG_S_MAX_DEG 1 Qualit tskriterien Testbarkeit Akzeptiert Zu k rzen Akzeptiert Akzeptiert Zu strukturieren _ Akzeptiert Einfachheit Akzeptiert Zu inspizieren Zu dokumentieren Akzeptiert Akzeptiert Zu dokumentieren Lesbarkeit Akzeptiert Zu inspizieren Akzeptiert Zu dokumentieren Akzeptiert Selbstbeschreibung Akzeptiert Akzeptiert Akzeptiert Akzeptiert Akzeptiert Akzeptiert Global Zu dokumentieren Zu testen Zu inspizieren Zu dokumentieren Zu dokumentieren Zu dokumentieren Abbildung 41 bersicht Testergebnisse mEtRIKA Abstrahiert von den Einzelmetriken werden die Qualit tskriterien zur ersten Beur teilung eines Pr flings verwendet Bei durchgef hrten Testl ufen lassen sich jedoch trotz der vereinzelt festgestellten Abweichungen in den Me
109. ika Testt tart start add A Rn ui inc Rn noc acall meineRoutine div Rn Rm Ijmp dieseAdresse anl A Rn jmp start02 swap start01 mov Ri push Rx movc A Rn jz start cpl Bits add A Rn start02 div Rn Rm mov Ri A cjne ende mov Ri A Abbildung 27 SciTE Editor mit Markierung der Referenzdaten Die GUI Struktur von mEtRIKA ist ber ein stets sichtbares Hauptformular in welches Unterformulare ber ein Registersteuerelement eingebettet sind imple mentiert Abbildung 25 Je nach Benutzeraktion wird das entsprechende Unter formular sichtbar und bez glich seiner enthaltenen Daten und Steuerelemente aktualisiert Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 6 Umsetzung des Softwaredesign mEtRIKA 74 Zur Verwendung von Dateidialogen wurde nicht das standardisierte Steuerelement Microsoft Common Dialog Control verwendet sondern auf eine Eigenentwicklung von Karsten Pries zur ckgegriffen Dieses Modul wurde als Klassenmodul der VBA Entwicklung beigef gt und ist damit auf jedem Clientarbeitsplatz in der Laufzeit umgebung verf gbar Das typischerweise verwendete Steuerelement von Micro soft konnte nicht fehlerfrei in die Entwicklung eingebunden werden so dass die e benso standardkonforme L sung von Karsten Pries die stabilere Variante bildet 6 2 2 Projektverwaltung
110. in der Literatur unter der Bezeichnung des zweischichtigen Client Server Modells bekannt Sommerville 2003 S 255 Wie die folgende Abbildung zeigt kann bei dieser Frontend Backend Architektur die Projektdatei auf einem Server im Netzwerk oder lokal auf dem Client des Gut achters liegen Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 5 Softwaredesign der Neuentwicklung 60 m FrontEnd Pr fer 01 am l li 1 L LokalerClient Pr fer FE S Projektdatei A FrontEnd Pr fer 02 E C Projektdatei B LokalerClient Pr fer 02 FrontEnd Prufer9 Em a NetServer Projektdatei C LokalerClient Pr fer 03 m Abbildung 19 Softwareverteilungsmuster des zuk nftigen Analysewerkzeugs In der bisher eingesetzten Anwendung wird die Berichterstellung und graphische Darstellung alleinig im Analysewerkzeug realisiert und l sst sich aufgrund seiner Struktur nicht mit g ngigen B roanwendungen ber beispielsweise Programmier schnittstellen koppeln beziehungsweise ausbauen Daher wird f r die Individualent wicklung eine offene Programmierschnittstelle bevorzugt die die geschilderten Mankos der LOGISCOPE Applikation durch die freie Kopplung der Neuentwicklung an standardisierte Werkzeuge erlaubt Somit k nnen zum Beispiel Berichte von Gut achtern mit Marken f r Pr fungen und Reviews
111. ines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 2 Bedienung ber das Graphical User Interface GUI am Beispiel einer Softwarepr fung B37 SE E mEtRIKA Analyse sicherheitsrelevanter Software Projekt schliessen Projekt ausgew hlte Komponente Quelldatei Metrik erstellt am verwaltung Testk nente D Testumgebung Setup Data BeispielCode ssemnbler ASM 30 06 2004 Kennzahlen welt tskriterien Einstellungen Komponenten Projektdaten Name TestKomponente Metriken Halstead Metricen McCabe Metriken Krell Komponenten geblockt Operatoren Operanden l Einstellungen Operatoren N1 33 Gr sse der Instruktionen 2 5714 Sprache Dialekt Operanden N2 21 Programmyolumen 262 331 Versch Operatoren 13 Potentielles Volumen 104 0419 p 4 16 7 Kareahen Versch Operanden Programm Level 0 3966 Kommentarzeilen 3 Sch tzwert f r Prog Level 0 1172 Programmzeilen 21 Information Komponente 30 7494 Frequenz Komment Programm Komplexit t 2 5214 Darstellung Programml nge 54 Aufwand 661 4405 Vokabeln 29 Fehlerwahrscheinlichkeit 0 0253 Frequenz Vokabular Alle Filter aufheben Datensatz 14 4 1 gt r j gt von 1 Abbildung 24 Formular Kennzahlen Hier werden alle berechneten Einzelmetriken entsprechend der gerade ausgew hl ten Komponente angezeigt Handelt es s
112. insetzbar Glo bale Einstellungen zum Aufrufverhalten und viele weitere Funktionalit ten k nnen ber die Konfigurationsdatei SciTEGlobal properties im Verzeichnis des Editors genutzt werden Mit der Installation des Frontend wird SciTE automatisch auf dem Zielrechner im Programmverzeichnis des Analysewerkzeugs installiert 1 2 2 Microsoft Excel 2002 Die graphische Darstellung der Analyseergebnisse wird durch Microsoft Excel 2002 erm glicht Um diese Funktionen nutzen zu k nnen ist zwingend erforderlich die XP Version neben Microsoft Access 2002 installiert zu haben Ist lediglich eine ltere Excelversion installiert kann nicht auf die zur Darstellung ben tigten Pro grammbibliotheken zugegriffen werden so dass die Generierung von Darstellun gen an dieser Stelle nicht m glich ist 1 3 Funktionsumfang Die Anwendung ist grundlegend in f nf Funktionsbereiche gem den Buttons auf der linken Seite Abbildung 2 eingeteilt e Projektverwaltung e Einstellungen Projektdaten e Einstellungen Sprache Dialekt e Kennzahlen e Darstellung Mit jedem Klick auf eine dieser Schaltfl chen wird das dazugeh rige Unterformular im Hauptformular sichtbar und zug nglich In Abbildung 2 ist gerade die Projekt verwaltung sichtbar Um eine kurze bersicht ber die Funktionalit ten von mEtRIKA zu vermitteln wer den folgend die wichtigsten Eigenschaften und Mechanismen aufgezeigt Weiter Entwicklung eines Analysewer
113. ist somit Datenbasis f r wei tere Prozessschritte Angedacht ist au erdem eine Unterst tzung bei der Verwal tung der Referenzdaten durch einen ersten Analysevorgang der zu evaluierenden Quellcodes Dabei werden die in den Quellen enthaltenen Ausdr cke ausgewertet und bereits initial Klassen von Referenzdaten zugeordnet Bei der weiteren Bear beitung berpr ft der Anwender die in dem ersten Durchlauf angelegten Referenz daten auf ihre korrekte Klassifizierung und ndert sie gegebenenfalls Um die Ist Architektur der Unix basierten Workstation abzul sen wird eine Fron tend Backend Aufteilung der Anwendung angestrebt die die im vorigen Ab schnitt angerissene Datenbankarchitektur unterst tzt Dabei wird das Frontend als Fat Client mit der vollst ndigen Verarbeitungslogik und dem Graphical User Interface GUI f r den Anwender entwickelt und f r den Betrieb auf dem Arbeits platz der Benutzer installiert Das Backend bildet eine Projektdatei welche als Da tenbank strukturiert die zentrale Datenhaltung implementiert Bei der Nutzung des Analysewerkzeugs wird das Frontend mit den Tabellen des Backend f r die Zeit der Verarbeitung verbunden so dass auf die Daten zur Abfrage und Manipulation zuge griffen werden kann Dies erm glicht die Erh hung der Robustheit und Skalierbar keit der Gesamtanwendung sowie eine Steigerung der Effizienz bei der Bearbeitung gegen ber der Workstation Architektur Das Konzept ist
114. itsrelevanter Software Handbuch Dokument Handbuch doc Autor Christian Staron Datum 27 Juli 2004 Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz Anhang 2 Handbuch mEtRIKA B2 Inhaltsverzeichnis INSERIEREN eek 2 DAWN ee 3 1 Die Anwendung MEtRIKA sssssssssssssssessrrsnrsensrrssrnrnnnrnntnnnnntnnntnnnnenattennnennnnnnnnnenna 4 11 Aufbau und Architektur der Applikation u0 22020000000020n0 0000 nnnn nano ann nenn 5 1 2 Einbindung weiterer Applikationen ssssssssssssssssssessrrssrnrsnnrsnnnnnnnennnrennnnenneenn 7 LEN Eee 7 1 2 2 Microsoft Excel 2002 ASBRERERERERERREERERERENEREFEHENELEEEREREEEUERERELENEREREEREELRFECRPEUEREDEPERERERRRER 7 1 3 eem anie e E A EN 7 1 3 1 Projekwverwa kUng a aa 8 1 3 2 Emstellen Projektdate ee 8 kaa Einstellungen Sprache Dialekt 22u2020000n000n0000nn0nnnn ann u nun Dann nnn nn nnnnnnnnnn 8 1 3 4 Kennzahlen OSRSESEREREREREENERENEREEEREEREN SER EIERERENTUEBEIERETERERERTERSTERSERESERTSEOREEREEURERERSIR 10 1 3 5 BEE RR ee 10 2 Bedienung ber das Graphical User Interface GUI am Beispiel einer oe in Las s ATi 2 ee ESSENER E 11 2 Installation des Frontend MEIRIKA nee 11 2 2 Start der ANWSncilt nee 12 2 3 Erste Schritte in der Projektverwaltung s ssssssssssssssessrresrnensnrsrsensnresrneennenns 15 2 4 Verwaltung und Konfiguration der Projektdaten ssss
115. keitspr fungen unterst tzend automati sierende Werkzeuge existieren Balzert 1998 S 302 2 3 Aufbau Klassifizierung und Entwicklung kritischer Systeme Wie bereits in Kapitel 1 3 erl utert werden kritische Systeme h ufig f r die Steue rung von Maschinen und Anlagen verwendet Eine Anforderung die aus vielen An wendungsgebieten resultiert ist die Echtzeitf higkeit was bedeutet dass Systeme innerhalb eines definierten Zeitraums auf Ereignisse reagieren H ufig belaufen sich die Zeitintervalle in der Praxis auf wenige Mikrosekunden Oft lassen sich Echtzeit systeme als Zweistufensysteme durch ein Eingangsereignis auch Stimulus wel ches auf das System wirkt und eine Antwort Response des Systems auf den Eingang klassifizieren Weiter lassen sie sich ber die Eigenschaften der Stimuli gruppieren Periodische Eingangsereignisse treten in einem definierten Zeitfenster immer wieder auf Aperiodische Ereignisse treten in unregelm igen Abst nden auf und sind somit f r ein System nicht vorhersagbar Diese Eing nge werden blicher weise anhand eines so genannten Interrupt Handler abgearbeitet Tritt ein Er eignis auf wird eine Unterbrechung an das System weitergegeben welches dar auf nach definierten Priorit ten reagieren kann Sommerville 2003 S 293f Die Betriebssicherheit konnte in Kapitel 1 5 als wesentliche Eigenschaft sicherheits kritischer Systeme herausgestellt werden Jede Gefahr die du
116. kn pfen Alle Quelldateien mit Textmarken versehen Quelldateien mit Textmarken kennzeichnen Abbildung 14 Quelldateien Ampelsystem Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 2 Bedienung ber das Graphical User Interface GUI am Beispiel einer Softwarepr fung B27 8 Nicht existente Quelldateien Nicht existente Quelldateien D Testumgebung Setup Data BeispielCodeAssembler ASM nn alle Datens tze Datensatz neu Datensatz l schen baren den Dialog schliessen Abbildung 15 Dialog nicht existierende Quelldateien neu verkn pfen Das zweite Ampelsystem zeigt an ob alle in der Liste angelegten Quelldateien mit der mEtRIKA Marke versehen sind so dass das Kennzeichen Quellcode in jeder zu untersuchenden Datei zu finden ist ber den Button Quelldateien mit Textmar ken kennzeichnen kann eine Liste der Elemente generiert werden f r die dies noch nicht gilt Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 2 Bedienung ber das Graphical User Interface GUI am Beispiel einer Softwarepr fung B28 EB mEtRIKA Analyse sicherheitsrelevanter Software aktuel geedenes Prajete rm Einstellungen Projektdaten Projekt Projekt und Kundendaten Projekteinstellungen A
117. kzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 1 Die Anwendung mEtRIKA B8 f hrende und detaillierte Zusammenh nge und Abl ufe werden unter Punkt zwei erl utert und mit Abbildungen zur Applikation und Markierungen illustriert 1 3 1 Projektverwaltung Um im ersten Schritt eine Softwarepr fung durchf hren zu k nnen muss eine Projektdatei in der die Projektdaten abgelegt werden k nnen angelegt werden Wurde diese erzeugt wird sie automatisch mit der pers nlichen Projektliste ver kn pft so dass der Projektname in der Liste sichtbar wird In dieser Liste k nnen alle von einem Gutachter bearbeiteten Projekte verwaltet werden und daraus wiederum in das Frontend geladen werden Diese pers nliche Projektliste kann bei jedem Benutzer verschiedene Eintr ge enthalten so dass er seine Projekte jeder zeit griffbereit h lt 1 3 2 Einstellen Projektdaten ber die Projektdaten lassen sich alle Informationen bez glich eines Projekts ver walten Allgemeine Daten betreffen das Projekt selbst den Kunden und den Gut achter beim BIA Dar ber hinaus existieren weitere Daten die projektspezifisch sind da sie davon abh ngen ob es sich bei der zu pr fenden Software um ein As semblerprodukt oder ein mit einer anderen Sprache verfasstes Fabrikat handelt An dieser Stelle sind ebenso Einstellungen f r die weitere Verarbeitung der Be rechnung der Metriken etc zu leisten
118. lagen Sichere Bus systeme f r die Automation S 12 H thig GmbH amp Co KG Heidelberg 2001 Reinert D Reu G Sicherheitstechnische Beurteilung und Pr fung mikroprozessorgesteuerter Schutzeinrichtungen Si cherheitstechnisches Informations und Arbeitsblatt Berufs Sommerville 2003 VERILOG 19932 VERILOG 1993b VERILOG 1993c Vogel Heuser 2003 Windpassinger 2000 Zuse 1999 XI genossenschaftliches Institut f r Arbeitsschutz BIA Handbuch 17 Lfg X 91 Sankt Augustin 1991 Sommerville I Software Engineering 6 Auflage Pearson Studium M nchen 2003 VERILOG GmbH Ed LOGISCOPE Assembler Analyzers Reference Manual M nchen 1993 VERILOG GmbH Ed LOGISCOPE Editor Graphical User Interface 1 1 Reference Manual M nchen 1993 VERILOG GmbH Ed LOGISCOPE Viewer Reference Ma nual M nchen 1993 Vogel Heuser B Systems Software Engineering Olden bourg Industrieverlag GmbH M nchen 2003 Windpassinger H M glichkeiten der Metrik basierten Mo dellierung und Auswertung von Qualit tsvorgaben mit dem Werkzeug LOGISCOPE Software Metriken Entwicklun gen Werkzeuge und Anwendungsverfahren S 135 Deut scher Universit tsverlag Gabler Edition Wissenschaft Wies baden 2000 Zuse H Thirty Years of Software Measurement Software Measurement Current Trends in Research and Practice S 3 Deutscher Universit tsverlag Gabler Edition Wissenschaft
119. ls Operand wenn es im Kontext des Quellcodes als Parameter hinter einem Befehl auftaucht Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 6 Umsetzung des Softwaredesign mEtRIKA 80 Mit Abschluss der Iteration werden die Resultate in die Projektdatei geschrieben so dass sie sp teren Berechnungen zur Verf gung stehen metHalsteadf modAssemblerAnalyzer Funktionsaufruf Berechnung Halstead Metriken f r eine Komponente F r jede Zeile in Komponente Kommentar zeile zeile Operanden z hlen Operatoren z hlen Verschiedene O peranden z hlen Verschiedene Operatoren z hlen Zusammengesette Metriken berechnen Resultate in Datenbank schreiben Zeitt Abbildung 32 mEtRIKA Berechnung der Halstead Metriken Wurden die Operatoren und Operanden erfolgreich eingelesen k nnen die dar auf aufsetzenden restlichen Halstead Metriken berechnet werden Um sie bestimmen zu k nnen muss lediglich die Anzahl der Operatoren Operanden der verschiedenen Operatoren und Operanden und die Anzahl der Kommentar und Codezeilen gez hlt werden Alle weiteren Halstead Metriken werden aus diesen sechs Grundmetriken zusammengesetzt und lassen sich direkt arithmetisch be rechnen Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Soft
120. ltexte und Datenbl tter um die verwendeten Befehle zu klassifizieren Abbildung 16 Einbettung des Analysewerkzeugs LOGISCOPE in eine Softwarepr fung des Berufsgenossenschaftlichen Instituts f r Arbeitsschutz Liegen die Referenzdaten in Form der Referenzdatei vor und kann die Analyse oh ne Warnungen durchgef hrt werden sind Quelltexte und Referenzdatei zur stati schen Analyse fertig pr pariert Dabei greift das je nach verwendeter Program miersprache unterschiedliche Analysemodul von LOGISCOPE auf diese Grundele mente zu und berechnet daraus die Metriken Die Basiskennzahlen der Halstead Metriken werden dabei in eine Ergebnisdatei und eine Z hldatei geschrieben die seitens LOGISCOPE generiert werden Als Grundlage f r die McCabe Metriken und die graphischen Darstellungen der Programmstruktur flie t zus tzlich zu den Kennzahlen eine Art Pseudocode vom untersuchten Quelltext in die Ergebnisdaten ein Dieser vom Problem abstrahierte Pseudocode beschreibt den Aufbau des analysierten Programms und dient als Fundament f r die Visualisierung durch ei nen Kontrollflussgraphen Krell 2003 Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 4 Softwarepr fung und Anforderungen an dabei verwendete Softwarewerkzeuge 51 amp BeispielResfFile res SciTE Fie Edit Search View Tools Options Language Help lt archive W2 0 gt
121. m unter suchten Objekt abgeleitet und ermittelt werden k nnen Die externen haben dem zufolge nicht die direkte Verkn pfung zum analysierten Objekt Die Umgebung und das Verhalten des Objekts in dieser sind dabei ma gebliche Untersuchungsge genst nde Dumke 1992 S 11 47f Fenton Pfleeger 1997 S 74ff Orci 2001 S 74 3 2 3 Einordnung der Metriken in Qualit tssicherungsma nahmen Um weiterf hrend die Qualit t von Software bestimmen zu k nnen m ssen die Eigenschaften die eine Software nach ihrer Spezifikation erf llen soll festgelegt werden Die nach DIN ISO 9126 definierten und in Kapitel 2 2 beschriebenen Softwareattribute k nnen von einem Produkt erf llt werden Um dies zu pr fen werden einem Pr fling zugeordnete Qualit tsmerkmale wiederum in einzelne Fak toren aufgespalten die gemeinsam das Qualit tsmerkmal ergeben So w rde bei spielsweise das Qualit tskriterium Wartbarkeit durch die einzelnen Faktoren Analy sierbarkeit nderbarkeit Testbarkeit und Stabilit t erf llt werden Um nun eine Software bez glich ihrer Wartbarkeit untersuchen zu k nnen muss gepr ft wer den ob die Software eben den einzelnen Faktoren Analysierbarkeit nderbarkeit Testbarkeit und Stabilit t gen gen kann Daf r wird wiederum jeder der einzelnen Faktoren in einzelne Metriken aufgespalten diese gemeinsam betrachtet bestim men wie gut beispielsweise ein Pr fling zu analysieren ist Demnach existiert ein Sortiment an Metriken
122. mappe eingetragen sind Die Einstellungen betreffen beispielsweise den Edi tor der verwendet werden kann um aus den Einzelberichten heraus Codesequen zen aus den grundlegenden Quelltexten betrachten zu k nnen Dar ber hinaus k nnen durch Abbildung des Berichtswesens unter Anwendung von standardisierten B roanwendungen weitere Werkzeuge aus den Applikationen zur Individualisierung der Berichte verwendet werden Ein Beispiel hierf r zeigt Abbildung 36 In dem Bericht konnten anhand weiterf hrender Zeichen und Ver merkwerkzeuge Markierungen und Notizen in digitaler Form integriert werden Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 6 Umsetzung des Softwaredesign mEtRIKA 85 6 3 BA eiger Graphik Komponenten Kontrollflussgraph Projekt Testprojekt Y00 01 Datum 30 06 2004 Komponente Name TestKomponente ID 1 Quelldatei D Testumgebung Setup Data BeispielCodeAssernbler ASM Metrik erstellt am 30 06 2004 I Code in Editor betrachten E I Kantenz ge fixieren KFG strecken stauchen Geblockte Komponente 1 Istart linear b 8 2 goto stat02 15 3 linear 1 16 4 IstartD1 linear 3 17 5 goto start 22 6 linear 2 23 7 Istart 2 linear 2 26 Chr Staron 3 goto ende 29 Diese Stelle wird 9 linear 2 30 niemals angesprungen 10 lende linear 2 33 Entfernen x
123. mentare Obergr Programm Leyel Obergr 1 Einstellungen Untergr Untergr 0 0277 Sprache Dialekt Programml nge Obergr Programm Komplexit t Obergr 36 Untergr Untergr 1 Frequenz Vokabular Obergr Obergr 73172 68 Kennzahlen a z Aufwand 2 Untergr Untergr 4 75 Gr sser der Instruktionen Obergr Fehlerwahrscheinlichkeit Obergr 0 58 Untergr Untergr 0 Darstellung u m Abbildung 21 Formular Einstellungen Qualit tskriterien Wurden alle wesentlichen Einstellungen gemacht kann die Berechnung der Metri ken ber den Button Metriken erstellen im Reiter Einlesen Einstellungen Pro grammiersprache angesto en werden Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 2 Bedienung ber das Graphical User Interface GUI am Beispiel einer Softwarepr fung B35 3 mEtRIKA Analyse sicherheitsrelevanter Software Projekt schliessen Einstellungen Programmiersprache Dialekt Projekt Einlesen Einstellungen Programmiersprache Einstellungen Qualit tskriterien verwaltung Referenzdaten zuordnen Ausdruck Art Einstellungen Projektdaten Einstellungen Sprache Dialekt Kennzahlen Darstellung r Sta
124. metMcCabe ponenten Wesentliche Komplexit t ESS_CPX Geblockt N_EDGES Ge blockt N_NODES N_IO Metriken von Krell Durchschnittlich verwendete O Ni_F Ni1 ni1 peratoren Durchschnittlich verwendete O N2_F N2 n2 peranden Anzahl unterschiedlicher NP_NODES Ermittelt metMcCabe Ausspr nge Anzahl indirekte Ausspr nge IP_NODES Ermittelt metkrell Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz Anhang 1 In mEtRIKA implementierte Metriken bersicht A3 Summe aller maximalen Grade S_MAX_DEG Ermittelt metMcCabe Anzahl tote Sprungmarken N_DEAD_LABELS Ermittelt metKrell Anzahl berfl ssiger Sprungmar N_WASTE_JUMPS Ermittelt metKrell ken Anzahl einzeiliger Schleifen N_LOOP_LINE Ermittelt metKrell Anzahl Schleifen N_LOOPS Ermittelt metkrell VG ohne Case Strukturen VG_S_MAX_DEG VG S_MAX_DEG VG ohne Fehlerverwaltung VG_NEU VG S MAX_DEG IP_NODES NP_NODES VG Anzahl Programmzeilen VG_STMTS VG INST Erweiterte Frequenz Kommen NEU_COM_R N_COM VOC_F INST tare VG_S_MAX_DEG 1 2 Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz Anhang 2 Handbuch mEtRIKA B1 Anhang 2 Handbuch mEtRIKA mEtRIKA Analyse sicherhe
125. mittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 6 Umsetzung des Softwaredesign mEtRIKA 73 beispielsweise Fehler abgefangen und die Analyse der Quelltexte gestartet Der gr te Teil der implementierten Subs und Funktionen bezieht sich auf die in den Formularen eingebetteten Steuerelemente wie beispielsweise Buttons und Listen und implementiert so deren Funktionalit t Das GUImodul im VBA Code liefert Funktionen die die Darstellung der Formu lare im Kontext der Anwendung berpr fen Beispielsweise sind einzelne GUI Elemente je nach Zustand der Verarbeitung gesperrt ein oder ausgeblendet Eine Besonderheit der GUI sind die Funktionsaufrufe des SciTE Editors Er schafft die unmittelbare Verbindung zwischen Analysemechanismen und den zugrunde liegenden Quelltexten An vielen Stellen l sst sich durch den Editor der Quellcode ber einen Funktionsaufruf aus dem Analysewerkzeug sichten Sind dabei bereits Daten in der Referenzkonfiguration des Analyseprojekts enthalten stellt der Editor die Quelltexte in markierter Form dar Abbildung 27 amp BeispielCodeAssembler ASM SciTE IE BeispielCodeAssembler ASM SciTE File Edit Search View Tools Options Language Help File Edit Search View Tools Options Language Help 1 E 3 CODE 1 BEISPIEL DE r t z Anhanc eite D1 D11 H E E A K AE E E E E R R K E E E E AE E E E A E E E i metrika TestKomponente metr
126. n im n chsten Prozess die Einstellungen zur verwendeten Programmiersprache geleistet werden Dies wird durch eine Automatisierung dem Benutzer erleichtert Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 2 Bedienung ber das Graphical User Interface GUI am Beispiel einer Softwarepr fung B30 3 mEtRIKA Analyse sicherheitsrelevanter Software Projekt schliessen Einstellungen Programmiersprache Dialekt Projekt Einlesen Einstellungen Programmiersprache Einstellungen Qualit tskriterien verwaltung r Referenzdaten zuordnen Ausdruck Art Einstellungen Projektdaten Einstellungen Sprache Dialekt Kennzahlen Darstellun rStatusinformationen Verarbeitung 9 Referenzdaten aus Quelldateien E Keine Verarbeitung gestartet einlesen Metriken erstellen E il Abbildung 18 Formular Einstellungen Programmiersprache Referenzdaten einlesen ber den Button Referenzdaten aus Quelldateien einlesen werden die zuvor ein gestellten Quelldateien ein erstes Mal analysiert wobei in den Texten vorkommende Ausdr cke gesammelt und mit Ende der Automatik in der Liste der Referenzdaten alphabetisch dargestellt werden Die Liste liefert an dieser Stelle eine bersicht an enthalten Ausdr cken Bei der ersten Analyse ist eine Art Vorh
127. n Kommentaren Programml nge Umfang des verwendeten Vokabu lars Programmvolumen den mentalen Aufwand bei der Softwareentwicklung und Koeffizienten ber die die durchschnittliche Fehlerwahrscheinlichkeit in einem Quelltext berechnet wird Ein bedeutender Vorteil der Halstead Messungen ist dass einfach und effizient zu ermittelnde Gr en verwendet werden die f r jegli che Programmiersprachen anwendbar sind Nachteil ist der alleinige Fokus auf die Implementierung und der je nach Umsetzung der Definition offene Spielraum f r eigene Einstufungen der Basisgr en Operatoren Operanden Kommentar und Programmzeilen Balzert 1998 S 480f Dumke 1992 S 91 Krell 2003 S 20 24 Zuse 1999 S 5 Metriken nach McCabe Weg von den reinen Implementierungsaspekten die durch die Spracheigenschaf ten wesentlich beeinflusst werden k nnen legen die Metriken nach McCabe Hauptaugenmerk auf die logische Programmstruktur Wesentliches Ma f r McCa be ist die Einfachheit einer Programmstruktur da er der Auffassung war eine Software gem einer definierten Spezifikation erstellen zu k nnen wenn die Ein fachheit eines Systems sichergestellt werden k nne Aufsetzend auf dem gra phentheoretischen Ansatz bedient sich seine These des Modells der gerichteten Graphen und stellt ein Computerprogramm als eine abzuarbeitende Sequenz von Instruktionen dar Dabei unterscheidet er nach Codeelementen die die verschie denen Modellelemente repr sen
128. n Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 6 Umsetzung des Softwaredesign mEtRIKA 89 den bei der Berechnung der Hastead Metriken als Operanden gewertet Mit dun kelblau wurden die Befehlsausdr cke markiert Sie unterscheiden sich in den Klassi fikationen e 0 Instruktion die nicht zu analysieren ist Instruktion die zu analysieren ist Bedingter Sprung if e 6 Modulende Instruktion entspricht einem Prozeduraufruf 1 2 e 3 Modulende ungleich einem normalen Ende der Komponente 4 5 Sprung der nicht von einer Bedingung abh ngig ist goto Nach den Klassifikationen der Ausdr cke variieren die berechneten Ergebnisse Soll ein Befehl beispielsweise in der Untersuchung nicht betrachtet werden wird er mit 0 klassifiziert was zur Folge hat dass er selbst bei den Halstead Metriken nicht als Operator und seine Parameter nicht als Operanden eingehen Ein Befehl der Klasse 3 erh ht die Anzahl der weiteren Ausg nge P_NODES in den McCabe Metriken da er ein nicht gew hnliches Modulende repr sentiert Alle weiteren Codeelemente des Pr flings stellen auskommentierten Text bezie hungsweise Parameter der Befehle dar Gem den Definitionen aus Kapitel 3 2 5 und Krell 2003 betragen die Halstead Metriken bez glich des Codebeispiels aus Abbildung 39 nach mEtRIKA Metrik Von metR
129. n SciTE Editor und die Inter aktion mittels VBA auf die Quelltexte und Berichte in graphisch aufbereiteter Form zuzugreifen e Ebenso in Bezug auf das Berichtswesen k nnen eine Reihe weiterer Funktio nalit ten angedacht werden Beispiele hierf r sind die Berichterstellung ber die VBA Programmierschnittelle von Microsoft Word oder die Berichtsfunktio nalit ten die bereits ber Microsoft Access zur Verf gung stehen jedoch in der bisherigen Implementierung nicht verwendet werden Denkbar w re auch die Ansteuerung eines PDF Druckertreibers der die Berichte in das weit verbreitete PDF Dateiformat transformiert Die obigen Ausf hrungen zu zuk nftig zu implementierender Funktionalit ten zeigen das Potential das durch die erstmalige Realisierung des mEtRIKA Prototypen ent standen ist Fortf hrend sind eine Vielzahl weiterer Anpassungen des Frontend und dessen interner Verarbeitung denkbar Diese k nnten sich von der Protokollierung der Analysevorg nge ber Konsistenzpr fungen beim ffnen der Projektdatei bis hin zur Einbindung eines Men s mit den wichtigsten Funktionen zur komfortableren Nutzung des Frontend f r den Anwender erstrecken Alles in allem zeigt die Implementierung der Applikation mEtRIKA dass weitreichen de Funktionalit ten nach zuk nftigen Benutzeranforderungen programmiert werden k nnen um es als effizientes und vielseitiges Werkzeug bei Softwarepr fungen ein zusetzen Entwicklung eines An
130. n Werten Produkte mit Stan dards bez glich Programmierrichtlinien oder Produkte untereinander vergleichbar zu machen und somit Aussagen ber die Qualit t der Pr flinge treffen zu k nnen Da die Pr fungen bereits auf w hrend der Engineeringphasen bis dato entwickelten Teilprodukten und Dokumenten aufsetzen k nnen liefern sie fr he Indikatoren um die Gesamtentwicklung entsprechend der definierten Ziele lenken zu k nnen Dum ke 1992 S 3 8 39 Jacobsen Rey 2000 S 1f Sommerville 2003 S 557ff Gutachter erhalten ber Metriken einen Eindruck zur Charakteristik eines Software produkts und somit einen schnellen Einstieg in die Pr fung Sie erkennen anhand von Messergebnissen wann die spezifizierten Anforderungen bez glich Program mierrichtlinien und Standards erf llt sind und die Entwicklung konsistent mit der Spezifikation und dem Entwurf ist Ebenso ist es f r Kunden w hrend der Entwick lung wie vor der Abnahme ein Instrument zur berpr fung der in Auftrag gegebe nen Software deren Eigenschaften und Qualit t Muss die Software gewartet wer den erm glichen Messresultate den Mitarbeitern einen Eindruck ber die Problem stellen und Hot Spots der Anwendung An diesen auff lligen Komponenten k nnen sie dann mit den Verbesserungsarbeiten aufsetzen Fenton Pfleeger 1997 S 3 Jacobsen Rey 2000 S 1 10 Sommerville 2003 S 560 3 2 1 Automatisierte Softwaremessung Inspektionen wie die analysierenden Verfahre
131. n aus 2 2 lassen sich manuell und inzwischen zu gro en Teilen automatisiert durchf hren Diese Methoden erm gli chen die einfache Erstellung von Softwaremetriken und somit die Unterst tzung des Qualit tsmanagements Ein Beispiel f r den Vorteil der automatisierten Unterst tzung von Softwaremes sungen ist das Jahr 2000 Problem Y2K engl year 2 kilo welches damals nicht ausschlie lich ein technisches sondern vielmehr ein organisatorisches Prob lem aufgrund der hohen Verbreitung von kritischen Anwendungen darstellte An hand von speziell f r die Problematik entworfenen Softwarewerkzeugen den so genannten Y2K Independent Verification amp Validation Anwendungen konnte in jeglichen Institutionen und Organisationen eingesetzte Software auf Inkonsisten Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 3 Gew hrleistung von Softwarequalit t anhand von Metriken 29 3 2 2 zen und Fehler bez glich der Jahr 2000 Problematik hin automatisiert untersucht werden Ebenso wie in dem Beispiel k nnen unterst tzende Werkzeuge Software pr flinge bez glich anderer spezifizierter Problematiken hin untersuchen und die Resultate Gutachtern und Pr fern unterst tzend bereitstellen Kein dabei verwen detes Werkzeug ist ein Garant um Fehler in Pr flingen aufzudecken Vielmehr ist es eine Technik um einen ersten Einblick
132. n k nnen Bislang finden sie oft in Echtzeit und Sicherheitsanwendungen ihren Einsatz Um die Vorteile beider Programmierpara digmen zu nutzen werden auch Hoch und Assemblersprachen im so genannten Inline Assembler verkn pft Dabei werden zeitkritische Assemblermodule in Hochsprachencodes integriert und als Assembler ausgef hrt B mer et al 1998 S 315 321 Sommerville 2003 S 298 C Die Programmiersprache C gilt im Gegensatz zu den Assemblerdialekten als Hochsprache und wurde durch die Anwendung in der Betriebssystemprogram mierung seit 1972 und die Standardisierung im Jahre 1982 zum ANSI C popul r Ihre Vorteile sind die Hardwaren he die zwar nicht mit Assemblersprachen ver gleichbar dennoch aber effizienter als bei anderen Hochsprachen ist sowie ihre gute Lesbar und Zuverl ssigkeit die durch die Standardisierung erm glicht wur de Durch die Optimierung auf die basierende Hardware erm glicht sie eine schnelle Verarbeitung und verkn pft diese mit den Vorteilen von Hochsprachen leicht verst ndliche Programmierkonstrukte Datentypen und Portabilit t We sentlicher Nachteil bildet in C die Speicherverwaltung bei der Ressourcen manu ell reserviert und freigegeben werden k nnen die aber bei nicht sachgem er Verwendung zum vollst ndigen Systemabsturz f hren k nnen Au erdem l dt die Programmiersprache dazu ein Entwicklungsschwerpunkte auf die Ausf h rungsgeschwindigkeit zu legen so dass die Gefahr best
133. ndiger Nach Anhang 1 bilden die zu ermittelnden wesentlichen Grundmetriken bei McCabe die Anzahl der weiteren Ausg nge P_NODES die Anzahl der Eing nge N_IN die Anzahl der Knoten N_NODES die Anzahl der verarbeitenden Knoten N_SEQ und die Anzahl der pr nge Verzweigungen N_JUMPS Um die Korrektheit der ermittelten Metriken leichter aufzuzeigen stellt Abbildung 40 den Kontrollflussgraphen und den geblockten Pseudocode des Pr flings dar Ein Auszug der Einzelmetriken ergibt Metrik Von mEtRIKA Krell ermittelt e Anzahl der weiteren Ausg nge P_NODES 0 0 e Anzahl der Eing nge N_IN 1 1 e Anzahl der Knoten N_NODES 11 11 e Anzahl der Kanten N_EDGES 13 13 e Anzahl der verarbeitenden Knoten N_SEOQ 4 4 e Anzahl der Spr nge Verzweigungen N_JUMPS 6 5 Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 6 Umsetzung des Softwaredesign mEtRIKA 91 e Zyklomatische Zahl 4 4 Als weitere Ausg nge werden Befehle der Klassifikation 3 und Spr nge die auf Sprungmarken verweisen die nicht innerhalb der Komponente liegen interpretiert Eing nge sind im Kontext der Applikation mEtRIKA Moduleinspr nge ber ein Modullabel Die Anzahl der Knoten entspricht Zeilen der geblockten Komponente da jed
134. ne rriaire inana nen 71 Abbildung 26 MERIKA Mod lstruktUr ee 72 Abbildung 27 SciTE Editor mit Markierung der Referenzdaten ssssssssssserrrreserrnrens 73 Abbildung 28 Microsoft Access GUI gelinkte Tabellen usuussuesnsnnnnnnnnnnnnnnnnnn 74 Abbildung 29 mEtRIKA Einlesen der Referenzdaten u u un e nee 77 Abbildung 30 mEtRIKA Berechnung der Metriken ssssssssssssrrnsssurnnnssrnnnnsnnnnnnnennnnens 78 Abbildung 31 mEtRIKA Berechnung der Halstead Operanden und Operatoren 79 Abbildung 32 mEtRIKA Berechnung der Halstead Metriken uss 4u2snsn0nnnn0nn 80 Abbildung 33 mEtRIKA Berechnung der McCabe Metriken 44ss 444n4Hn RR HRR Rn 81 Abbildung 34 mEtRIKA Berechnung der Krell Metriken sssssssssssssssrrnrsssrrnrrssrnnrens 82 Abbildung 35 mEtRIKA Berechnung der globalen Metriken ssssssssssssrrrreserrnress 83 Abbildung 36 mEtRIKA Beispiel eines digitalen und individualen Berichts 85 Abbildung 37 MERIKA Backend StrukbUr eek 86 Abbildung 38 Verzeichnisstruktur zur Generierung eines Installationspakets 87 Abbildung 39 Untersuchungsgegenstand ACC TEST Quellcode uruuuneeennnnnnnnn nn 88 Abbildung 40 Untersuchungsgegenstand ACC TEST KFG unnnnnnnnnennnnnnnnnnnnnn nennen 90 Abbildung 41 bersicht Testergebnisse MEtRIKA ueeeeeennsnnnnnnnnnnnnnnnnnnnnnnnnnnn
135. nen und den LOGISCOPE Er gebnissen gegen berzustellen Durch diesen Prozess und den direkten Vergleich der verschiedenen Interpretationen der Kennzahlen wurden eine Reihe von nderungs vorschl gen gegen ber dem bisher verwendeten Analysewerkzeug erarbeitet Teils erm glicht LOGISCOPE die nderungen umzusetzen wie beispielsweise Anpassun gen der Ober und Untergrenzen die f r die Bestimmung der Qualit tskriterien ge m der Norm DIN ISO 9126 ben tigt werden Jedoch konnten weiterf hrende An passungen welche nderungen im Analysatormodul bedingen nicht umgesetzt werden Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 4 Softwarepr fung und Anforderungen an dabei verwendete Softwarewerkzeuge 46 4 4 Anforderungen seitens des BIA an eine zuk nftige Analysesoftware ge gen ber dem bisher eingesetzten Werkzeug Um Anforderungen und umzusetzende Konzepte einer zuk nftigen Rechnerunter st tzung von Zertifizierungsprozessen zu erl utern wird im ersten Schritt die Ar chitektur von LOGISCOPE dargestellt Danach wird der aktuelle Ist Zustand einer Softwareuntersuchung visualisiert und an einem Beispielprozess verdeutlicht um darauf basierend Defizite in den Einzelprozessen darzustellen Zur graphischen Il lustration des Gesch ftsprozesses wird konzeptionell an die ARIS Methode ange lehnt die h ufig in der Wirtschaftsin
136. nerlei Rechnerunterst tzung beim Erstel len und Verwalten der Referenzdaten vorgesehen ist Eine zuk nftige Ent wicklung k nnte durch komfortable Verwaltungsmechanismen die unter st tzte Bearbeitung der grundlegenden Referenzdaten realisieren So wer den auch schnelle Anpassungen auf fremde Sprachdialekte f r beispiels weise Assemblerprogramme leicht durchf hrbar so dass bedienende Gut achter sich schnell den wirklichen Problemstellungen widmen k nnen e Um einen schnellen Einstieg in zu untersuchende Quelltexte zu erhalten ist eine intuitive Bedienbarkeit des Werkzeugs vorteilhaft Die bisherige Analy sesoftware setzt eine umfangreichere Einarbeitung und Auseinanderset zung mit den Mechanismen voraus und ist somit nicht ohne weiteres be dienbar Hauptfunktionalit ten der Anwendung werden via Kommandoein gaben gesteuert was eine Benutzung der Handb cher bei sporadischer Verwendung unerl sslich macht Eine leichtere Benutzerf hrung hnlich anderer im Institut eingesetzter Softwareanwendungen wie die der stan dardisierten B roapplikationen erm glichen eine intuitive Handhabung und das schnelle Erzielen von Ergebnissen Auf diese Weise behindern langwie rige Einarbeitungsphasen nicht mehr die Verwendung des Werkzeugs e Visuelle Darstellungsformen sind die wichtigsten Funktionalit ten zur Einar beitung in ein zu pr fendes Softwaresystem Sie vermitteln einen ber sichtlichen und schnellen Eindruck von den Hot Spots
137. ngsverfahren S 1 Deutscher Universit tsverlag Gabler Edition Wissenschaft Wiesbaden 2000 Klug Schaefer 1997 Krell 2003 Lewerentz et al 2000 Orci 2001 Paradiso 2001 Reinert 2001 Reinert Reu 1991 Klug J Schaefer M Fehlererkennende Ma nahmen in Mikroprozessoren Sicherheitstechnisches Informations und Arbeitsblatt Berufsgenossenschaftliches Institut f r Arbeits schutz BIA Handbuch 29 Lfg VII 97 Sankt Augustin 1997 Krell M Bestimmung von Qualit tskriterien f r sicherheits relevante Software im Maschinenschutz auf Basis von zertifi ziertten Industrieanwendungen Diplomabschlussarbeit Fachhochschule Bonn Rhein Sieg Fachbereich Informatik Sankt Augustin 2003 Lewerentz C Rust H Simon F Quality Metrics Num bers Consequences Software Metriken Entwicklungen Werkzeuge und Anwendungsverfahren S 51 Deutscher U niversit tsverlag Gabler Edition Wissenschaft Wiesbaden 2000 Orci T Software Metrics Applications in a European Per spective Software Process Improvement Metrics Measu rement and Process Modelling Software Best Practice 4 S 71 Springer Verlag Berlin Heidelberg 2001 Paradiso M Software Verification amp Validation Introduced Software Quality Approaches Testing Verification and Vali dation Software Best Practise 1 S 36 Springer Verlag Berlin Heidelberg 2001 Reinert D Sicherheitstechnische Grund
138. nnnnnnnnnnnnnnn 92 VII Abk rzungsverzeichnis ADC ANSI ASCII BIA CASE DAC DIN E A Ed EN EPK GUI Hrsg HVBG IEC ISO MTTF PDF RAD RAP SIL SQL UML VB VBA Y2K Analog Digital Converter American National Standards Institute American Standard Code for Information Interchange Berufsgenossenschaftliches Institut f r Arbeitsschutz Computer Aided Software Engineering Digital Analog Converter Deutsche Industrie Norm Ein Ausgabe Editor Europ ische Norm des Comit Europ en de Normalisation Ereignisgesteuerte Prozessketten Graphical User Interface Herausgeber Hauptverband der Berufsgenossenschaften International Electrotechnical Commission Norm der International Organization for Standardization Mean Time to Failure Portable Document Format Rapid Application Development Rapid Application Programming Safety Integrity Level Structured Query Language Unified Modelling Language Visual Basic Visual Basic for Application Year 2 Kilo Synonym f r die Jahr 2000 Problematik 1 Einleitung 1 Einleitung 1 1 Rahmen und Ziele der Arbeit Der Studiengang Bachelor of Science in Computer Science der Fachhochschule Bonn Rhein Sieg endet mit der Anfertigung einer Bachelor Abschlussarbeit und dem dazugeh rigen Kolloquium Mit dieser Arbeit galt es ein Analysewerkzeug zu entwickeln welches im Rahmen einer Softwarepr fung zur Untersuchung sicher heitsrelevanter Software eingesetzt werden kann Die
139. nordnung der Metriken in Qualit tssicherungsma nahmen sssssssserrrrssernn 30 Gruppierung von Metriken f r Softwareprodukte zsss044u0nnnnnnnnnnn nn annnnnnnnnn 32 BEWERTEN MRE raia a N E S 35 Metrik n pach BIER BE are 36 Metriken objektorientierter Programmierparadigmen uussssnesnnnnnnnnnnnnnnnnnnnn 38 Anwendung Ziele und Grenzen der Softwaremessung zsss 4444snnnannnnn nenn 38 Softwarepr fung und Anforderungen an dabei verwendete Softwarewerkzeuge FR RR RER RAINER RR NIRDIERBIRINE REIN RI RR NIRMIE ERNANNT 40 Zertifizierung sicherheitsrelevanter Software 40 Das Berufsgenossenschaftliche Institut f r Arbeitsschutz ssssesssssssrrreserrrren 40 Der Zeruinzermos prozess imi BER 40 Hilfsmittel beim Zertifizierungsprozess Die Anwendung LOGISCOPE 41 Evaluierung und Weiterentwicklung der eingesetzten Qualit tssicherungsinstrumente von Krell sssssssssssrrsssssrnnessnnnnnsennnnesnnnnnennnn 45 Anforderungen seitens des BIA an eine zuk nftige Analysesoftware gegen ber dem bisher eingesetzte WerkZ UQ riimid 46 Die Architektur der Analysesoftware LOGISCOPE uuusssuusunnnnnnnnnnnnnnnnnnnnnnnnnnnn 47 Ein exemplarischer Prozess einer Softwarepr fung unter Verwendung von LOGISCOPE RER aa aa aaa 49 Schwachstellen unter Verwendung von LOGISCOPE und Anforderungen an eine zu entwickelnde RechnerunterSt tzung use 51 Softwaredesign der Neuentwicklung sssssssssssssrrnnsssrnnn
140. obleml sung ben tigte Komponenten unmittelbar zusammenh ngend und an den Prozessor ge koppelt Entsprechend dieser Betrachtung sind Mehrzwecksysteme engl general purpose systems wie beispielsweise PC Systeme f r eine Vielzahl verschiedener Anwendungen entworfen und integrieren nicht alle ben tigten Bauteile einzig auf einem Chip Bauteile eines Mikrocontrollers sind zum Beispiel der Prozessor CPU Speicher RAM ROM serielle Schnittstellen Ein und Ausgabekandle E A Ka n le Analog Digital ADC und Digital Analog Konverter DAC und Sensoren Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 1 Einleitung Integrierender Chip Abbildung 1 Aufbau eines Mikrocontrollers Klug Schaefer 1997 S 1 2 Derartige Komponenten sind zwar auch h ufig in Mehrzwecksystemen vorhanden doch wie angef hrt nicht als Einchip Rechner integriert Au erdem lassen sich beide Systeme ber die Eigenschaft Erweiterbarkeit voneinander abgrenzen Mehrzwecksysteme beinhalten einen Prozessor der auf einer Hauptplatine sitzt und hier ber mit einer Vielzahl verschiedener auf weiteren Platinen integrierten Sys temkomponenten verkn pft wird Eingebettete Systeme bieten in ihrer Architektur zwar ebenso Schnittstellen um sie bez glich ihrer Peripherie zu erweitern zum Bei spiel eine Schnittstelle zu ein
141. odukt wird seitens des BIA und hnlichen Institutionen ein statisches Analysewerkzeug Abbildung 7 bei der Pr fung des Prototypen verwendet Die Resultate der Softwaremessung dienen den Gutachtern beim Einstieg und der Analyse des Pr flings Darauf aufsetzend werden sie zur Kommunikationsgrundlage f r Pr fer und Entwickler Finden inner halb des Produktlebenszyklus nderungen am Produkt selbst statt m ssen bereits durchgef hrte Phasen der Zertifizierung wiederholt werden um zu pr fen ob die nderungen seiteneffektfrei im bisher entwickelten Produkt arbeiten und das Ge samtsystem den Sicherheitsanforderungen noch gen gt Dumke 1992 S 9 Krell 2003 S 7f Reinert Reu 1991 S 1 3ff 4 2 Hilfsmittel beim Zertifizierungsprozess Die Anwendung LOGISCOPE Gilt es im Zertifizierungsprozess Software zu untersuchen erhalten die Pr fer unter Anwendung geeigneter Rechnerunterst tzung einen schnellen Einstieg und einen Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 4 Softwarepr fung und Anforderungen an dabei verwendete Softwarewerkzeuge 42 groben berblick ber den Pr fling Sicherheitsrelevante Software bedarf oft einiger tausend Zeilen Quellcode zur Implementierung der Sicherheitsfunktionen was eine Unterst tzung durch Rechner zwangsl ufig n tig macht um eine effiziente Pr fung vollziehen zu k nnen Zu diesem Zw
142. om merville 2003 S 563f Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 4 Softwarepr fung und Anforderungen an dabei verwendete Softwarewerkzeuge 40 4 Softwarepr fung und Anforderungen an dabei verwendete Soft warewerkzeuge 4 1 Zertifizierung sicherheitsrelevanter Software Bisher wurden Softwaremetriken wesentlich im Zusammenhang zum hausinternen Entwicklungsprozess und dessen Qualit tsgew hrleistung betrachtet Besonders bei sicherheitsrelevanter Software spielen externe Pr fungen eine ma gebliche Rolle Zur Gew hrleistung der spezifizierten G tekriterien werden Softwareprodukte von externen unabh ngigen Gutachtern gepr ft womit die Ergebnisse der Pr f und Zertifizierungsstellen aktiv in den Entwicklungsprozess eingehen Das Berufsgenos senschaftliche Institut f r Arbeitsschutz BIA bildet eine solche Pr f und Zertifi zierungsstelle und arbeitet diesbez glich mit entwickelnden Unternehmen zusam men 4 1 1 Das Berufsgenossenschaftliche Institut f r Arbeitsschutz Als Abteilung des Hauptverbands der Berufsgenossenschaften HVBG ist das BIA ein Institut welches vorrangig den gewerblichen Berufsgenossenschaften und da zugeh rigen Instituten in naturwissenschaftlichen und technischen Fragen zu Ar beits und Gesundheitsschutz zur Seite steht Hauptaufgaben kommen aus den Bereichen der Forschung Entwicklung Untersu
143. on Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 6 Umsetzung des Softwaredesign mEtRIKA 79 Zu den Kennzahlen der globalen Metriken geh ren beispielsweise die Anzahl aller Eing nge in eine Komponente und die Anzahl aller nicht zyklischen Wege durch eine Komponente ber die folgenden Abbildungen werden die Teilfunktionen zur Berechnung der Metriken separat betrachtet und die Einzelschritte zur Berechnung dargestellt metHalsteadOperandenOper toren modAssembler nalyzer Funktionsaufruf Berechnung Halstead peranden Operatoren f r eine Komponente F r jeden Ausdruck in Komponente Ausdruck ist Operand Operanden Ausdruck ist Operator Operatoren Resultate in Datenbank schreiben Zeitt Abbildung 31 mEtRIKA Berechnung der Halstead Operanden und Operatoren Vor Generierung der Halstead Metriken m ssen die Operatoren und Operanden einer Komponente ermittelt werden Nach den Definitionen dieser Codesegmente aus Kapitel 3 2 5 werden sie f r jeden relevanten Ausdruck einer Komponente gepr ft und gesammelt Die Implementierung durch mEtRIKA definiert die Ele mente im Aspekt der Referenzdaten folgend e Operatoren sind alle Ausdr cke die als Referenzdatum der Klasse Be fehl angelegt wurden e Operanden entsprechen allen Ausdr cken die als Parameter oder La bel angelegt wurden Ein Label gilt jedoch nur a
144. on von Pr flingen verwendet um gem den Erl uterungen aus den obigen Abschnitten die ber einstimmung zwischen Spezifikationen und Umsetzungen zu pr fen Reviews sind immer in Verbindung zum Gesamtprojekt und weniger bez glich ei nes einzelnen Softwareprodukts zu betrachten Sie haben den Anspruch den Soll Ist Zustand eines Projekts zu pr fen und gegebenenfalls den zuk nftigen Projektfortgang zu steuern und zu beeinflussen Bisherige Prozesse werden be sprochen und ausgewertet und gehen in die zuk nftige Planung ein Balzert 1998 S 317 Ehrenberger 2002 S 171f Die Inspektion der Walkthrough und die Schreibtischpr fung beziehen sich im Gegensatz zum Review auf einzelne Softwareprodukte aus den Implementie Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 2 Designmethodik und Eigenschaften sicherer und zuverl ssiger eingebetteter Systeme 13 rungsphasen und stellen verschiedene Arten der Qualit tskontrolle und Qualit ts sicherung dar um Fehler Inkonsistenzen und Unvollst ndigkeiten aufzudecken Bereits in dieser Reihenfolge der Nennung ist eine qualitative Abschw chung aufgrund der Beteiligten und der Durchf hrungsart zwischen den einzelnen Me thoden festzustellen Grundlage einer Inspektion kann jegliches in einem Entwicklungsprozess erar beitetes Dokument sein Anforderungen Spezifikationen Grob und
145. orm_subDarstellungyerw Form_subKennzahlenMetriken Form_subKennzahlenverw Form_subProjektdatenverw Form_subProjektdatenVerwSpez ssembler Form_subProjektdatenverwSpezC Form_subProjektverwYerw Form_subRefdatenBearbeiten Form_subRefdatenQualitaetskriterien Form_subRefdatenverw 2 3 Module v grapbi K GUImodul ea A projektdate A projektverw EN HEBEN E FileDialog Abbildung 26 mEtRIKA Modulstruktur Die GUI wird ber die Objekte der Microsoft Access Klassenobjekte und das zentrale Modul GUImodul realisiert Das Modul tools definiert eine Reihe bergreifender Funktionen die beispielsweise zur Stringverarbeitung oder zu Shell Aufrufen und f r Dateisystemoperationen ben tigt werden modAssemblerAnalyzer enth lt VBA Quelltexte die speziell auf die Untersuchung von Assemblercodes zugeschnitten sind so dass alle bisher relevanten Analysefunktionen in diesem Modul enthalten sind Eine Erweiterung der Applikation bez glich eines Moduls dass beispielsweise C Quellen analysiert bedingt eine Implementierung dieser Assemblermethoden ent sprechend f r C Programme 6 2 1 Graphical User Interface mEtRIKA ber die Microsoft Access Klassenobjekte werden die GUI Formulare der Appli kation realisiert In die Formulare eingebettet befindet sich der VBA Code wel cher zur Ablaufsteuerung der Verarbeitung ben tigt wird Auf diese Weise werden Entwicklung eines Analysewerkzeugs zur Er
146. ormationen zu den Anwendungen werden zu gegebenen Zeitpunkten in der folgend detaillierten Dokumentation aufgef hrt 6 1 Microsoft Access VBA und grundlegende Anwendungsarchitektur Wie bereits in 5 4 2 erl utert ist die Skriptsprache Visual Basic for Application VBA in der Installation von Microsoft Access enthalten und integraler Bestandteil zur Entwicklung eigener Software oder zum Ausbau vorhandener Funktionalit ten Wurde eine Access Datei angelegt kann ber die Men leiste oder die Tastenkom bination Alt F11 die VBA Entwicklungsumgebung gestartet werden i Datei Erarbeiten Ansicht Einf gen Debuggen Ayf hren Fytras Addis enste 2 na UHR zus wextarsionen brrion Cowpare Database B MERIKA FE mEIRIKA Option Explicit Ey Merosoft Access Klassenobjekte EB Form _AioprajektverwerzeugenPrajekt die Methode ExecCmi ER orm_deo uelenh chtinstent Pri e STARTUPINFO EB Form _dyQueterOhneMarken ER Fom _doefdstenartiurrurk m BR datenFehlengewelung ER lom_subRefdatenQusltsetsirkenen n EB Form_subReldetenvenw ipReserved As Lo h tdInpur As ng h rdouepur As Long h tdError As Long Type PROCESS_ INFORMATION Long Kassenmodde ProcenaID As Long L FinDinlog dvThreadiD As Long s StartupInto An STARTUPINFO ceaaInt ion CloneHandie Lib kernel32 te Declare Function Get3ystemMetrics Lib uner32 nst NORMAL_PRIORITY_CLASS SH206 e Const INFINITE 16 Abbildung 22 VBA Entwicklun
147. peratoren Operanden zeigen weiter f hrende Ergebnisse der Berechnungen Die geblockten Komponenten r hren aus der Berechnung der McCabe Metriken die die Programmstruktur untersuchen Dabei entspricht der Quellcode einer Komponente der geblockten nur dass der Ge samtcode hinsichtlich weniger relevanter Aspekte komprimiert dargestellt wird ber einen Doppelklick auf die Listen ist der SITE Editor wiederum mit der relevanten Quelltextstelle zu ffnen Der Reiter Operatoren Operanden zeigt ebenso wie der zuvor geschilderte fortf hrende Ergebnisse aus der Berechnung der Metriken Operanden und Operatoren sind Zwischenresultate der Halstead Codemetriken und bilden eine Grundlage f r die unter Metriken Halstead zu findenden Kenn zahlen Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 2 Bedienung ber das Graphical User Interface GUI am Beispiel einer Softwarepr fung B39 3 mEtRIKA Analyse sicherheitsrelevanter Software Testprojekt 0 E Projekt schliessen Kennzahlen Projekt verwaltung Einstellungen Projektdaten Einstellungen Sprache Dialekt Kennzahlen Darstellung ausgew hlte Komponente TestKornpone Komponenten fE rTestbarkeit Quelldatei D Testumgebung Setup Data BeispielCodeAssemnbler asm Metrik erstellt am 30 06 2004 Akzeptiert zu struktur
148. phen in LOGISCOPE sssssssssssssrrreserrnrens 42 Abbildung 10 Beispiel eines Kiviatgraphen in LOGISCOPE zssssasnnnnnnnnnnnnnn nn nnnnnnn 43 Abbildung 11 Beispiel eines Qualit tsmodells in LOGISCOPE uuusasuuesnnnannnnnnnnnnnnnnnn 43 Abbildung 12 Beispiel eines Aufrufgraphen in LOGISCOPE u2uussannnnnnnnannnnnnnnnnnnnnn 44 Abbildung 13 Verwendete Symbole zur graphischen Visualisierung rrrennnnnn nn 46 Abbildung 14 Architektur LOGISCOPE usa 47 Abbildung 15 Auszug einer Referenzkonfiguration in LOGSICOPE sssssssssssssrrreserrrress 48 Abbildung 16 Einbettung des Analysewerkzeugs LOGISCOPE in eine Softwarepr fung des Berufsgenossenschaftlichen Instituts f r Arbeitsschutz 50 Abbildung 17 Beispiel einer Ergebnisdatei in LOGISCOPE s ssssssssssrssessrrnnessrrnnrssnnnrens 51 Abbildung 18 Soll Ablaufprozess eines zuk nftigen AnalysewerkzeugS uuss 4r0200 58 Abbildung 19 Softwareverteilungsmuster des zuk nftigen AnalysewerkzeugS 60 Abbildung 20 Anwendung des zuk nftigen AnalysewerkzeugS u z44444s 00n0nnnn ann n nn 61 Abbildung 21 K mpenenterdissramim nee ee 64 Abbildung 22 VBA Entwicklungsumgebung s ssssssssrssessrrnrssurnnnnsunnnnnsnnnnnnnnnnnnnnnnnnene 68 Abbildung 23 VBA BIBISIHERSVER WEISE nennen een 69 AbDildung 24 Microsoft Access GUD be 70 Abbildung 25 Hauptformular MERIKA sisses siresuisninidsii nann nnnnsi
149. r durch das Bibliothekenverweise verwaltet werden k nnen Yerweise mEtRIKA_FE Verf gbare Verweise Wv visual Basic For Applications Abbrechen VI Microsoft Access 10 0 Object Library W OLE Automation V Microsoft Scripting Runtime Durchsuchen WV Microsoft Shell Controls And Automation WV Microsoft DAO 3 6 Object Library 4 WV Microsoft Forms 2 0 Object Library WV Microsoft Office 10 0 Object Library Priorit t Wv Microsoft Activex Data Objects 2 1 Librar v Microsoft Excel 10 0 Object Library L IAS Helper COM Component 1 0 Type Library 145 RADIUS Protocol 1 0 Type Library Ll Acrobat Access 2 0 Type Library crolEHeloer 1 0 Tyoe Library Na gt r Microsoft Excel 10 0 Object Library Pfad C Programme Microsoft Office Office10 EXCEL EXE Sprache Voreinstellung Abbildung 23 VBA Bibliotheksverweise Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 6 Umsetzung des Softwaredesign mEtRIKA 70 W hrend der Ausf hrung des VBA Codes werden ben tigte Bibliotheken ber die Verweise automatisch dem Projekt hinzugef gt Fehlen Bibliotheken auf dem Rech nersystem wird der Programmfluss an dieser Stelle gestoppt so dass das Pro gramm in seinem Ablauf unterbricht und dem Benutzer den Mangel anhand einer Fehlermeldung darstellt Alle aktuell dem Programm zur Verf gung stehenden Objek
150. r und effizienter im Gesamtprozess einsetzen zu k nnen Ressourcen sind in diesem Fall Mitarbeiter und ihre Kompetenzen Entwicklungswerkzeuge Methoden R um lichkeiten und Finanzen Der Rahmen der durch ein Modell gesteckt wird ist vom durchf hrenden Projektmanagement variierbar und dient dazu Teilprozesse in ih rem zeitlichen Ablauf und ihren Ergebnissen zu fixieren Die Einzelabl ufe liefern Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 2 Designmethodik und Eigenschaften sicherer und zuverl ssiger eingebetteter Systeme 9 definierte Teilprodukte die im Verlauf der Gesamtentwicklung zusammengesetzt und daher integriert werden Balzert 1998 S 98 Sommerville 2003 S 24 Zur Erl uterung werden in folgenden Abschnitten die drei Prozessmodelle Was serfallmodell V Modell und Spiralmodell aufgef hrt um einen berblick ber h ufig im Softwareengineering verwendete Verfahren und Methoden aufzuzeigen Weitere Vorgehensmodelle wie das evolution re inkrementelle Modell das Proto typenmodell nebenl ufige und objektorientierte Modelle oder Extreme Program ming werden an dieser Stelle nicht weiter betrachtet 2 1 1 1 Wasserfall Modell hnlich einem Wasserfall verl uft dabei der Softwareengineering Prozess in Stufen abfallend wobei die Produkte und Ergebnisse einer vorigen Stufe zur Grundlage der folgenden werden
151. rachtet und daher in die sem und den folgenden Abschnitten dieses Kapitels nicht weiter beleuchtet Implementierung der Komponenten des Analysewerkzeugs Um die einfache und intuitive Handhabung der Anwendung zu gew hrleisten wurde sie entsprechend dem Konzept eines Assistenten entwickelt Bei Nutzung der Appli kation orientiert sich der Anwender an den im Hauptformular links angeordneten Hauptfunktionen Auf diese Weise werden alle relevanten Punkte durchexerziert und Basisdaten f r Folgefunktionen generiert B mEtRIKA Analyse sicherheitsrelevanter Software Projekt schliessen Projektverwaltung vorhandenes Projekt in Liste aufnehmen Projekt aus Liste l schen ausgew hltes Projekt ffnen Y B A Berufsgenossenschafiliches Institut f r Arbeitsschutz mEtRIKA gt gt Abbildung 25 Hauptformular mEtRIKA Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 6 Umsetzung des Softwaredesign mEtRIKA 72 Entsprechend den Hauptfunktionen aus Abbildung 25 linke Seite wurden die zu implementierenden Funktionalit ten in Modulen gruppiert E E mEtRIKA_FE mEtRIKA B 63 Microsoft Access Klassenobjekte Form_dlgProjektverwErzeugenProjekt Form_dlgQuellentlichtExistent Form_dlgQuellenOhneMarken Form_digRefdaten rt usdruck Form_dlgRefdatenFehlerpruefung Form_digRefdatenklassifizierung Form_metrika F
152. rch den Ausfall einer Anwendung droht muss ausgehend von ihrem potentiellen Risiko des Eintretens eingestuft werden Die Klassifizierung nach der Norm der International Electrotech nical Commission IEC 61508 erm glicht eine solche Einstufung und dient als Ma zur Integration von Sicherheitsma nahmen in ein Gesamtsystem ber diese Ein ordnung der Gefahr l sst sich ableiten welcher der vier Risikoreduzierungsklassen das System gen gen muss Ebenfalls existieren sich durch die Einstufung eines Softwareprodukts in den Safety Integrity Level SIL unterscheidende Anforde rungen an die Softwarequalit t und den Softwareentwicklungsprozess Anschlie end lassen sich daraus Systemverhalten im Gefahrfall und Pr ventivma nahmen spezifi Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 2 Designmethodik und Eigenschaften sicherer und zuverl ssiger eingebetteter Systeme 19 zieren und entwickeln Ehrenberger 2002 S 26 Reinert 2001 S 14 Reinert Reu 1991 S 1 Vogel Heuser 2003 S 30f Weiterhin unterscheidet die Norm nach der IEC in fehlervermeidende und fehlerbe herrschende Ma nahmen Sie gelten als Erweiterungen des klassischen Softwareen gineering und dienen einem besseren Qualit tsmanagement sowie aus Sicht der definierten Qualit tsparameter einem besseren Softwareprodukt Entwicklung eines Analysewerkzeugs zur Ermi
153. rd und eine Beispiel Codedatei mit einem Assemblerco de der zur Beispielhaften Verwendung der Applikation benutzt werden kann Start der Anwendung Nach der Installation mit den Standardeinstellungen des Installationsassistenten steht die Anwendung unter Startmen gt Programme gt mEtRIKA gt mEtRIKA zur Verf gung Mit Ausf hren dieser Verkn pfung wird das Analysewerk zeug gestartet ber die weiteren Startmen eintr ge l sst sich die Anwendung deinstallieren beziehungsweise der SciTE Editor verwenden ber weitere Links im SciTE Verzeichnis k nnen Informationen zu dem Editor abgerufen und Einstel lungen des Editor vorgenommen werden Der vollst ndige Ablauf einer Softwarepr fung anhand des Analysewerkzeugs mEtRIKA wird in Abbildung 6 dargestellt Um die Einzelschritte zu symbolisieren wird auf die Komponenten in Abbildung 5 zur ckgegriffen Das Vorgehen mit Start und Konfiguration der Anwendung sowie die Berechnung der Metriken und Gene rierung der graphischen Darstellungen werden ab Punkt 2 3 an einem Beispiel einer Softwarepr fung erl utert Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 2 Bedienung ber das Graphical User Interface GUI am Beispiel einer Softwarepr fung B13 Ereignis Daten Einzeldateien Funktion Daten Datenbank Beschreibung der Fkt manu
154. re entgegenzutreten Beherrschung meint in diesem Sinne die pr ventive Erkennung von Fehlern um den Systemausfall zu verhindern Ma nahmen sind zum Beispiel Selbsttests des Systems bei denen ausf hrbare Be fehle oder Hardwaremodule wie Speicher Register und Ein Ausgabeeinheiten hin sichtlich ihrer korrekten Verarbeitung und Funktionsweise gepr ft werden Klug Schaefer 1997 S 4ff Sommerville 2003 S 401f Reinert 2001 S 12 16 Reinert Reu 1991 S 1f Fehlerbeherrschende Mechanismen k nnen durch ihren zus tzli chen Aufwand den sie im Entwicklungsprozess verursachen den Teilbereichen Verf gbarkeit und Zuverl ssigkeit der in 1 5 spezifizierten Verl sslichkeit sicher heitsrelevanter Systeme zugeordnet werden In diesem Zusammenhang ber hren sie die zwei Eigenschaften da ein Ausfall eines fehlerbeherrschenden Mechanismus im definierten Zeitraum den geforderten Dienst nicht erbringen k nnte und die Ver l sslichkeit des Gesamtsystems gef hrdet Die Entwicklung sicherheitsrelevanter Systeme erfordert daher ein besonderes Ma an Qualit tsmechanismen die die spezifizierten und erforderlichen Anforderungen gew hrleisten In f r diese Form der Entwicklung angewandten Vorgehensmodellen sind demnach die Phasen der Risikoanalyse Spezifikation Entwurf und Implemen Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 2 Designmethodik
155. rheitsrelevanter Software im Maschinenschutz 6 Umsetzung des Softwaredesign mEtRIKA 75 6 2 3 Alle Operationen auf den Tabellen und den darin enthaltenen Datens tzen k nnen mit diesen Verkn pfungen programmtechnisch wie auf Tabellen des Frontend durchgef hrt werden Mit schliessen der Projektdatei ber die GUI werden die verkn pften Tabellen aus dem Access Frontend gel scht sind jedoch weiterhin im Backend ergo der Projektdatei verf gbar Der zweite Funktionsbereich von mEtRIKA bez glich der Projektverwaltung bezieht sich auf die Handhabung von allgemeinen Projekt Kundendaten projekttypspezi fischen und Konfigurationsdaten Projekttypspezifische Daten werden in Verbin dung zum aktuell verkn pften Projekttypen betrachtet und betreffen die Einstel lungen des relevanten Analysemoduls ber die Konfiguration der Quelldateien k nnen die zu untersuchenden Quelltexte logisch mit dem Projekt verbunden wer den so dass beim Analysevorgang die Applikation auf die Untersuchungsgegen s t nde zugreifen kann Die Realisierung der Komponente Projektverwaltung findet in mEtRIKA ber die Module projektverw projektdaten und die entsprechenden GUI Objekte statt Erstes Modul implementiert alle Operationen die zur Verwaltung von Pro jektdateien und deren Integration in das Frontend ben tigt werden projektdaten enth lt hingegen alle Funktionen die Abfragen und Manipulationen der Backend
156. rkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 2 Designmethodik und Eigenschaften sicherer und zuverl ssiger eingebetteter Systeme 11 2 1 2 2 1 2 1 2 1 2 2 Grundbegriffe der Softwarequalit t Im Zusammenhang zur Qualit tssicherung im Softwareentwicklungsprozess und deren Ma nahmen treten h ufig Begriffe auf die einer Erkl rung bed rfen um sie voneinander abgrenzen und gezielt in folgenden Teilen der Arbeit einsetzen zu k nnen Beweis Ein Beweis liefert als Ergebnis f r eine Behauptung die vorher aufgestellt und durch den Beweis formal best tigt oder widerlegt wird eine logische Aussage wie wahr oder falsch Die formale Herleitung eines korrekten Resultats ist nur bei einer genau spezifizierten Behauptung m glich In unserem Zusammenhang erfordert dies dass eine Spezifikation hier die Behauptung formal notiert ist um Missverst ndnisse die beispielsweise durch die Beschreibung anhand nat rli cher Sprache entstehen k nnten als fehlerhaftes Fundament des Beweises zu vermeiden Ehrenberger 2002 S 19 Besonders in Verbindung zur Qualit tssi cherung bei Algorithmen liefern Beweise zwar genaue Aussagen sind jedoch sehr aufw ndig und im Hinblick auf Entwicklungskosten nur bedingt durchf hr bar Verifikation und Validation Ebenso unter den Begriffen Verifizierung und Validierung bekannt sind sie Me thoden f r die b
157. rmittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 2 Designmethodik und Eigenschaften sicherer und zuverl ssiger eingebetteter Systeme 21 w hrte Validationsmethoden darstellen zu verwenden sowie eine strikte Qualit ts politik zu verfolgen Qualit tsmanagementtechniken finden permanent zur Siche rung des Qualit tsplans Anwendung Jegliche Fehler die im Design und der Kon zeption gemacht werden k nnen gilt es durch Anwendung der Strategien vorzu beugen und zu vermeiden Die sicherheitstechnische Entwicklung findet analog der herk mmlichen Produktentwicklung statt Da Softwarefehler nur in der Erstentwick lung beziehungsweise durch nderungen in das Produkt gelangen k nnen gelten auch bei Wartungsarbeiten die Prinzipien der Fehlervermeidung Die in Kapitel 2 2 aufgezeigten Methoden zur Sicherstellung der Softwarequalit t sind demnach der Fehlervermeidung im Softwareengineeringprozess zuzuordnen Fehlerbeherrschende Ma nahmen finden im Gegensatz zu den Fehlervermeiden den erst im Produkt selbst Anwendung m ssen jedoch ebenso in den Entwick lungsphasen vorgesehen und integriert werden Sie gehen von Fehlern im Produkt aus sind daher als fehlertolerant einzustufen und versuchen diese anhand sicher heitstechnischen Mechanismen zu kompensieren ber Fehlererkennung und die Integration von Redundanzen auf Systemebene wird versucht Fehlern und Ent wicklungsm ngeln in Softwa
158. rrekte Klassifizierung hin zu berpr fen Konfigurationen wie beispielsweise Befehl oder Label bedingter oder unbedingter Sprung k nnen fortf hrend verwaltet werden Als letzte Funktion wird unter dieser Rubrik die Einstellung von Grenzwerten f r Qualit tskriterien erm glicht Da mEtRIKA die Analyse von Soft warekandidaten nach den Metriken von Halstead Krell und McCabe unterst tzt k nnen an dieser Stelle Grenzwerte f r die Einzelmetriken spezifiziert werden die zur Berechnung der bergeordneten Qualit tskriterien nach dem Qualit tsmodell relevant sind Verwendung Faktor Kriterium Metrik Analysierbarkeit Codemetri en Anderbarkeit Portabilit t Yollst ndigkeit Abbildung 3 Einordnung der Metriken in das Qualit tsmodell Produktfunk tionalit t Verwendbarkeit Wiederverwendbarkeit A Hybride Metriken Produkt nder ungen Das in Abbildung 3 dargestellte Modell bildet das Qualit tsmodell ab nachdem Softwareeigenschaften durch Faktoren spezifiziert werden Um diese Faktoren wiederum quantifizieren zu k nnen werden sie in die Bestandteile einzelner Krite rien aufgeschl sselt welche sich wiederum aus einzelnen Codemetriken zusam mensetzen lassen Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 1 Die Anwendung mEt
159. ruk turanalyse basierend auf den Quelltexten Die Anomalienanalysen erm glichen systematische Analysen von Abweichungen wie beispielsweise Datenfluss anomalien Balzert 1998 S 280f 395f Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 2 Designmethodik und Eigenschaften sicherer und zuverl ssiger eingebetteter Systeme 17 Analytisches Qualit tssicherungsverfahren Abbildung 4 Klassifizierung analytischer Qualit tssicherungsverfahren In Anlehnung an Balzert 1998 S 397 Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 2 Designmethodik und Eigenschaften sicherer und zuverl ssiger eingebetteter Systeme 18 Alle Verfahren lassen sich nach ihrem Automatisierungsgrad strukturieren Automa tisierung ist durch Werkzeuge und Verfahren zu erzielen die die vollst ndigen oder Teilprozesse automatisiert abarbeiten k nnen so dass nicht alle Pr fungen der Pro duktqualit t manuell durchgef hrt werden m ssen Typischerweise ist es bisher so dass semantische Pr fungen manuell vorgenommen werden m ssen wobei f r die syntaktischen Konsistenz und Vollst ndig
160. s sicher eingestuft wenn das von ihr ausgehende tats chliche Restrisiko kleiner beziehungsweise gleich dem vertretbaren Risiko ist ber diese Methode der Risikoreduzierung werden iterativ die zu installierenden Sicherheitsme chanismen geplant welche zum Ma f r den zu betreibenden Aufwand in der Si cherheitstechnik werden Das Risiko beschreibt sich als Funktion aus den Bestandteilen Wahrscheinlichkeit des Eintretens eines Schadens in Verbindung zur Schwere des Schadens Dabei l sst sich die Schwere des Schadens in verschiedenen Dimensionen ausdr cken und be trachten Beispiele hierf r sind Verluste von Menschenleben Verk rzung der Le benszeit in Jahren Tage von Krankenhausaufenthalten kologischer Schaden in Quadratkilometern und der Dauer der Verschmutzung oder finanzieller Schaden in Geldeinheiten einer W hrung Ehrenberger 2002 S 16f Je nach sicherheitstechni scher Anwendung k nnen sich Schadenausma e verschieben so dass beispielswei se im Maschinenschutz meist ein Schaden den unmittelbaren Verwender der Anlage betrifft Potentielle Schadensausma e sind dabei im Bereich von leichten reversib len bis hin zu schweren Verletzungen oder gar Tod des Maschinenf hrers anzusie deln 1 5 Systemanforderungen sicherheitskritischer Systeme Aus 1 3 wissen wir dass die Verl sslichkeit ein essentielles Merkmal eines sicher heitskritischen Systems ist Sie ist mit der Vertrauensw rdigkeit eines Systems gleichzusetzen
161. sernnnnnunnnnnnnnnnnnennnnene 55 Vorteile Einer Eigenentwicklung iroccoricririricrisipiniiirinini ng 55 Ableitung des Soll Zustands und dessen Softwarearchitektur aus dem Ist ui E34 22 1 PRERBPRESFPRNENEREFIUERTESRESPHESTFTRESTEEFTNERTEFPESTERSEFFEERTEERTVERTESEEREREOFFFEERTEPFIFFERTERSE 55 Softwaredesign 1p 218 119 1 BORDBRRDDBSRERAEER SE BEER EEE SBLERERELIEEREBEBILEREREBSEEREREESCEREEER 60 Analyse der Anwendungsf lle und des Gesamtprozesses uuuussuesennnnnnnnnnnnnnnn 60 Auf dem Soll Konzept aufbauendes Ablaufmodell uusu 2ss0000nnnnnn nn 62 Komponenten und Subsystemstruktur une 62 Softwaredesign Feinentwurf und Auswahl der Programmierwerkzeuge 64 Komponenten des AnalysewerkZzeugsS nenne 64 Auswahl der verwendeten Programmierwerkzeuge uussssnnsnnnnnnnnnnnnnnnnnnnnnannnn 65 6 Umsetzung des Softwaredesign MELRIKAN nennuenennnenonnnnnnnnnnnnnnnnnn nenn nenn 68 6 1 Microsoft Access VBA und grundlegende Anwendungsarchitektur usnsesesneener 68 6 2 Implementierung der Komponenten des AnalysewerkzeugS nnusunnnnnennnnnnnnnnnen 71 6 21 Graphical User Interface mEtRIKA umuass4a00H0 nes annn anna anne anna nnennannnnnn 72 6 2 2 Projektverwaltung sssssssssrssssenssnrosrensenresrsnsanrssnsonsnnsenrosnuosanresnunsanresnsonnne 74 6 2 3 Verwaltung der Referenzdaten und Berechnung der Kennzahlen 75 6 2 3 1 Genererung d r Referenzdatel ee 76 6 2 3 2 Impl
162. sgangsknoten aus einem Programm Dies alles sind Metriken die die logische Struktur beschreiben und Indikatoren f r die Programmkomplexit t sein k nnen Die bekannteste Metrik von McCabe ist die zyklomatische Zahl mit e Anzahl der Kanten und n Anzahl der Knoten V G e n t2 Abbildung 8 McCabe s zyklomatische Komplexit t Der Summand 2 im letzten Teil der Berechnung ist ein fester Wert f r die An zahl der Ein und Ausspr nge im betrachteten Programmteil McCabe geht dabei von einer in seinen Augen guten Programmstruktur mit einem Einsprung und einem Aussprung aus Vorteil der Messung ist die Objektivit t bez glich des un tersuchten Teilprodukts durch das vorig beschriebene Modell der gerichteten Gra phen beziehungsweise Kontrollflussgraphen Aus diesem sind au erdem Testf lle f r alle Kantenz ge herzuleiten wor ber Vollst ndigkeit beim Aspekt des Testens gew hrleistet werden kann Dar ber hinaus lassen sich die Kennzahlen ebenso wie die der Halstead Metriken leicht und effizient berechnen und f hren schnell zu Ergebnissen Nachteilig ist dass das Programm als Untersuchungsobjekt einen zu wesentlichen Faktor einnimmt und andere Programmmerkmale wie beispiels weise komplex verschachtelte lineare Instruktionen durch die Zusammenfassung zu einem linear abzuarbeitenden Knoten zu wenig ber cksichtigt werden Die Ge samtkomplexit t eines Systems kann damit nur teilweise dargestellt werden und l s
163. spezifische Einstellungen uusussussnnnnnnnnnnnnnnnnnnnnnnn 22 Abildung 13 Formular QuelldatGi siin 24 Abbildung 14 Quelldateien Ampelsystem nee 26 Abbildung 15 Dialog nicht existierende Quelldateien neu verkn pfen ssssssssssserrrresens 27 Abbildung 16 Quelldateien ohne TextmMarken 2 28 Abbildung 17 Dialog Quelldateien mit Textmarken versehen sssssssrrseserrnrnserrnresena 28 Abbildung 18 Formular Einstellungen Programmiersprache Referenzdaten einlesen 30 Abbildung 19 SciTE Editor nicht ge high light et amp ge high light et 31 Abbildung 20 Formular Einstellungen Programmiersprache manuell bearbeiten 32 Abbildung 21 Formular Einstellungen Qualit tskriterien ussuunsnnnnnnnnnnnnnnnnnnnnnnn 34 Abbildung 22 Formular Einstellungen Programmiersprache Metriken erstellen 35 Abbildung 23 Windows Taskmanager Prozesspriorit t herabsetzen uss 2444440 36 Abbildu g 24 Formular Kennzahlen nee 37 Abbildung 25 Formular Qualit tskriteri un 39 Abbildung 26 Formular Darstellung 22 an een 40 Abbildung 27 Beispiel eines Excelberichts BeekbBt ananiaenenn 41 Abbildung 28 Beispiel eines Excelberichts Kontrollflussgraph einer Komponente 42 Abbildung 29 Beispielfunktionen durch Verwendung von VBA im Berichtswesen 44 Abbildung 30 Beispielwerkzeug Steuerelement Toolbox Mark
164. sprechenden Markierun gen auf diesen dargestellt 2 1 Installation des Frontend mEtRIKA Analyse Willkommen zum mFtRIKA Analyse sicherheitsrelevanter Software Setup Assistenten Er wind jetzt mEIRIKA V1 0 auf Ihren Computer installieren Sie inkan alle anderen Anwendungen beenden hevn Sin mi den Seno fartfahren Weker zum Fortfahren Abbiechen zum Verlassen Abbildung 4 Setup mEtRIKA Gem einem standardisierten Installationsassistenten werden alle f r mEtRIKA erforderlichen Komponenten auf dem lokalen Arbeitsplatz des Anwenders installiert Bei der Installation unter dem Standardpfad C Programme mEtRIKA werden die Verzeichnisse Data und Scite sowie die Dateien mEtRIKA mdb unins000 exe und unins000 dat angelegt Die unins Dateien beinhalten einen Deinstallati ons Assistenten ber den die Applikation vom Rechner entfernt werden kann Die Datei mEtRIKA mdb entspricht dem Frontend so dass die Anwendung ber diese Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 2 Bedienung ber das Graphical User Interface GUI am Beispiel einer Softwarepr fung B12 2 2 Datei gestartet werden kann Das Verzeichnis Data enth lt eine Reihe von Sym boldateien eine Excel Programmdatei die bei der Berechnung der graphischen Darstellungen ben tigt wi
165. ssembler Projekt Quelldateien verwaltung Quelldateien Auf alle Quelldateien kann Einstellungen zugegriffen werden Projektdaten Einstellungen Sprache Dialekt Kennzahlen Ale Quelldateien pit Textmarken ersehen Quelldatei ee Quelldatei alle Quelldateien nt Mraig Ea hinzuf gen Sehen BE kennzeichnen Darstellung Abbildung 16 Quelldateien ohne Textmarken 3 Quelldateien ohne Textmarken Quelldateien ohne Textmarken Quelldatei mit Textrnarken Dialog schliessen kennzeichnen Abbildung 17 Dialog Quelldateien mit Textmarken versehen ber einen Doppelklick auf ein Listenelement der Quelldateien Liste wird dieses mit dem bei der mEtRIKA Installation enthaltenen SciTE Editor ge ffnet So kann der Anwender effizient die Quelldatei mit Textmarken versehen beziehungs weise bei Bedarf anderweitig editieren Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 2 Bedienung ber das Graphical User Interface GUI am Beispiel einer Softwarepr fung B29 2 5 Einstellungen zu Programmiersprache Dialekt der zu untersuchenden Software und Start der Berechnung Wurden im vorigen Schritt die Quelldateien und sonstigen Projektdaten angelegt und eingestellt kann die weitere Verarbeitung beginnen Um die Kennzahlen und Metriken auf Grundlage der Quelltexte berechnen zu k nnen m sse
166. ssssesssesssrssrresnrrssrrennne 19 25 Einstellungen zu Programmiersprache Dialekt der zu untersuchenden Software und Start der BerechNUNG cnar 29 2 6 Berechnete Metriken und weitere Kennzahlen us uuzss202n0nnnnnnnnnnn nn nenn nennen 36 Ll Darstellungsfunktionen ssssssssesrssrensanresransunrsnnnonnnnsannosnunsanrennnnsanrennnennnn 39 Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 0 B3 Abbildungsverzeichnis AbBildung 1 Architektur MERIKA ee 5 Abbild ng 2 Hauptform lar MERIKA ee 6 Abbildung 3 Einordnung der Metriken in das Qualit tsmodell ssssssssesrsseserrnreserrnnsnns 9 Abbildung 4 Setup MERIKA nn 11 Abbildung 5 Legende Ablaufdiagramm einer Softwarepr fung ssssssssssrrsrrrrsssssrrrrennes 13 Abbildung 6 Ablauf einer Softwarepr fung ssssssssssssssrnrssurnnnnsunnnnnnnnnnnnnnnnnnnnnnnnennnn 15 Abbildung 7 Bin sjelssi 1 li 0 PORONBEERERERBERSEREBEEEPEREBEEEPEHERELEREHERELEEERERLEELEREREEEPEREREREER 16 Abbildung 8 Speichern der Proj ktdatei una 16 Abbildung 9 Ampelsystem und aktualisieren des Projektpfads ssssssssssrrrrrsnnssrrrrrrnna 18 Abbildung 10 Dateidialog zur Aktualisierung des Projektpfads us 44444ns00nnnnn nenn 19 Abbildung 11 Formular Projekt amp Kundendaten nuresunssarnsanusnn nenne nennen rennen rege 20 Abbildung 12 Formular projekt
167. st daher lediglich bedingte Aussagen ber die Eigenschaften eines Gesamtsys tems zu Balzert 1998 S 481f Dumke 1992 S 102f Fenton Pfleeger 1997 S 293f Halstead 1977 Part I Krell 2003 S 24 28 Zuse 1999 S 5 Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 3 Gew hrleistung von Softwarequalit t anhand von Metriken 38 3 2 7 Metriken objektorientierter Programmierparadigmen Besonders am Beispiel der Halstead Metriken l sst sich verdeutlichen in wie weit eine verwendete Programmiersprache die Messwerte von Softwaremetriken beein flusst Produkte denen verschiedene Technologien zugrunde liegen lassen sich dementsprechend nicht ohne weitere Betrachtungen vergleichen Besonders wenn der Technologieunterschied in verschieden verwendeten Programmierparadigmen liegt bed rfen Metriken Anpassungen um Falscheinsch tzungen bez glich des untersuchten Codes zu verhindern Softwaremessungen f r objektorientierte Pro grammiersprachen wie Java Delphi und C bed rfen dar ber hinaus Analysen ber Klassenstrukturen Objekten Schnittstellen und Klassenimplementierungen Erg nzende Metriken k nnen Klassenhierarchie und Informationsma e Struktu riertheits Lesbarkeits und Erweiterbarkeitsma e sein die besonders die Aspekte der Instanziierung Polymorphie Vererbung und Wissensverteilung betreffen Dumke 1992 S 137f 141 143
168. t da diese Datei die vollst ndige Verar beitungslogik enth lt Au erdem sind in ihm alle ben tigten graphischen Formulare zur Repr sentation des Graphical User Interface GUT eingebunden Der zweite Teil der Anwendung besteht aus dem Backend welches ebenfalls eine Microsoft Ac cess Datei mdb ist und alle n tigen Tabellen mit Datens tzen enth lt Ein Ba ckend kann durch das Frontend erzeugt werden und dient der Datenhaltung aller w hrend der Projektbearbeitung anfallenden Daten Wird eine Projektdatei erzeugt ist diese mit dem Frontend zu ffnen um die Bearbeitung der Daten zu erm glichen l FrontEnd Pr fer 01 po ee ji C okalerClient Pr fer 01 Projekidatei A FrontEnd Pr fer 02 er E L Projektdatei B B NetServer z lokalerClient Pr fer 02 Projektdatei C CNAN FrontEnd Prufer 3 lokalerClient Pr fer 03 Abbildung 1 Architektur mEtRIKA Wie in Abbildung 1 dargestellt bedient sich mEtRIKA einer verteilten Architektur wobei die Datenhaltung auf dem vom Benutzer verwendeten lokalen Client selbst oder auf einem Rechner im Netzwerk geschehen kann Die Anwendung wurde gem dem Prinzip eines Wizards entwickelt welches die intuitive Handhabung der Software unterst tzen soll Sie ist aus einem Hauptfor mular aufgebaut in welches alle weiteren Formulare zur Laufzeit geladen werden so dass sie als Unterformular sichtbar und zugreifbar werden
169. t l sst sich dann lediglich durch Auswahl in der Liste und an schlie endem Klick auf Projekt aus Liste l schen aus der Projektliste entfernen Ist der Zugriff auf eine ausgew hlte Projektdatei m glich k nnen die Projektdaten ber einen Doppelklick auf das Listenelement oder durch Auswahl und anschlie Benden Klick auf den Button ausgew hltes Projekt ffnen mit dem Frontend ge linkt werden so dass die Verarbeitung fortgef hrt werden kann W hrend des ff nen Mechanismus wird automatisch von der Projektdatei eine Backup Kopie angelegt Das Backup wird in dem Verzeichnis in dem auch die Projektdatei zu fin den ist erzeugt und tr gt den Dateinamen NameProjektdatei Backup Sollte die Originaldatei w hrend einer Verarbeitung besch digt werden l sst sie sich somit immer wieder durch Umbenennung in die Dateiendung mdb wiederherstellen 2 4 Verwaltung und Konfiguration der Projektdaten Handelt es sich bei dem gelinkten Projekt um ein neu angelegtes sind eine F lle von Projektdaten anzugeben Sie dienen einerseits der Dokumentation des Projekts und werden an sp teren Stellen Inhalt des Berichtswesens oder sind f r die weitere Verarbeitung und Analyse des Pr flings erforderlich Bei den verschiedenen Daten Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 2 Bedienung ber das Graphical User Inter
170. te k nnen ber den Ob jektkatalog Aktivierung ber Men leiste oder Taste F2 in der Entwicklungsumge bung angezeigt werden ber die herk mmliche Access GUI lassen sich Objekte wie Formulare und Modu le auf die in der VBA Entwicklungsumgebung zugegriffen werden kann anlegen Au erdem stehen weitere Objekte wie Tabellen Abfragen Berichte Seiten und Makros zur Verf gung Datei Bearbeiten Ansicht Einf gen Extras Fenster 2 Frage hier eingeben r Deumalsg yrkBnl gt manran U MERIKA Datenbank Access 2000 Dateiformat ffnen B Entwurf Neu X un GEE Objekte ET Erstellt eine Tabelle in der Entwurfsansicht Tabellen Erstellt eine Tabelle unter Verwendung des Assistenten FE i A Abfragen Erstellt eine Tabelle in der Datenblattansicht AE E hipkennzeichenkomponente E Formulare 2 hipKennzeichenLabel Berichte bE hipkennzeichenQuellcode Seiten E hiprefdatenklassifikation 2 Makros E komponenten te komponentenGeblockt Gruppen H Favoriten E komponentenOperanden De komponentenOperatoren persProjektliste 3 projektdaten E projektdatenSpezifischklasse E auelldateien E refdaten E tmpQuelldatei hneTextmarke E tmpRefdatenFehlerliste Abbildung 24 Microsoft Access GUI Um die nach Spezifikation geforderte zweischichtige Client Server Struktur zu realisieren wird die Anwendung Frontend Backend aufgeteilt Beide Kompo
171. tead und McCabe Metriken sind in den Z hldateien enthalten Dort liegen sie f r jede Komponente in tabellarischer Form vor Somit bilden sie die Grundlage aller aufsetzenden Berechnungen von Kennzahlen Reference File for ASM68XX_INTER Assembler Coding of the type of LOGISCOPE action to be performed field can have the following values instruction ignored instruction analyzed no particular action procedure call a parameter must specify a module name module exit other than normal end conditionnal jump one or several parameters must specify the branch point unconditionnal jump one or several parameters must specify the branch point while loop end while loop while loop exit possibly with the loop label as parameter while loop reset pvossiblv with the loop label as parameter H PHRHbrrereeH a RRA BAPPPRARAARRARARAA ABD ree DAAA I I I I ar I I I di I I I ai I I I I g I ktrtrtrtrt rt ttrtrttrtr tr HH HH HH HH PHHrHrrrren Abbildung 15 Auszug einer Referenzkonfiguration in LOGSICOPE Um die Kennzahlen auf Basis der Quelltexte aufstellen zu k nnen m ssen neben den Quellen Konfigurationen mitgeliefert werden die beschreiben wie die Quellen zu interpretieren sind LOGISCOPE implementiert diese Funktion ber die so ge nannte Referenzkonfiguration Dabei muss der Anwender die in einem Quelltext vorkommenden und f r die Berechnung
172. tellung und Visuali sierung ist die einzige die lediglich die Inhalte der Datensammlung ausliest und nicht manipuliert Sie ben tigt die Daten zur Illustration im Analysewerkzeug so wie zur Generierung und Berechnung der Berichte die die Werte aus der Samm lung repr sentieren Vom eigentlichen Analysewerkzeug getrennt k nnen Pr fer und Kunden gleicherma en auf die Berichte zugreifen und deren Funktionen nut zen 5 4 Softwaredesign Feinentwurf und Auswahl der Programmierwerkzeuge Die Aspekte der Grobentw rfe gilt es im Feinentwurf eine Stufe weiterzuentwickeln Im Hinblick auf die Implementierung werden die zuvor spezifizierten Modelle und Komponenten auf ihre einzelnen Bestandteile und die verwendeten Technologien herunter gebrochen Die auszuw hlende Technik muss dabei stets im Kontext der in 4 4 3 definierten Anforderungen betrachtet werden 5 4 1 Komponenten des Analysewerkzeugs Nach Abbildung 21 entsprechen die Komponenten GUI Projektverwaltung Ver waltung Referenzdaten und Darstellung den wesentlichen Teilen des Analysewerk zeugs In einer umsetzenden Technologie sollten sie daher zusammen als integ rierte Einzelpakete betrachtet werden Ferner muss die Technologie den in 4 4 3 formulierten Anspr chen des BIA gen gen so dass die Applikation in einer zwei schichtigen Client Server Architektur realisiert werden kann die zudem vor al lem eine vereinfachte Handhabbarkeit einen hohen Grad an Rechnerunterst t
173. ten dass sicher heitsrelevante Systemkomponenten so verst ndlich wie nur m glich entwickelt werden M glichst trickreiche komplizierte und knapp formulierte Programmteile sind vielleicht f r den ersten Autor einsichtig k nnen jedoch bei einer Wartung oder Anpassung zu einem sp teren Zeitpunkt zu Schwierigkeiten oder gar Fehlern f h ren und somit zu Ausfallursachen werden Au erdem ist die Verwendung von Pro grammierkonstrukten und verfahren die unn tig Fehler provozieren k nnten oder von besonderen Spracheigenschaften die nicht klar definiert sind nicht zu empfeh len Beispiele hierf r sind goto Anweisungen Flie kommazahlen und die so ge nannten Zeiger der Programmiersprache C Kapitel 2 4 1 2 deren Verwendung in einer Ebene gt 2 aufgrund der Komplexit t leicht zu Missverst ndnissen f hren k n nen Prinzipiell ist es wichtig auf die Lesbarkeit von Programmen zu achten um an deren Mitarbeitern den Einstieg in diese nicht zu erschweren Sommerville 2003 S 401f 421f Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 2 Designmethodik und Eigenschaften sicherer und zuverl ssiger eingebetteter Systeme 23 2 4 1 Programmierkonstrukte in der Sicherheitstechnik Eine f r eine sicherheitsrelevante Anwendung verwendete Programmiersprache liefert mit ihren Programmierkonstrukten und Datentypen wichtige Ei
174. tersuchenden Software anhand Referenzdaten konfigurieren und diese als Grundlage mit den Quelltexten dem Analysemodul zur Verf gung Stellen m ssen Daraus resultieren die Kennzahlen die permanent gesichert werden und als Basis der graphischen Abstraktion anhand verschiedener Modelle dienen Folgende Graphik beschreibt die Schritte und Struktur des vorgesehenen Soll Zu Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 5 Softwaredesign der Neuentwicklung 56 stands und nutzt dabei die bereits in Abbildung 16 verwendeten Symbole Legende Abbildung 13 Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 5 Softwaredesign der Neuentwicklung 57 Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 5 Softwaredesign der Neuentwicklung 58 Ereignis Funktion Datenobjekt Start der Softwarepr fung Erstellen der Io 5 2 Projektdaten RE Projektdaten JET u liegen vor S E 8 Referenzdaten liegen vor Ergebnisdaten liegen vor vYisualisierung und Berichterstellung der Ergebnisdaten Quelltexte en Erstellen der Metriken und Qualit tskennzahlen Zeitt Anmerkungen Projektdatei Projektdaten Refer
175. tieren Die Knoten eines Graphen entsprechen den abzuarbeitenden Befehlsfolgen Die Kantenz ge welche die Knoten wiederum ver kn pfen werden durch den m glichen Programmfluss geliefert und komplettieren so das Modell Hinsichtlich des Programmflusses unterscheidet er zwischen linea ren Codest cken die lediglich eine sequenzielle Verarbeitung ausmachen und Spr ngen die ein berspringen oder ein wiederholtes Ausf hren von Programmin struktionen hervorrufen k nnen Spr nge k nnen wiederum in bedingte denen ei ne Bedingung zugrunde liegt und unbedingte welche in jedem Fall ablaufen klas sifiziert werden Ein Startknoten dient als Eingang in einen Graphen bei dem die Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 3 Gew hrleistung von Softwarequalit t anhand von Metriken 37 Ausf hrung des Gesamtsystems beziehungsweise aufgebrochen auf eine Kompo nente die Ausf hrung des Teilprodukts gestartet wird Mit Abarbeitung der logi schen Struktur endet die Verarbeitung in einem Endknoten der auch als Program maussprung bezeichnet wird Aufbauend auf das Modell entwickelte McCabe Kenn zahlen die die Eigenschaften des Programms beschreiben Beispiele hierf r sind die Anzahl der Knoten und Kanten die Anzahl der so genannten toten Knoten und Kanten die in einem Programmfluss niemals durchlaufen werden und die An zahl der Au
176. tik zur Generierung der Kennzahlen startet die Verarbeitung Die Darstellung liefert Funktionen um die berechneten Metriken und Qualit ts kriterien zu analysieren und auf den Ergebnissen aufsetzend Berichte und Abbil dungen anhand ankn pfender Instrumente erstellen und bearbeiten zu k nnen Analysewerkzeug Projektverwaltung Verschiedene Projekte verwalten Anlegen amp editieren von Projekten Editieren von Projekt und Kundendaten Verwalten und editieren von zu unter Kunden suchenden Quelldateien eines Projektes Pr fer Gutachter Verwaltung Referenzdaten Einlesen konfigurieren und verwalten der Referenzdaten Verwalten von Grenzwerten des Qualit tsmodells Pr fer Berechnen der Metriken Darstellung Darstellen der berechneten Metriken und Qualit tskriterien f r die untersuchten Module visualisierung und Berichtswesen auf Basis der berechneten Metriken Abbildung 20 Anwendung des zuk nftigen Analysewerkzeugs Wie in Abbildung 20 aufgezeigt werden die Dokumente die im letzten Anwen dungsschritt des Analysewerkzeugs der Komponente Darstellung generiert wer den ber eine Datenhaltung gesammelt und bilden die Grundlage f r weitere A Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 5 Softwaredesign der Neuentwicklung 62 5 3 2 5 3 3 nalysen durch Kunden und Gutachter Durch die Samml
177. tische und logische Befehle Bitmanipulations Vergleichs Schiebe und Rotationsbefehle Datentransfer Sprungbefehle und Befehle zum Unterprogrammaufruf zur Stackmanipulation sowie sonstige Steu erbefehle und Sonderbefehle aufteilen Assemblerprogramme haben die Nachteile dass sie nur schwer auf andere Plattformen portierbar sind da die verwendeten Befehle dem Befehlssatz des Prozessors entsprechen m ssen Da Assemblerprogramme schwer lesbar und meistens nicht intuitiv verstehbar sind m ssen sich Programmierer und Pr fer von solchen Programmen gut in den Be fehlssatz und die Software einarbeiten um den Ablauf und die Korrektheit nach vollziehen zu k nnen Beispielsweise m ssen einfache Schleifenkonstrukte aus Hochsprachen auf einzelne Befehle abgebildet und Variablen auf Registerebene Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 2 Designmethodik und Eigenschaften sicherer und zuverl ssiger eingebetteter Systeme 24 2 4 1 2 betrachtet werden was die Lesbarkeit von Assemblerdialekten stark beeintr ch tigt Dennoch werden je nach Anwendung auch heute noch Assemblerprogram me den Programmen in Hochsprachen vorgezogen Durch die Hardwaren he zeichnet sie eine sehr kurze Ausf hrungszeit und keine Einschr nkungen der Pro zessorfunktionen aus die gew hnlich bei Hochsprachen durch eine Abstraktion vom Prozessor zustande komme
178. triken nur wenige Abwei chungen in den Qualit tskriterien aufzeigen In einigen F llen sind Differenzen um eine Einheit aufgetreten die eine Komponente beispielsweise bez glich der Ein fachheit nicht in Zu testen sondern in Zu inspizieren eingestuft haben Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 7 Zusammenfassung und Ausblick 93 7 Zusammenfassung und Ausblick Die prototypische Realisierung von mEtRIKA im Rahmen dieser Abschlussarbeit zeigt dass die Anforderungen einer Pr f und Zertifizierungsstelle an eine Rechnerunter st tzung bei der Softwareanalyse weitestgehend in Form einer neuen Applikation um zusetzen waren F r die Gutachter bedeutet dies dass sie zuk nftig nicht mehr aus schlie lich die starren Funktionalit ten der bisherigen Anwendung nutzen m ssen sondern zuk nftig verst rkt mEtRIKA in die Softwarepr fung einbeziehen k nnen In nerhalb des kurzen Entwicklungszeitraums blieb nur wenig Zeit zur ausf hrlichen Ve rifikation und Validation der in mEtRIKA implementierten Funktionen so dass die An wendung wie bereits angeschnitten prototypischen Charakter aufweist und daher jetzt noch nicht bedenkenlos zum Einsatz kommen kann Jedoch zeigt die Entwick lung ebenfalls dass mit ihr eine Ideenschnittstelle geschaffen wurde die Raum f r jegliche Anforderungen der Anwender bez glich Funktionalit
179. ttlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 2 Designmethodik und Eigenschaften sicherer und zuverl ssiger eingebetteter Systeme 01 20 Konzept erstellen vollst ndige Definition jedes Bauteils 02 DR Gefahr amp Risikoanalyse Yollst ndiges Erstellen der Sicherheitsanforderungen Sicherheitsanforder ungen zuteilen vollst ndige Planung vollst ndige Beauftragung amp Installation vollst ndige Sicherheitspr fung vollst ndiger Betrieb Wartung Reparatur Auftrag zur ckziehen Abbildung 5 Lebenszyklusmodell nach IEC 61508 In Anlehnung an Vogel Heuser 2003 S 31 04 05 06 07 08 Realisierung Modifikation amp Nachr stung H ufig ist die Ursache von Systemausf llen nicht auf Bauteilausf lle aufgrund bei spielsweise Komponentenalterung zur ckzuf hren Vielmehr gelten nicht ber ck sichtigte und spezifizierte Systemzust nde als h ufige Ausfallursachen da sie zu ei nem nicht definierten Systemverhalten f hren Fehlervermeidende Ma nahmen fin den im vollst ndigen Produktlebenszyklus Anwendung da sie bereits in der Ent wicklung beginnen und bis zum Ende der Produktverwendung andauern Fehlerver meidung entspricht der Strategie in der Produktentwicklung bew hrte Techniken die beispielsweise die Wahrscheinlichkeit von Programmierfehlern senken oder be Entwicklung eines Analysewerkzeugs zur E
180. tusinformationen Verarbeitung Referenzdaten aus Quelldateien E Keine Verarbeitung gestartet einlesen E Metriken erstellen Abbildung 22 Formular Einstellungen Programmiersprache Metriken erstellen Die Berechnung der Metriken kann abh ngig vom Umfang der zu Grunde liegenden Quelldateien mehrere Stunden dauern Ein Test auf Basis einer Assembler Quell datei mit ca 5 800 Zeilen Quellcode und ca 200 Komponenten ben tigte ca 2 75 Stunden zur Berechnung der Metriken Soll an dem Arbeitsplatz w hrend der Be rechnung ber weitere Prozesse gearbeitet werden ist zu empfehlen die Prozess priorit t der Berechnung herabzusetzen Dabei ist ber den Windows Taskmana ger gt Reiter Prozesse der Prozess MSACCESS EXE auszuw hlen und dessen Priorit t ber das Kontextmen der rechten Maustaste herabzusenken Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 2 Bedienung ber das Graphical User Interface GUI am Beispiel einer Softwarepr fung B36 E windows Task Manager l loj xj Datei Optionen Ansicht Anwendungen Prozesse Systemleistung Name lc cpu zei speicher MSACCESS EXE 1404 3 17 13 17 025 k scardsvr exe 1884 00 0 00 00 1 408k Prozess beenden wfica32 exe 1868 00 0 00 14 9 972k _ Prozessstruktur
181. u k nnen existiert eine Beispielcodedatei eines Assemblerdialekts im Programmverzeichnis von mEtRIKA unter Data BeispielCodeAssembler ASM Um das Beispiel exemplarisch durchzu arbeiten wird diese Quelldatei nun als Pr fgegenstand eingestellt und daher in die Liste der Quelldateien aufgenommen Entsprechend dem Ampelsystem aus der Projektverwaltung wird in der Verwaltung der Quelldatei deren Verf gbarkeit gepr ft und der Status angezeigt Werden ein zelne Quelldateien nicht mehr unter dem eingestellten Pfad gefunden l sst sich ei ne Liste derer ber den Button Quelldateien neu verkn pfen generieren so dass die Pfadinformationen leicht aktualisiert werden k nnen Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 2 Bedienung ber das Graphical User Interface GUI am Beispiel einer Softwarepr fung B26 Projekt schliessen Einstellungen Projektdaten l Projekt Projekt und Kundendaten l Projekteinstellungen Assembler Projekt verwaltung Quelldateien D Testumgebung Setup Data BeispielCodeAssembler ASM Einstellungen Projektdaten Einstellungen Sprache Dialekt Kennzahlen Darstellung y uell Quelldatei Sa uellda Verzeichnis ean hinzuf gen Quelldatei alle Quelldateien l schen l schen Auf alle Quelldateien kann zugegriffen werden Quelldateien neu ver
182. ukunft alle nderungen Anpassungen und Wartungen an einem Analysewerkzeug selbst vorzunehmen Da seitens des Instituts daran ge dacht wird weitere Anpassungen nicht nur im Assemblermodul sondern vielmehr im Kontext weiterer g ngiger Programmiertechnologien in der Si cherheitstechnik vorzunehmen bietet eine offene Programmierschnittstelle alle nderungs und Erweiterungsm glichkeiten Wird eine schnell ver st ndliche und im Sinne des Rapid Application Programming RAP ar beitende Programmiertechnik verwendet ist gew hrleistet dass sich weit reichende Ergebnisse selbst bei kurzzeitigen Weiterentwicklungen errei chen lassen Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 5 Softwaredesign der Neuentwicklung 55 5 5 1 5 2 Softwaredesign der Neuentwicklung Die in Kapitel 4 4 3 aufgezeigten Schwachstellen der bisher eingesetzten Anwendung LOGISCOPE bilden die Grundlage f r das Softwaredesign einer Neuentwicklung In den folgenden Abschnitten werden die Ans tze diesen M ngeln entgegenzuwirken dargestellt und anhand von Graphiken visualisiert Vorteile einer Eigenentwicklung Die langj hrige Erfahrung der Gutachter und die Untersuchungen die bez glich der in LOGISCOPE implementierten Metriken von Krell Krell 2003 durchgef hrt wur den bilden das essentielle Fundament der Neuentwicklung Demnach wird der Fo
183. ung der Berichte in digita ler Form wird die zeitnahe Untersuchung durch mehrere voneinander dezentral angeordneter Instanzen erm glicht ber Kommunikationsstrukturen k nnen die se geographisch unabh ngig miteinander Analysen durchf hren was in der Illust ration durch die Wolke angedeutet wird Aufgrund der verschiedenen Anwendungsf lle die durch die Verwendung des A nalysewerkzeugs auftreten lassen sich nach Aufgabentypen und Kontexten erste fachliche Gruppen von Aufgaben bilden Gem der Darstellung in Abbildung 20 wird das Gesamtsystem nach den Subgruppen Projektverwaltung Verwaltung Referenzdaten und Darstellung strukturiert Diese Aufteilung wird sich durch den gesamten Entwicklungsprozess ziehen und somit in dieser Grundform erhalten bleiben Auf dem Soll Konzept aufbauendes Ablaufmodell Der sequentielle Ablauf der Applikation wird bereits durch die Darstellung in Abbil dung 18 hinreichend visualisiert und bedarf daher keiner weiteren Abbildung durch ein UML Sequenzdiagramm Beim Ablauf werden Daten wie die anfallenden Projekt und Kundendaten Referenzdaten und die Ergebnisdaten erzeugt Anders als im bisherigen Prozess werden diese ber ein darauf angepasstes Datenhal tungskonzept gesammelt und verwaltet Die graphischen Repr sentationen m s sen nicht mehrfach bei Abruf generiert werden Einmalig mit Ansto der Verarbei tung kann der Anwender die Darstellungen in Form von Bericht
184. ung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz im Fachbereich Informatik der Fachhochschule Bonn Rhein Sieg Sankt Augustin 2004 vollst ndig eigens verfasst und dazu keine anderen als die angegebenen Quellen und Hilfsmittel verwendet zu haben Sankt Augustin 27 Juli 2004 Christian Staron Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz
185. ungsarchitektur auf eine leistungsst rkere L sung immigriert werden Nach bisherigen Einsch tzungen wird jedoch ein derartiges Datenbankpo tential f r die Applikation nicht ben tigt e Durch das VBA zugrunde liegende Konzept der allgemeinen und der spe ziellen Programmbibliotheken von Office Produkten lassen sich eben sol che Objekte leicht ansteuern und verwenden was eine effiziente Automati sierung zwischen verschiedenen Applikationen erm glicht Besonders im Hinblick auf das Berichtswesen und die graphische Darstellung k nnen Funktionalit ten anderer Anwendungen wie Microsoft Excel Word und Powerpoint verwendet werden und so zu weitreichenden Funktionalit ten und Ausbaupotential f hren Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 6 Umsetzung des Softwaredesign mEtRIKA 68 6 Umsetzung des Softwaredesign mEtRIKA Die aus dem Feinentwurf entwickelten Ans tze der Applikationsimplementierung sind Anlass die Anwendung gem der spezifizierten Anforderungen auf Basis von Micro soft Access in der Version 2002 zu implementieren Dar ber hinaus werden die Werk zeuge SciTE in der Version 1 56 zur Darstellung von Quelltexten Microsoft Excel in der Version 2002 zur Implementierung des Berichtswesens und Inno Setup Version 3 0 6 zur Generierung eines mEtRIKA Installationspakets verwendet Weitere In f
186. us der Komponente Die Kanten zwischen den einzelnen Knoten gleichen dem Programmfluss der durch die Codeverarbeitung abgelaufen werden kann Diese Darstellung erm glicht eine abstrahierte Darstellung vom eigentlichen Programmcode Durch die Verwendung von Microsoft Excel ergeben sich eine Vielzahl von Vorteilen zur Nutzung der Berichte ber den Einsatz g ngiger B roanwendungen lassen sich die Reporte leicht via Kommunikationsinfrastrukturen verteilen und so komfortabel selbst mit physisch weit entfernten Kollegen besprechen Visual Basic for Applicati on erm glicht weitreichende Funktionalit ten die eine dynamische Verwendung der Berichte erm glichen Bei einem KFG bedeutet dies zum Beispiel dass beim Klick auf einen Knoten die Codestelle in einem Editor angezeigt wird Verbindungen zwi schen den Knoten und die entsprechenden Stellen im Pseudocode automatisch mar kiert werden k nnen Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 2 Bedienung ber das Graphical User Interface GUI am Beispiel einer Softwarepr fung B44 W BA Sr Graphik Komponenten Kontrollflussgraph Projekt Testprojekt Y00 01 Datum 30 06 2004 Komponente Name TestKomponente ID 1 Quelldatei D Testumgebung Setup Data BeispielCodeAssembler ASM Metrik erstellt am 30 06 2004 I Code in Editor betrachten gt fp an EJ E T7 Kantenz ge fixier
187. versehen und die Dokumente via Kommunikationsstrukturen verteilt werden 5 3 Softwaredesign Grobentwurf Um die Eigenschaften der Applikationsstruktur detaillierter zu spezifizieren und kon zipieren werden folgend verschiedene Betrachtungen auf die Individualsoftware anhand UML modelliert 5 3 1 Analyse der Anwendungsf lle und des Gesamtprozesses Der Anwender des Analysewerkzeugs ist typischerweise der Pr fer des Software produkts Unter dem ersten Punkt Projektverwaltung sind alle Funktionen zu sammengefasst die zu Beginn des Gesamtprozesses vom Gutachter abzuarbeiten sind Der Pr fer soll seine angelegten Pr fprojekte verwalten k nnen so dass er je nach dem welches er bearbeiten m chte dieses ffnen und editieren kann Da zu geh rt das Bearbeiten der allgemeinen Projektdaten sowie das Zuordnen der zu untersuchenden Quelltexte zu dem Projekt In einem zweiten Teilprozess verwaltet und konfiguriert er die Referenzdaten die mit den zuvor zugeordneten Quelldatei Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 5 Softwaredesign der Neuentwicklung 61 en als Grundlage zur Erstellung der Metriken dienen Um zu einem sp teren Zeit punkt in der Verarbeitung die Qualit tskriterien berechnen zu k nnen werden in diesem Modul ebenso die Grenzwerte der Metriken angegeben und verwaltet Mit Ansto der Automa
188. ware im Maschinenschutz 6 Umsetzung des Softwaredesign mEtRIKA 81 In der mEtRIKA Umsetzung wird eine Kommentarzeile als Quelltextzeile defi niert die das Kommentar einleitende Zeichen beinhaltet und dahinter mindes tens f nf ASCII Zeichen folgen die nicht einem Leerzeichen entsprechen Um eine Codezeile entsprechend der mEtRIKA Definition zu haben darf diese keine Leerzeile sein und muss einen Ausdruck aufweisen der nicht als Label klassifi ziert ist metMceCabef modAssembler nalyzer Funktionsaufruf Berechnung MceCabe Metriken f r eine Komponente Blocken der Komponente Geblockte Komponente in Datenbank schreiben F r jede Zeile der geblockten Komponente Z hlen der verarbeitenden Knoten Z hlen der Spr nge und Verzweigungen Z hlen der undefinierten Spr nge Z hlen der unbedingten Spr nge Zeitt Abbildung 33 mEtRIKA Berechnung der McCabe Metriken Der Berechnung der McCabe Metriken gilt der gr te Aufwand da ein Grossteil der Kennzahlen nicht arithmetisch berechnet werden k nnen und daher f r das Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 6 Umsetzung des Softwaredesign mEtRIKA 82 Ermitteln Iterationen n tig sind Um die Strukturmetriken zu ermitteln wird in einem ersten Schritt wie in der LOGISCOPE Verarbeitung zur Visualisierung d
189. welche sich wiederum aus den vier gleichwertigen Bestandteilen Verf gbarkeit Zuverl ssigkeit Betriebssicherheit und Systemsicherheit zusammen setzt Um eine Einordnung der Sicherheitsrelevanz aus unserer Sicht in dieses Mo Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 1 Einleitung 6 dell vorzunehmen werden kurz die Einzelkomponenten der Verl sslichkeit beleuch tet Verl sslichkeit Verf gbarkeit Zuverl ssigkeit Betriebssicherheit Systemsicherheit Abbildung 2 Die vier Bestandteile der Verl sslichkeit Sommerville 2003 S 364 Jede dieser Eigenschaften ist eine nicht funktionale Anforderung an ein System Nicht funktional bedeutet in diesem Kontext nicht unmittelbar mit den einzelnen Funktionen und deren Korrektheit verkn pft sondern vielmehr allgemeine Anfor derungen an ein Gesamtsystem Handelt es sich jedoch bei einer Anforderung um einen zentralen Bestandteil einer Funktion eines Gesamtsystems darf diese nicht als nicht funktionale sondern muss als funktionale Anforderung verstanden werden Die Verf gbarkeit setzt auf die Gesamtlaufzeit eines Systems in der es arbeitet auf und gew hrleistet Dienste in dieser Zeit Anfragenden zur Verf gung zu stellen Zu verl ssigkeit betrachtet die Verf gbarkeit eines
190. werden die be Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 4 Softwarepr fung und Anforderungen an dabei verwendete Softwarewerkzeuge 52 deutendsten exemplarisch geschildert um nur einige Beweggr nde zur Individu all sung darzustellen Wie in Kapitel 4 3 aufgezeigt fanden eine Reihe von Weiterentwicklungen bez glich der in LOGISCOPE implementierten Metriken statt Da LOGISCO PE nur bedingte M glichkeiten zur Anpassung an die erarbeiteten Ergebnis se erlaubt sind die weiteren Resultate in Algorithmen zu implementieren Dies erfordert mindestens eine modulweise Erweiterung der LOGISCOPE Implementierung oder gar die Umsetzung durch eine vollst ndige Neuent wicklung Die LOGSICOPE Software sitzt auf einer UNIX Plattform als Workstation auf und bietet durch ihre Abgeschottetheit und fehlenden Schnittstellen keinerlei Anbindung zu g ngigen B roanwendungen Solche k nnten zum Beispiel f r weiterf hrende Auswertungen und Analysen ein umfangrei cheres Berichtswesen automatisierte Datensicherung und die effiziente und fortschrittliche Kommunikation genutzt werden LOGISCOPE sieht in seiner Architektur keine Verwaltung von allgemeinen Projektdaten und lediglich eine dezentrale Haltung der Einstellungs und Ergebnisdaten anhand einzelner Klartextdateien auf Verzeichnisebene vor Au erdem erschwert die im BIA eingesetzte n
191. wurfsphase den Spezifikationen aus der Anforderungsanalyse und Spezifi kationsphase entspricht und deren Implementierung wiederum den Entwurf um setzt Die Integration der Anwendung in den Betrieb und die Wartung sind Phasen die nicht deutlich einem Softwareentwicklungsprozess zuzuordnen sind aber den noch hinzugeh ren Eine Software ist ein lebendiges Objekt welches zur Einbettung in den Betrieb und zu Wartungsarbeiten immer wieder ver ndert und angepasst wird Dar ber hinaus zeichnet die Softwareentwicklung weitere Bestandteile aus Vorgaben und Richtlinien aus der Anforderungsanalyse sind im Produkt zu integrie ren und im gesamten Lebenszyklus zu verfolgen und sicherzustellen Besonders um letzteres zu gew hrleisten stehen dem Gesamtprozess Managementfunktionalit ten zur Hand die eine permanente Kontrolle der Umsetzung erm glichen Somit sind Steuerungsaktivit ten zur Planeinhaltung wesentlicher Bestandteil eines Software entwicklungsprozesses und werden weiter in der Qualit tssicherung dem Kapitel 2 2 vertieft Balzert 1998 S 220 Dumke 1992 S 14 Ehrenberger 2002 S 23 2 1 1 Vorgehensmodelle der Softwareentwicklung Die so genannten Vorgehens oder auch Prozessmodelle sind Hilfsmittel zur Abs traktion vom eigentlichen Softwareentwicklungsprozess um den berblick ber diesen behalten zu k nnen Sie liefern Werkzeuge die es erm glichen Einzel schritte zu vereinfachen und zu beschreiben um ben tigte Ressourcen gezielte
192. zeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 4 Softwarepr fung und Anforderungen an dabei verwendete Softwarewerkzeuge 43 dells widerspiegeln Tritt eine Grenz ber oder unterschreitung auf ist diese im Ki viatmodell gut ersichtlich Abbildung 11 Beispiel eines Qualit tsmodells in LOGISCOPE Die Call Graphen Abbildung 12 repr sentieren die Aufrufstruktur der Teilpro dukte untereinander und somit die Aufrufe des Gesamtprodukts Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 4 Softwarepr fung und Anforderungen an dabei verwendete Softwarewerkzeuge 44 Abbildung 12 Beispiel eines Aufrufgraphen in LOGISCOPE Die nach der Norm DIN ISO 9126 spezifizierten und in Kapitel 3 2 3 beschriebenen Qualit tskriterien werden in LOGISCOPE durch vier definierte Kriterien ansatzweise abgebildet Sie sind als Testbarkeit Einfachheit Lesbarkeit und Selbstbe schreibung angelegt und werden aus gewichteten Einzelmetriken wie zum Beispiel der zyklomatischen Zahl der Anzahl der Modulein und ausspr nge und der Anzahl der Instruktionen von LOGISCOPE berechnet ber die Gewichtungen k nnen pro zentuale Werte f r die Kriterien erzielt werden die wiederum zu Aussagen f hren ob das Kriterium akzeptiert wurde oder Nachbesserun
193. zifikation und des Anforde rungskatalogs der Grob und Feinentwurf der Software und Anwendung findende Testmethoden e Softwareprodukt Das Produkt steht als Ergebnis des Softwareprozesses in der Hierarchie als letzter Punkt Betrachtete und untersuchte Einheiten sind bei dieser Analyse die Produkte der einzelnen Softwareprozesse wie bei spielsweise Dokumente Codeelemente und Testergebnisse Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 3 Gew hrleistung von Softwarequalit t anhand von Metriken 30 Wird in Verkn pfung zu den Softwareprodukten der Fokus auf zu analysierende Codekomponenten gelegt spielen Programmstruktur verwendete Programmier sprache Entwicklungsumgebung und weitere verwendete Werkzeuge Testtechni ken und das Programmierungsmanagement eine ma gebliche Rolle Programmie rungsmanagement beleuchtet dabei Aspekte wie beispielsweise die Best ckung von Entwicklungsteams Dabei werden auch bei separat betrachteten Codemodu len alle drei Segmente der Softwareanalyse Ressourcen Prozesse und Produkte involviert F r die Untersuchungen in dieser Arbeit sind die Metriken bez glich des Software produkts ma geblich und werden daher fortlaufend fokussiert Die drei Bereiche der Softwareanalyse k nnen zudem in interne und externe Attribute klassifiziert werden Interne Eigenschaften sind diejenigen die unmittelbar aus de
194. zt der Wert jedoch einen Grenzwert der zuvor unter 6 2 3 konfi Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 6 Umsetzung des Softwaredesign mEtRIKA 84 gurierten Qualit tskriterien wird er bei einer Unterschreitung blau und einer ber schreitung rot dargestellt Die Qualit tskriterien f r eine Komponente lassen sich ber ein weiteres Formular ablesen Es stellt unterlegt dar wie gut eine Komponente bei der Berechnung der Testbarkeit Selbstbeschreibung Einfachheit Lesbarkeit und der globalen Qua lit t abgeschnitten hat Um die Zahlenkolonnen aus dem Frontend in Form von Berichten darzustellen k nnen unter dem Unterformular Darstellung Berichtsmappen generiert wer den Dabei wird ber VBA die Programmierschnittstelle von Microsoft Excel 2002 angesteuert um eine neue Arbeitsmappe in Form einer Excel Applikation zu ff nen die berechneten Kennzahlen in diese zu bertragen und darauf aufbauend ei ne graphische Visualisierung zu erzeugen Die graphischen Repr sentationen wer den innerhalb verschiedener Arbeitsbl tter nach Komponenten getrennt aufgebaut so dass die erzeugte Exceldatei einer Berichtsmappe entspricht in der auf jedem Blatt ein Einzelbericht zu einer Komponente zu finden ist Das erste Blatt der Be richtsmappe dient als Deckblatt in dem Projektdaten und Einstellungen zur Be richts
195. zung und eine f r Weiterentwicklungen ben tigte offene Programmierschnittstelle im Sinne des Rapid Application Development RAD Konzepts aufweist Die GUI entspricht in dieser Betrachtung der Schnittstelle zwischen den Einzel funktionalit ten der weiteren Komponenten Der Anwender greift ausschlie lich ber sie auf die Applikation und die darin implementierten Funktionen zu Bei Um setzung der Modelle wird das Analysewerkzeug als eine Anwendung betrachtet Entwicklung eines Analysewerkzeugs zur Ermittlung von Metriken und Qualit tskriterien sicherheitsrelevanter Software im Maschinenschutz 5 Softwaredesign der Neuentwicklung 65 die unabh ngig von der Komponente zur Datenhaltung und zur Datenstruktur des Berichtswesens ablauff hig ist und genutzt werden kann Zur Datenhaltung wird eine relationale Datenbank vorgesehen die in einem Da teiformat eine Art Projektdatei widerspiegelt Getreu dem Datenbankschema k n nen Manipulationen und Leseoperationen ber einen SQL Dialekt effizient reali siert werden so dass die Datenbankzugriffe strukturiert erfolgen Dar ber hinaus erleichtert diese Art der Datensammlung die Ankn pfung weiterer Analysen und Auswertungen auf Basis der Daten beziehungsweise vereinfacht eine Erweiterung der zu verwaltenden Informationen Das Prinzip der Projektdatei empfiehlt sich um leicht Datensicherungsmechanismen zu integrieren und den Austausch zwi schen pr fenden Instanzen voranzutre

Download Pdf Manuals

image

Related Search

Related Contents

Samsung E-350 DVD Home Entertainment System Manual de Usuario  Samsung GT-I6210 manual do usuário  Lavadora Automatická pračka Pralni stroj Veļas mazgājamā  Le BRF en maraîchage pour l`eau  GUÍA DEL USUARIO EN RED GUÍA DEL USUARIO EN RED GUÍA  VISUAL EXTEND 9.5  取扱説明書 - Tosoh  User's manual - Neostar Electronics  

Copyright © All rights reserved.
Failed to retrieve file