HOME | ENGLISH | IMPRESSUM | KIT

Bachelorarbeit (abgeschlossen): Elm-Reduce: Delta Debugging von Funktionalen Programmen

Das händische Minimieren von fehlererzeugenden Programmen ist zeitraubend und mühselig. Zugleich ist es die einzige Möglichkeit von Benutzern einer Programmiersprache, die oftmals limitierte Aufmerksamkeit der Compiler-Entwickler auf die Behebung eines Compiler-Bugs zu lenken.

Für die Programmiersprache C existiert mit C-Reduce ein Werkzeug zur automatischen Minimierung fehlererzeugender C-Programme, das Delta Debugging mit der Semantik von C verbindet. Prinzipiell lässt sich dieses Werkzeug auch zur Reduktion anderer Programmiersprachen nutzen. Aufgrund der großen syntaktischen und semantischen Entfernung zu einer funktionalen Programmiersprache wie Elm führen die sprachspezifischen Pässe aber zu vielen unnötigen Testaufrufen, die bei großen Projekten zu unpraktikablen Reduktionszeiten führen. Zudem arbeitet C-Reduce nur auf einzelnen Übersetzungseinheiten, wohingegen ein erfolgreicher Testfallreduzierer für Elm über Modul- und Paketgrenzen hinweg arbeiten müsste, um mit typischen Projektumgebungen umgehen zu können.

Aufgabe:

Diese Arbeit hat zum Ziel, einen Testfallreduzierer für Elm zu schreiben, der fehlererzeugende Elm-Projekte zu einem möglichst minimalen Testfall in tolerierbarer Zeit reduziert.

Voraussetzungen

  • Elm-Kenntnisse
  • Haskell-Kentnisse

Schlüsselworte

Elm, Haskell, Compiler 

Veröffentlichungen

Veröffentlichung
Elm-Reduce: Delta Debugging Functional Programs

Betreuer

Wissenschaftliche Mitarbeiter
Sebastian Graf

Studenten

Studenten
Philipp Krüger