Regression Testing of Transcompiled Cross-Platform Applications

DSpace Repositorium (Manakin basiert)

Zur Kurzanzeige

dc.contributor.advisor Klaeren, Herbert (Prof. Dr.)
dc.contributor.author Hirzel, Matthias
dc.date.accessioned 2018-09-25T05:26:56Z
dc.date.available 2018-09-25T05:26:56Z
dc.date.issued 2018-09-25
dc.identifier.other 511266219 de_DE
dc.identifier.uri http://hdl.handle.net/10900/84304
dc.identifier.uri http://nbn-resolving.de/urn:nbn:de:bsz:21-dspace-843043 de_DE
dc.identifier.uri http://dx.doi.org/10.15496/publikation-25694
dc.description.abstract Regressionstests sind ein gängiges Verfahren, um die Qualität von Software sicher zu stellen. Allerdings sind sie sehr zeitaufwändig und damit teuer, insbesondere wenn Benutzeroberflächen getestet werden. Es stellen sich daher drei Fragen: Wie kann der Aufwand für die Ausführung der Tests reduziert werden? Wie kann die Lokalisierung von Fehlern im Code unterstützt werden? Welche Teile des Codes erfordern zusätzliche Tests? Diese Fragen sind im Bereich von transcompilierten plattformübergreifenden Anwendungen noch wenig erforscht. Das Ziel bei dieser Art von Anwendung ist, Mehrfachimplementierungen derselben Software für unterschiedliche Betriebssysteme und Endgeräte zu vermeiden. Stattdessen wird mit Hilfe eines Transcompilers automatisch Code von einer bestimmten Quellprogrammiersprache in möglicherweise mehreren Zielprogrammiersprachen übersetzt, sodass die Software für die gewünschten Systeme und Geräte zur Verfügung steht. Allerdings verhindert die Transkompilation den Einsatz gängiger Verfahren zur Regressionstestselektion. Sie erschwert zudem die Lokalisierung von Fehlern und lässt keine vollständige Beurteilung der Testabdeckung zu. In diesem Vortrag werden Techniken vorgestellt, welche die Herausforderungen der drei genannten Problemstellungen auch für transcompilierte plattformübergreifende Anwendungen lösen. Dazu gehört unter anderem die Einführung zweier Code-Instrumentierungstechniken, die universell in verschiedenen Transcompilern einsetzbar sind. Sie bilden den Grundstein für die Erweiterung einer Regressionstest-Selektionstechnik, die mit Hilfe von Kontrollflussgraphen und Code-Identifier genau die Tests selektieren, die von Code-Änderungen in der Quellprogrammiersprache betroffen sind. Um die wichtigsten Tests mit der größten Chance zur Fehleraufdeckung als erstes auszuführen wurde zudem die Regressionstest-Selektionstechnik mit einer von sechs neuen Priorisierungstechniken kombiniert. Für eine möglichst hohe Effizienz des Ansatzes wurden Heuristiken entwickelt. Sie ermöglichen es einerseits, Testfehlschläge in einer der Zielprogrammiersprachen möglichst exakt auf Fehler im Code der Quellprogrammiersprache zurückführen. Andererseits halten sie den Speicherverbrauch möglichst gering und reduzieren den Analyseaufwand. Schließlich lassen sich auf Basis der Analysen unabhängig von der Art der Softwaretests genaue Metriken für die Beurteilung der Testabdeckung erheben. de_DE
dc.language.iso en de_DE
dc.publisher Universität Tübingen de_DE
dc.rights ubt-podno de_DE
dc.rights.uri http://tobias-lib.uni-tuebingen.de/doku/lic_ohne_pod.php?la=de de_DE
dc.rights.uri http://tobias-lib.uni-tuebingen.de/doku/lic_ohne_pod.php?la=en en
dc.subject.classification Softwaretest de_DE
dc.subject.ddc 004 de_DE
dc.subject.other Regression Testing en
dc.subject.other Transcompiler en
dc.subject.other Cross-Platform en
dc.title Regression Testing of Transcompiled Cross-Platform Applications en
dc.type PhDThesis de_DE
dcterms.dateAccepted 2018-09-20
utue.publikation.fachbereich Informatik de_DE
utue.publikation.fakultaet 7 Mathematisch-Naturwissenschaftliche Fakultät de_DE

Dateien:

Das Dokument erscheint in:

Zur Kurzanzeige