Humboldt-Universität zu Berlin - Mathematisch-Naturwissenschaftliche Fakultät - Software Engineering

Humboldt-Universität zu Berlin | Mathematisch-Naturwissenschaftliche Fakultät | Institut für Informatik | Software Engineering | Lehre | WS 2023/2024 | Semesterprojekt: Automatische Testfallgenerierung mittels Generator-based Fuzzing

Automatische Testfallgenerierung mittels Generator-based Fuzzing


 

Wann und Wo

Semesterprojekt: Dienstag, 13-15 Uhr, RUD 25, 4.113

Wer

Dozent: Hoang Lam Nguyen

Beschreibung und Aufbau der Lehrveranstaltung

Fuzzing ist eine automatisierte Testmethode, bei der mittels zufällig generierter Test-Inputs nach Bugs und Sicherheitslücken in Programmen gesucht wird. Eine besondere Herausforderung stellt dabei das Fuzzing von Programmen dar, welche strukturierte Eingaben erwarten (z.B. Compiler oder Web-Browser).

Ziel des Semesterprojekts ist es, dass die Teilnehmenden neuartige Fuzzing-Techniken kennenlernen und anwenden. Der Fokus liegt dabei auf der Generierung von strukturierten Test-Inputs, wie z.B. XML-, PDF-, oder JavaScript, welche typischerweise von komplexen Input-Processing Pipelines weiterverarbeitet werden.

Unter Anleitung der Lehrenden werden Fuzzer für verschiedene strukturierte Eingabeformate implementiert und evaluiert. Hierzu werden unter anderem Grundlagen im wissenschaftlichen Arbeiten vermittelt, die für Abschlussarbeiten dringend relevant sind. Die Implementation erfolgt in Java.

 

 

Inhalte:

  • Einführung in die automatisierte Testfallgenerierung mittels Fuzzing
  • Fortgeschrittene Fuzzing-Techniken (coverage-guided fuzzing, grammar-based fuzzing, generator-based fuzzing)
  • Einführung in das JQF-Framework
  • Benchmarking als Evaluationsmethode