Konzeption und Umsetzung eines Werkzeugs für den Mutationstest mit spezialisierten Operatoren für Nebenläufigkeitsfehler

Student:Benjamin Bösl
Title:Konzeption und Umsetzung eines Werkzeugs für den Mutationstest mit spezialisierten Operatoren für Nebenläufigkeitsfehler
Type:Hausarbeit
Advisors:Baer, M.; Oster, N.; Philippsen, M.
State:submitted on March 27, 2017
Prerequisits:
  • Solide Kenntnisse in Java – insbesondere auch parallele Programmierung
  • Grundkenntnisse in Test- und Verifikationsverfahren
  • Besuch entsprechender Lehrveranstaltungen (z.B. PFP, TSWS) empfohlen
Topic:

Beim Mutationstest werden jeweils einzelne repräsentative Fehler in das zu testende Programm ("Original") injiziert und das Verhalten jeder modifizierten Variante ("Mutant") bei der Ausführung der Testfälle mit dem der unveränderten Fassung verglichen. Weicht das Verhalten bei mindestens einem Testfall ab, gilt der Mutant als "getötet" - je mehr Mutanten auf diese Weise getötet werden (sog. "Mutation Score"), desto höher ist die Fehleraufdeckungsquote der Testfallmenge. Damit ist der Mutation Score ein quantitativer Indikator für die Güte der untersuchten Testsuite. Für sequentielle Software (sowohl prozedurale als auch objektorientierte) wurden ganze Kataloge repräsentativer Fehler definiert und in entsprechende Werkzeuge für den Mutationstest implementiert. Durch die zunehmende Verbreitung massiv paralleler Applikationen ist die Übertragung des Ansatzes auf nebenläufige Programme von großem Wert.
Im Rahmen dieser Arbeit sollen zunächst bestehende Ansätze für den Mutationstest paralleler Programme untersucht und ein Katalog entsprechender Mutationsoperatoren erstellt werden. In einem zweiten Schritt soll die Qualität der Operatoren anhand gängiger Metriken abgeschätzt werden. Im Hauptteil der Arbeit soll ein Werkzeug entwickelt werden, das die vielversprechensten Operatoren anwendet, um systematisch Mutanten mit abweichendem Code hinsichtlich enthaltener Nebenläufigkeit zu generieren.
Literaturempfehlungen:

  • http://cs.gmu.edu/~offutt/mujava/
  • Bradbury, J. S.; Cordy, J. R.; Dingel, J.: Mutation Operators for Concurrent Java (J2SE 5.0). In: MUTATION’06: Workshop on Mutation Analysis. Raleigh, NC, Nov. 2006, p. 11.
  • Gligoric, M.; Jagannath, V.; Marinov, D.: MuTMuT: Efficient Exploration for Mutation Testing of Multithreaded Code. In: ICST’10: International Conference on Software Testing, Verification and Validation. Paris, France, Apr. 2010, pp. 55–64.
watermark seal