Semantische Identifikation von Test-Klonen
- Type:Bachelorarbeit
- Date:20.09.2013
- Supervisor:
Dipl.-Inform.Wirt. Mathias Landhäußer
- Person in Charge:Sven Scheu
- Links:Links_bearbeiten
Bachelorarbeit -
Aufgabe
Am Lehrstuhl wird ein Verfahren zum automatischen Erzeugen von jUnit-Tests entwickelt. Basierend auf bestehenden Testfällen sollen neue Tests für ungetestete Klassen abgeleitet werden. Die Idee hinter dem Verfahren ist die analoge Anwendbarkeit von Testfällen; Testfälle einer Klasse A können dann auf eine andere Klasse B übertragen werden, ohne dass Entwickler die Tests manuell übertragen müssen. Entwickler können so ein Portfolio an bestehenden und bewährten Testfällen ausschöpfen und erreichen ohne nennenswerten Aufwand eine Grundabdeckung neuer Programmteile.
Entwickler neigen dazu, Testfälle (jUnit o.Ä.) für neue Klassen aus bestehenden Testfällen per Copy&Paste zu erzeugen und dann nur noch abzuwandeln – wir sprechen dann von Test-Klonen. Dies ist vor allem dann der Fall, wenn Programmbibliotheken ähnliche Aufgaben für verschiedene Datentypen erledigen können oder wenn verschiedene Algorithmen mit derselben Ein- und Ausgabe programmiert werden (bspw. Sortieralgorithmen).
Es existiert bereits eine Analysesoftware, die auf der syntaktischen Struktur der Eingabedateien basiert. Hierbei trifft das Verfahren Fehlentscheidungen vor allem bei sehr kurzen Testfällen und bei einfacherer Funktionsdelegation. Ergebnisneutrale Umstellungen im Quelltext einer Methode können ebenfalls dazu führen, dass Klone übersehen werden. Sie sollen das Verfahren um eine semantische Komponente erweitern, um die Schwächen der syntaxbasierten Analyse auszugleichen.
Voraussetzungen:
Um für die Anfertigung dieser programmierlastigen Arbeit gerüstet zu sein, verfügen Sie über Programmiererfahrung in Java und kennen sich mit Softwaretests aus. Sie haben keine Angst vor Arbeiten im Team und scheuen sich nicht, neue, Ihnen unbekannte Techniken einzusetzen. Außerdem zögern Sie nicht, eine E-Mail zur Vereinbarung eines ersten Gesprächs zu schreiben, in welchem ich Ihnen unverbindlich Details und einen persönlichen Eindruck unserer Arbeit geben werde.
Arbeitsumgebung:
Informatikerfreundliche Arbeitsumgebung
- Redundante Kaffeemaschinenanbindung
- Klimatisierter Poolraum
- Gut ausgebaute Süßigkeiteninfrastruktur