3 research outputs found

    Test Sequence Generation for Java7 Fork/Join Using Interference Dependence

    Get PDF
    Test sequence generation through code is mainly done by using some sort of a flow graph viz. Control Flow Graph (CFG), Concurrent Control Flow Graph (CCFG), Event Graph etc. Approaches that use UML also need flow graph as an intermediate representation for final test sequence generation. In the present approach, a Flow Graph for a new concept i.e. Java7 Fork/Join is constructed and hence, by traversing the graph, test sequences are generated on the basis of all path and all node coverage criteria considering interference dependence. Further, interference dependencies are also represented in the form of a directed graph to aid the analysis of Java7 fork/join programs

    Efficiency Improvements in the Quality Assurance Process for Data Races

    Get PDF
    As the usage of concurrency in software has gained importance in the last years, and is still rising, new types of defects increasingly appeared in software. One of the most prominent and critical types of such new defect types are data races. Although research resulted in an increased effectiveness of dynamic quality assurance regarding data races, the efficiency in the quality assurance process still is a factor preventing widespread practical application. First, dynamic quality assurance techniques used for the detection of data races are inefficient. Too much effort is needed for conducting dynamic quality assurance. Second, dynamic quality assurance techniques used for the analysis of reported data races are inefficient. Too much effort is needed for analyzing reported data races and identifying issues in the source code. The goal of this thesis is to enable efficiency improvements in the process of quality assurance for data races by: (1) analyzing the representation of the dynamic behavior of a system under test. The results are used to focus instrumentation of this system, resulting in a lower runtime overhead during test execution compared to a full instrumentation of this system. (2) Analyzing characteristics and preprocessing of reported data races. The results of the preprocessing are then provided to developers and quality assurance personnel, enabling an analysis and debugging process, which is more efficient than traditional analysis of data race reports. Besides dynamic data race detection, which is complemented by the solution, all steps in the process of dynamic quality assurance for data races are discussed in this thesis. The solution for analyzing UML Activities for nodes possibly executing in parallel to other nodes or themselves is based on a formal foundation using graph theory. A major problem that has been solved in this thesis was the handling of cycles within UML Activities. This thesis provides a dynamic limit for the number of cycle traversals, based on the elements of each UML Activity to be analyzed and their semantics. Formal proofs are provided with regard to the creation of directed acyclic graphs and with regard to their analysis concerning the identification of elements that may be executed in parallel to other elements. Based on an examination of the characteristics of data races and data race reports, the results of dynamic data race detection are preprocessed and the outcome of this preprocessing is presented to users for further analysis. This thesis further provides an exemplary application of the solution idea, of the results of analyzing UML Activities, and an exemplary examination of the efficiency improvement of the dynamic data race detection, which showed a reduction in the runtime overhead of 44% when using the focused instrumentation compared to full instrumentation. Finally, a controlled experiment has been set up and conducted to examine the effects of the preprocessing of reported data races on the efficiency of analyzing data race reports. The results show that the solution presented in this thesis enables efficiency improvements in the analysis of data race reports between 190% and 660% compared to using traditional approaches. Finally, opportunities for future work are shown, which may enable a broader usage of the results of this thesis and further improvements in the efficiency of quality assurance for data races.Da die Verwendung von Concurrency in Software in den letzten Jahren an Bedeutung gewonnen hat, und immer noch gewinnt, sind zunehmend neue Arten von Fehlern in Software aufgetaucht. Eine der prominentesten und kritischsten Arten solcher neuer Fehlertypen sind data races. Auch wenn die Forschung zu einer steigenden EffektivitĂ€t von Verfahren der dynamischen QualitĂ€tssicherung gefĂŒhrt hat, so ist die Effizienz im Prozess der QualitĂ€tssicherung noch immer ein Faktor, der eine weitverbreitete praktische Anwendung verhindert. Zum einen wird zu viel Aufwand benötigt, um dynamische QualitĂ€tssicherung durchzufĂŒhren. Zum anderen sind die Verfahren zur Analyse gemeldeter data races ineffizient; es wird zu viel Aufwand benötigt, um gemeldete data races zu analysieren und Probleme im Quellcode zu identifizieren. Das Ziel dieser Dissertation ist es, Effizienzsteigerungen im QualitĂ€tssicherungsprozess fĂŒr data races zu ermöglichen, durch: (1) Analyse der ReprĂ€sentation des dynamischen Verhaltens des zu testenden Systems. Mit den Ergebnissen wird die Instrumentierung dieses Systems fokussiert, so dass ein im Vergleich zur vollen Instrumentierung des Systems geringerer Mehraufwand an Laufzeit benötigt wird. (2) Analyse der Charakteristiken von und Vorverarbeitung der gemeldeten data races. Die Ergebnisse der Vorverarbeitung werden Mitarbeitenden in der Entwicklung und QualitĂ€tssicherung prĂ€sentiert, so dass ein Analyse- und Fehlerbehebungsprozess ermöglicht wird, welcher effizienter als traditionelle Analysen gemeldeter data races ist. Mit Ausnahme der dynamischen data race Erkennung, welche durch die Lösung komplementiert wird, werden alle Schritte im Prozess der dynamischen QualitĂ€tssicherung fĂŒr data races in dieser Dissertation behandelt. Die Lösung zur Analyse von UML AktivitĂ€ten auf Knoten, die möglicherweise parallel zu sich selbst oder anderen Knoten ausgefĂŒhrt werden, basiert auf einer formalen Grundlage aus dem Bereich der Graphentheorie. Eines der Hauptprobleme, welches gelöst wurde, war die Verarbeitung von Zyklen innerhalb der UML AktivitĂ€ten. Diese Dissertation fĂŒhrt ein dynamisches Limit fĂŒr die Anzahl an ZyklusdurchlĂ€ufen ein, welches die Elemente jeder zu analysierenden UML AktivitĂ€t sowie deren Semantiken berĂŒcksichtigt. Ebenso werden formale Beweise prĂ€sentiert in Bezug auf die Erstellung gerichteter azyklischer Graphen, sowie deren Analyse zur Identifizierung von Elementen, die parallel zu anderen Elementen ausgefĂŒhrt werden können. Auf Basis einer Untersuchung von Charakteristiken von data races sowie Meldungen von data races werden die Ergebnisse der dynamischen Erkennung von data races vorverarbeitet, und das Ergebnis der Vorverarbeitung gemeldeter data races wird Benutzern zur weiteren Analyse prĂ€sentiert. Diese Dissertation umfasst weiterhin eine exemplarische Anwendung der Lösungsidee und der Analyse von UML AktivitĂ€ten, sowie eine exemplarische Untersuchung der Effizienzsteigerung der dynamischen Erkennung von data races. Letztere zeigte eine Reduktion des Mehraufwands an Laufzeit von 44% bei fokussierter Instrumentierung im Vergleich zu voller Instrumentierung auf. Abschließend wurde ein kontrolliertes Experiment aufgesetzt und durchgefĂŒhrt, um die Effekte der Vorverarbeitung gemeldeter data races auf die Effizienz der Analyse dieser gemeldeten data races zu untersuchen. Die Ergebnisse zeigen, dass die in dieser Dissertation vorgestellte Lösung verglichen mit traditionellen AnsĂ€tzen Effizienzsteigerungen in der Analyse gemeldeter data races von 190% bis zu 660% ermöglicht. Abschließend werden Möglichkeiten fĂŒr zukĂŒnftige Arbeiten vorgestellt, welche eine breitere Anwendung der Ergebnisse dieser Dissertation ebenso wie weitere Effizienzsteigerungen im QualitĂ€tssicherungsprozess fĂŒr data races ermöglichen können

    Entwicklung und Evaluierung einer Erweiterung der BPMN-Spezifikation fĂŒr einen modellbasierten und automatisierten Regressionstest verteilter BIS

    Get PDF
    ï»żThe constantly growing complexity of hard- and software systems combined with increasing functional scope and steadily decreasing product lifecycles is leading to an increment of model based technology usage in development and testing. Many challenges come along with developing and testing such complex software systems. Top priority of each company is to deliver the required software solution in the agreed time and budget frame. But reality shows, that time and cost pressure is massively affecting the quality of the delivered software. Therefore new testing methods have to be introduced in an early stage of the development process. While model based development procedures have found their way into embedded software systems during the past view years, the model based testing (MBT) of distributed business information systems (BIS) has come more and more in the focus of research and industry. This dissertation provides an overview of the status quo of the technology MBT within the domain of distributed BIS and summarizes the actual research questions. Out of these research questions the requirements to such a test approach arise, which are being answered within the implementation section of this dissertation. As a modelling notation the Business Process Modelling Notation (BPMN) is being used, differentiating this MBT approach from other approaches within the domain of embedded systems, which are using UML. Based on this and with the example of a debtor process (IT supported payment process) from the business-to-business (B2B) it will be shown, how an MBT approach can contribute to sustainably increase quality as well as test coverage of distributed BIS. Therefore within the frame of the dissertation testing tools developed by Seppmed GmbH and MID GmbH are being evaluated and analyzed on praxis capability. In detail it is being investigated, how far the testing tools in combination with other applications are fulfilling the expectations of the dissertation. For this purpose the testing of the realizing methodic is necessary. A cost analysis as well as impacts of MBT implementation in existing development processes will be provided in the last part of this thesis.Die stetig wachsende KomplexitĂ€t von Hard- und Softwaresystemen sowie der steigende Funktionsumfang bei stets kĂŒrzer werdenden Produktzyklen fĂŒhren zunehmend zum Einsatz von modellbasierten Technologien in der Entwicklung und bei den Tests. Bei der Entwicklung und beim Test solcher komplexer Softwaresysteme werden Unternehmen heute mit neuen Herausforderungen konfrontiert. Oberste Maxime eines jeden Unternehmens ist, dass die angeforderte Softwarelösung im vereinbarten Zeit- und Budgetrahmen geliefert werden muss. Die Praxis zeigt allerdings, dass sich Zeit- und Kostendruck massiv auf die QualitĂ€t der ausgelieferten Software auswirken. Neue Testmethoden mĂŒssen daher in einem frĂŒhen Stadium des Softwareentwicklungsprozesses Einzug halten. Nachdem modellbasierte Entwicklungsmethoden bereits in den letzten Jahren zunehmend in eingebetteten Softwaresystemen Einzug in die Entwicklungsabteilungen gehalten haben, ist das modellbasierte Testen (MBT) von verteilten betrieblichen Informationssystemen (BIS) verstĂ€rkt in den Fokus von Forschung und Industrie gerĂŒckt. Diese Dissertation gibt einen Überblick ĂŒber den Stand der Technik bezĂŒglich des MBT in der DomĂ€ne der BIS und fasst aktuelle Forschungsfragen zusammen. Aus den Forschungsfragen lassen sich Anforderungen an einen solchen Testansatz formulieren, die dann im technischen Realisierungsteil dieser Dissertation beantwortet werden. Anders als in den bisherigen MBTAnsĂ€tzen aus der DomĂ€ne der eingebetteten Systeme wird als Modellierungsnotation nicht auf UML, sondern auf Business Process Modeling Notation (BPMN) gesetzt. Basierend darauf wird anhand eines Fallbeispiels mit einem betriebswirtschaftlichen Debitorenprozess (IT-gestĂŒtzter Zahlungsabwicklungsprozess) aus dem Business-to-Business (B2B) gezeigt, wie ein MBT-Ansatz einen Beitrag dazu leisten kann, sowohl die Testabdeckung als auch die TestqualitĂ€t von verteilten BIS nachhaltig zu verbessern. Dazu werden im Rahmen dieser Dissertation Testwerkzeuge der Firmen Seppmed GmbH und der MID GmbH evaluiert und auf ihre Praxistauglichkeit untersucht. Dabei soll im Speziellen untersucht werden, inwiefern diese Werkzeuge in Kombination mit Testwerkzeugen die Anforderungen dieser Dissertation erfĂŒllen. FĂŒr die Modellierung der TestfĂ€lle in BPMN ist es notwendig, die BPMN-Spezifikation um Testspezifika zu erweitern. Die so gewonnenen manuellen TestfĂ€lle werden durch eine spezielle Adaptierung, welche im Rahmen dieser Dissertation entwickelt wurde, in fertig automatisierte und ausfĂŒhrbereite Testskripte ĂŒberfĂŒhrt. So entsteht eine Methode, welche es ermöglicht, GeschĂ€ftsprozesse, die verteilt ĂŒber mehrere verschiedene Softwaresysteme abgewickelt werden, End-to-End zu testen. Da die Notwendigkeit und die Motivation dieser Dissertation aus der Praxis entstanden, wird die entwickelte Methode dementsprechend unter Praxisbedingungen erprobt und evaluiert. Dabei konnte festgestellt werden, dass sowohl die Testabdeckung (Prozessabdeckung) als auch die TestqualitĂ€t am Fallbeispiel erhöht werden konnten und gleichzeitig eine Testzeitersparnis von ca. 50% erreicht wurde
    corecore