Softwaretechnik-Trends 34(3) - 2014

Autor*innen mit den meisten Dokumenten  

Auflistung nach:

Neueste Veröffentlichungen

1 - 10 von 14
  • Zeitschriftenartikel
    Wohldefinierte Überdeckungsmetriken für den Glass-Box-Test
    (Softwaretechnik-Trends Band 34, Heft 3, 2014) Schmidberger, Rainer
    Der Glass-Box-Test (GBT), der auch als White-Boxoder Strukturtest bezeichnet wird, zeigt den im Test ausgeführten – und viel wichtiger: den nicht ausgeführten – Programmcode an. Dieser Grad der Ausführung wird als Überdeckung bezeichnet. Empirische Untersuchungen zeigen eindeutig, dass eine hohe GBT-Überdeckung mit einer geringeren Restfehlerrate korreliert. Viele brauchbare Werkzeuge sind für den GBT für praktisch alle Programmiersprachen verfügbar, und wichtige Industriestandards zur Zertifizierung sicherheitskritischer Software verlangen den Nachweis einer vollständigen (oder sehr hohen) Überdeckung. Auf den ersten Blick erscheint uns damit der GBT als eine ausgereifte und etablierte Testtechnik, die auf standardisierten Metriken basiert. Doch bei genauer Betrachtung der zugrundeliegenden Modelle und Metriken zeigen sich erhebliche Mängel, die zu unpräzisen und inkonsistenten Resultaten der verschiedenen GBT-Werkzeuge führen. Eine wesentliche Ursache hierfür bildet der Kontrollflussgraph (CFG), auf dessen Grundlage überwiegend die Definitionen der GBT-Metriken vorgenommen werden. Der CFG hat hierfür gravierende Nachteile: Die Transformation der realen Programme in den CFG ist nicht eindeutig definiert, und es fehlt im CFG eine Repräsentation für die Ausnahmebehandlung sowie die GBTrelevanten Ausdrücke wie z. B. bedingte Ausdrücke oder die Kurzschlusssemantik boolescher Operationen. Als logische Konsequenz folgen die Werkzeuge des GBT keinem gemeinsamen Standard und zeigen für die gleiche Programmausführung deutlich verschiedene Überdeckungswerte an. In dieser Arbeit wird ein präzises Modell für den GBT präsentiert. Dieses Modell entsteht in zwei Schritten: Zunächst wird eine GBT-Modellsprache definiert (die Reduced Program Representation, RPR), die die GBT-relevanten Aspekte der realen Sprachen abbildet, die irrelevanten dagegen präteriert. Aus der RPRDefinition entstehen sogenannte Ausführungselemente, die entweder primitiv sind (wie z. B. primitive Anweisungen), oder die sogenannten Verbund-Ausführungselemente (wie z. B. if-Anweisungen), die als Teil der eigenen Struktur andere Ausführungselemente enthalten. RPR bildet dabei sowohl den Kontrollfluss als auch die GBT-relevanten Ausdrücke wie z. B. den bedingten Ausdruck oder zusammengesetzte boolesche Ausdrücke ab. Auch ist RPR so angelegt, dass Ausnahmen berücksichtigt werden und reale Programme systematisch und eindeutig nach RPR transformiert werden können. Im zweiten Schritt wird die Ausführungssemantik der Ausführungselemente durch Petri-Netze, sogenannte Modellnetze, definiert. Primitive Ausführungselemente lassen sich direkt als Modellnetz beschreiben, die Verbund-Ausführungselemente wie z. B. die Entscheidungsanweisung oder der zusammengesetzte boolesche Ausdruck werden durch Komposition der Teilnetze beschrieben. Die Modellsprache RPR liefert hierzu die Kompositionsregeln. Ein Vorteil des formalen Modells ist, dass die Evaluation der Netze werkzeugunterstützt über die Erreichbarkeitsanalyse erfolgen kann. Ein besonderer Vorteil der Modellnetze ist auch, dass sich die zur Metrikenbestimmung wichtigen Ausführungszähler präzise im Modell platzieren lassen und so die Spezifikation für eine Werkzeugimplementierung liefern. Auf Grundlage der Ausführungselemente und der Ausführungszähler der Modellnetze erfolgt eine präzise Definition der populären sowie weiterer GBTMetriken. Zur formalen Prüfung der Plausibilität, Differenziertheit und Vergleichbarkeit dieser Metriken wird ein Regelsystem aufgestellt, anhand dessen die GBT-Metriken geprüft werden. Da für den GBT ein Werkzeugeinsatz Voraussetzung ist, wird das Werkzeug CodeCover präsentiert, das eine Referenzimplementierung der definierten Metriken liefert. Als eine Folge der programmiersprachenunabhängigen RPR-Darstellung unterstützt CodeCover mehrere Programmiersprachen: Java, C und COBOL. CodeCover bietet auch eine neue Funktion, die den Tester durch sogenannte Testfall-Hinweise beim Entwurf von GBT-basierten Testfällen systematisch unterstützt. Diese Testfälle führen einerseits zu einer Erhöhung der Überdeckung. Durch eine gezielte Priorisierung der Testfall-Hinweise wird aber auch eine hohe Fehlersensitivität der neu entwickelten Testfälle angestrebt.
  • Zeitschriftenartikel
    Risikomanagement in agilen Projekten
    (Softwaretechnik-Trends Band 34, Heft 3, 2014) Ebhart, Dieter; von Thaden, Thorsten; Lehmann, Florian
    Ein professionelles Risikomanagement erlaubt, frühzeitig auf Abweichungen zu reagieren und ermöglicht damit ein effizientes Projektmanagement. Gerade der Einsatz agiler Methoden, wie beispielsweise Scrum, bietet verschiedene Vorteile, die im vorliegenden Artikel dargestellt werden. Aus diesen ergibt sich, dass der Fokus des Projektleiters im Risikomanagement auf den externen Umfeldfaktoren liegen kann.
  • Zeitschriftenartikel
    Conformance Checking and Simulation-based Evolutionary Optimization for Deployment and Reconfiguration of Software in the Cloud
    (Softwaretechnik-Trends Band 34, Heft 3, 2014) Frey, Sören
    Der verstärkte Einsatz von Cloud-basierten Technologien bei der Neuentwicklung moderner Softwaresysteme demonstriert in jüngster Zeit das Potential von Cloud Computing zur Realisierung einer verbesserten Skalierbarkeit und Kosteneffizienz. Viele Software as a Service (SaaS) Anbieter sind bestrebt, dieses Potential auch für bestehende Anwendungen zu erschließen und erwägen eine Migration zu Infrastructure as a Service (IaaS) und Platform as a Service (PaaS)-basierten Cloud Umgebungen. Bei einer solchen Migration existieren jedoch vielfältige Herausforderungen. (1) Die potenziellen Vorteile einer Cloud Umgebung, wie etwa eine dynamische Skalierung der Ressourcen oder eine häufig eingesetzte nutzungsbasierte Abrechnung, können ohne eingehende Migrationsplanung nicht optimal genutzt werden. Darüber hinaus weisen Cloud Umgebungen oftmals umfangreiche Restriktionen auf, z.B. bei direkten Dateisystemzugriffen oder dem Öffnen von bestimmten Netzwerk-Sockets durch ihre Gastanwendungen. Derartige Restriktionen bezeichnen wir als Cloud Environment Constraints (CECs). Eine Anwendung verursacht etwa hinsichtlich der zuvor erwähnten CEC Typen sogenannte CEC Violations, falls sie auf das Dateisystem schreibt oder den betreffenden Netzwerk-Socket öffnet. (2) Generell werden CEC Violations bei einer Migration meistens nicht systematisch überprüft. (3) Des Weiteren existiert eine Vielzahl an unterschiedlichen Cloud Deployment Optionen (CDOs), für einen Vergleich fehlt jedoch eine geeignete Unterstützung. Eine CDO legt z.B. fest, welche Cloud Umgebung, Cloudbasierten Ressourcen, Architektur und Laufzeitrekonfigurationsregeln verwendet werden sollen, um die Elastizität der Cloud Umgebung ausnutzen zu können. Die Performanzeigenschaften und Kosten von CDOs können hierbei um Gröÿenordnungen variieren. Zur Bewältigung der vorgenannten Herausforderungen schlägt diese Dissertation den Ansatz CloudMIG vor. Dieser unterstützt SaaS Anbieter bei der Migration von Unternehmensanwendungen zu IaaS und PaaS-basierten Cloud Umgebungen. CloudMIG basiert auf Meta-Modellen der Architecture- Driven Modernization (ADM) Initiative der OMG und verwendet beispielsweise das Knowledge Discovery MetaModel (KDM) der ADM zur Repräsentation von Code-Modellen einer Anwendung. Diese KDM Modelle werden mittels Reverse Engineering extrahiert. Cloud Umgebungen werden in wiederverwendbaren Cloud Profilen modelliert. Diese beschreiben z.B. die spezifischen Cloud-basierten Ressourcen, Preismodelle und CEC Definitionen. CloudMIG setzt folgende zwei Schwerpunkte. Erstens umfasst es einen automatischen Conformance Checking Ansatz zur Erkennung von CEC Violations in extrahierten KDM Modellen hinsichtlich eines bestimmten Cloud Profils. Die Erkennung erfolgt mit Hilfe wiederverwendbarer Constraint Validatoren. Zusätzliche Constraint Validatoren können bei Bedarf in den Erkennungsprozess integriert werden. Zweitens ermöglicht CloudMIG eine automatische Erstellung und Optimierung von CDOs mit Hilfe eines simulationsbasierten genetischen Algorithmus namens CDOXplorer. CDOXplorer verwendet unseren Simulator CDOSim als Fitnessfunktion. CDOSim simuliert CDOs und berechnet potenzielle Kosten, Antwortzeiten und die Anzahl an SLA Verletzungen. CDOXplorer liefert eine pareto-optimale Menge an CDOs, aus der ein SaaS Anbieter die jeweils am besten geeignete CDO auswählen kann. CloudMIG vereinfacht die Erkennung von CEC Violations und die Erstellung geeigneter CDOs beträchtlich. SaaS Anbieter müssen keine zeitaufwendigen und teuren Code-Reviews mehr durchführen oder Fehlfunktionen riskieren, weil CEC Violations unerkannt bleiben. Anstatt CDOs manuell implementieren, bewerten und vergleichen zu müssen, ermöglicht CloudMIG eine automatische Generierung optimierter CDOs. Umfangreiche Experimente zeigen die Eignung und Praktikabilität von CloudMIG und seiner zwei Kernbestandteile. Zum einen wird der Conformance Checking Ansatz mit drei Fallstudien evaluiert, die Laborexperimente und Experimente in einem industriellen Kontext umfassen. Die Evaluation zeigt die hohe Präzision des Erkennungsmechanismus. Zum anderen wird unser genetischer Algorithmus CDOXplorer mit drei etablierten multi-kriteriellen Such- und Optimierungsalgorithmen verglichen. Die Evaluation zeigt, dass CDOXplorer Lösungen erstellen kann, die denen der anderen Algorithmen um bis zu 60Concept Implementierung von CloudMIG existiert in Form der Anwendung CloudMIG Xpress. Diese ist als Open Source Software verfügbar.
  • Zeitschriftenartikel
    Weak-Words und ihre Auswirkung auf die Qualitat von Anforderungsdokumenten
    (Softwaretechnik-Trends Band 34, Heft 3, 2014) Krisch, Jennifer
  • Zeitschriftenartikel
    Risikoanalyse mit automatischen Sicherheitstests - RACOMAT Methode und Tool
    (Softwaretechnik-Trends Band 34, Heft 3, 2014) Viehmann, Johannes
    Bei der RACOMAT Methode wird eine komponentenbasierte Risikoanalyse für IKTSysteme eng mit Sicherheitstests verbunden. Durch den hohen Grad der Wiederverwendbarkeit der entstehenden bzw. verwendeten Artefakte sowie durch Automatisierungen lässt sich die Methode auch für große, komplexe und hochgradig vernetzte Systeme mit geringem manuellem Aufwand anwenden. Mithilfe der Unterstützung des RACOMAT Tools konnte die RACOMAT Methode bereits erfolgreich in Case Studies erprobt werden.
  • Zeitschriftenartikel
    Test Prioritization of Risk-based Security Tests
    (Softwaretechnik-Trends Band 34, Heft 3, 2014) Berger, Michael
    Many approaches are developed for efficient identification and estimation of security risks. One big challenge is to prioritize the related test cases of identified risks. The effort and costs of security testing can be high and the budget is limited. The challenge is to get a proper proportion between test effort and potential system harm. Based on the results of security testing countermeasures can be implemented to achieve a proper security level for a system. In the RASEN project, one goal is to develop riskbased security testing methods and tools as well as a methodology for risk-based security testing.
  • Zeitschriftenartikel
    Eine Testautomatisierung für Roboter-Steuerprogramme auf Android unter Verwendung von TTCN-3
    (Softwaretechnik-Trends Band 34, Heft 3, 2014) El Amrani, Yassine; Nissen, Hans W.
    Mit Hilfe von Programmen auf Smartphones kann man immer mehr Geräte wie Roboter oder Helikopter steuern. Das Überprüfen des korrekten Verhaltens derartiger Programme ist aufwendig und zumeist ein manueller Vorgang. Wir haben eine auf TTCN-3 basierende Testumgebung erstellt, die die automatisierte Prufung von Android-Steuerprogrammen ermöglicht. Ein Testfall kann vollständig automatisiert ablaufen, wobei auch die Benutzeroberfläche auf dem Smartphone bedient werden kann. Ein Tester kann über ein Kontrollfenster auch leicht einen ad-hoc-Testfall erstellen, indem er dort die Sensor- und Aktuatorwerte dieses speziellen Testfalls definiert.
  • Zeitschriftenartikel
    Automatic Heavy-weight Static Analysis Tools for Finding Bugs in Safety-critical Embedded C/C++ Code
    (Softwaretechnik-Trends Band 34, Heft 3, 2014) Farago, David; Merz, Florian; Sinz, Carsten
    This paper motivates the use of automatic heavy-weight static analysis tools to find bugs in C (and C++) code for safety-critical embedded systems. By heavy-weight we mean tools that employ powerful analysis to cover all cases. The paper introduces two automatic and relatively heavy-weight tools that are currently employed in the automotive industry, and depicts their underlying techniques, advantages, and disadvantages. Since their results are often imprecise (false positives or false negatives), we advocate the use of alternative techniques such as software bounded model checking (SBMC), which can achieve bit-precise results. Finally, the tool LLBMC is described as an example of a tool implementing SBMC, which makes use of satisfiability modulo theories (SMT) decision procedures as well as the LLVM compiler framework.
  • Zeitschriftenartikel
    Konferenzbericht zur IWSM/MENSURA 2014
    (Softwaretechnik-Trends Band 34, Heft 3, 2014) Dumke, Reiner
  • Zeitschriftenartikel
    Konferenzbericht zur MetriKon 2014
    (Softwaretechnik-Trends Band 34, Heft 3, 2014) Dumke, Reiner