Zur Kurzanzeige

Learning Finite State Machine Specifications from Test Cases

dc.contributor.advisorGrabowski, Jens Prof. Dr.de
dc.contributor.authorWerner, Edith Benedicta Mariade
dc.date.accessioned2010-08-05T15:27:32Zde
dc.date.accessioned2013-01-18T13:20:03Zde
dc.date.available2013-01-30T23:50:54Zde
dc.date.issued2010-08-05de
dc.identifier.urihttp://hdl.handle.net/11858/00-1735-0000-0006-B3D7-Ede
dc.identifier.urihttp://dx.doi.org/10.53846/goediss-2462
dc.identifier.urihttp://dx.doi.org/10.53846/goediss-2462
dc.identifier.urihttp://dx.doi.org/10.53846/goediss-2462
dc.description.abstractModerne Software-Systeme sind häufig modular aufgebaut, müssen dabei aber Ansprüchen an Wartbarkeit und Änderbarkeit genügen. Während man einerseits annimmt, dass modulare Software mit geringerem Kostenaufwand hergestellt werden kann, wird andererseits die Komplexität des Testens erhöht, da die zukünftigen Anwendungen eines Moduls sich nur schwer vorhersagen lassen. Dazu kommt, dass Module häufig als abgeschlossene Bausteine wiederverwendet werden, so dass die innere Struktur der Module dem System verborgen bleibt. Daher konzentriert sich der Test eines wiederverwendeten Moduls oft auf den Integrationstest und das Beobachten der Schnittstellen des Moduls (Monitoring).Um das System-Verhalten an der beobachteten Schnittstelle bewerten zu können, wird ein formales Modell des Systems benötigt, um die beobachteten Ereignisfolgen damit zu vergleichen. Leider sind formale Modelle nur selten verfügbar, da durch die Anwendung agiler Entwicklungsmethoden und die immer kürzer werdenden Entwicklungszeiten häufig keine formalen Modelle erstellt werden. Gleichzeitig hat sich das Testen von Software immer mehr durchgesetzt, so dass für die meisten Software-Systeme eine Sammlung von Testfällen vorliegt.Die vorliegende Arbeit schlägt eine Methode vor, mit deren Hilfe aus den Testfällen eines Software-Systems ein formales Modell errechnet werden kann. Die Methode basiert auf Ansätzen zum maschinellen Lernen von endlichen Automaten. Ein Lernalgorithmus, der zuerst von Dana Angluin vorgeschlagen wurde, erzeugt das formale Modell, während Methoden zur Zustands-Vereinigung die Testfälle in eine für den Lernalgorithmus geeignete Datenstruktur umwandeln.Sowohl der Lernalgorithmus als auch die Methoden zur Zustands-Vereinigung werden an die Eigenschaften des Testens angepasst. Für den Lernalgorithmus von Dana Angluin bedeutet das, dass die Fragemechanismen auf die Testfälle abgebildet werden müssen. Die Zustands-Vereinigung wird benutzt um eine generische Repräsentation beliebiger Testfälle zu errechnen, wobei die semantischen Eigenschaften der Testsprache ausgenutzt werden um eine bessere Überdeckung des Zielmodells zu erhalten. Der kombinierte Ansatz wird in einem prototypischen Werkzeug implementiert und durch eine Fallstudie belegt.de
dc.format.mimetypeapplication/pdfde
dc.language.isoengde
dc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/3.0/de
dc.titleLearning Finite State Machine Specifications from Test Casesde
dc.typedoctoralThesisde
dc.title.translatedLernen von Spezifikationen in Form von endlichen Zustandsmaschinen aus Testfällende
dc.contributor.refereeGrabowski, Jens Prof. Dr.de
dc.date.examination2010-06-01de
dc.subject.dnb004 Informatikde
dc.description.abstractengUp-to-date software systems are often modular and need to be changeable. While modularity is believed to reduce software production costs, it also leads to increased difficulty in testing, as the future uses of a module are getting more varied and therefore harder to guess. Also, reused modules are often represented as black boxes, whose interior structure is hidden from the system. In consequence, on reusing a module, the testing focuses on integration testing and monitoring the interfaces of the module.In order to monitor a system, a model of the system is needed to compare the observed traces to. However, with the advent of agile development methods and decreasing time to market, formal models of a system are seldom available. While formal modeling has not been widely adopted in industry, the importance of testing has increased, in part thanks to the same agile development methods that obsolete explicit modeling. An example is the test first paradigm of eXtreme Programming, which requires that the tests for any software have to be written before the software itself. Therefore, test cases are available even for systems without a formal model.In consequence, we propose to generate a system model suitable for monitoring from a test suite for the system. The approach is based on automata learning. Angluin´s learning algorithm is used to generate an appropriate model, while state-merging methods are applied to represent the test cases in a format that can be processed by the learning algorithm.Both Angluin´s algorithm and state-merging are tailored to the characteristics of testing. For Angluin´s algorithm, this comprises a mapping of the query mechanisms onto a test suite. The state-merging is used to construct a generic representation of arbitrary test suites by exploiting the properties of a given test specification language for a better coverage. The approach is implemented in a prototypical tool and validated by a case study.de
dc.contributor.coRefereeWaack, Stephan Prof. Dr.de
dc.subject.topicMathematics and Computer Sciencede
dc.subject.gerMaschinelles Lernende
dc.subject.gerModellrekonstruktionde
dc.subject.gerModell-basiertes Testende
dc.subject.gerTest-Validierungde
dc.subject.engmachine learningde
dc.subject.engreverse engineeringde
dc.subject.engmodel based testingde
dc.subject.engtest validationde
dc.subject.bk54.52de
dc.subject.bk54.72de
dc.subject.bk54.10de
dc.identifier.urnurn:nbn:de:gbv:7-webdoc-2569-8de
dc.identifier.purlwebdoc-2569de
dc.affiliation.instituteFakultät für Mathematik und Informatikde
dc.subject.gokfullAHI 260: Learning {Computing Methodologies. Artificial Intelligence}de
dc.subject.gokfullAHI 650: Model Development {Computing Methodologies. Simulation and Modeling}de
dc.subject.gokfullAHD 250: Testing and Debugging {Computing. Software Engineering}de
dc.subject.gokfullAHD 210: Requirements/Specifications {Computing. Software Engineering}de
dc.identifier.ppn635580349de


Dateien

Thumbnail

Das Dokument erscheint in:

Zur Kurzanzeige