#189 Fuzzing: Wenn der Zufall dein bester Tester ist mit Prof. Andreas Zeller
1 Stunde 19 Minuten
Podcast
Podcaster
Beschreibung
vor 8 Monaten
Fuzzing: Software-Stabilität durch Zufalls-generierte
Eingabedaten
Testen, besonders automatisiertes Testen der eigenen Software,
gilt als Best Practice in der Softwareentwicklung. Egal, ob wir
dabei von Unit-Testing, Integration Testing, Funktions- oder
Akzeptanztesting sprechen. Die Idee dabei ist, dass wir die
Fehler in der Software gering halten. Auch wenn deine Tests zu
einer 100%igen Code Coverage führen, heißt es nicht, dass dein
Programm keine Bugs hat. Denn ein Problem gibt es bei all diesen
Test-Arten: Die Input-Parameter sind i.d.R. nach einer gewissen
Struktur erstellt worden. Und dies heißt noch lange nicht, dass
diese Input-Parameter alle möglichen Fälle abdecken.
Und genau da kommt das Thema Fuzzing bzw. Fuzz-Testing ins Spiel.
Das Testen deiner Software mit zufällig generierten
Input-Parametern. Das klingt erstmal wild, kann aber ganz neue
Probleme in deiner Software aufdecken. Und das ist das Thema in
dieser Episode.
Zu Gast ist Prof. Dr. Andreas Zeller, Forscher im Bereich
Softwaretesting und Autor des Fuzzing Books. Mit ihm klären wir,
was Fuzzing eigentlich ist, woher es kommt und wie es sich
gegenüber anderen Teststrategien, wie Unit-Testing, verhält. Er
gibt uns einen Einblick in die Unterschiede von Search-Based
Fuzzing, Grammar-Fuzzing, Symbolic Fuzzing sowie
spezifikationsbasierten Fuzzern, wie komplexe Systeme mittels
metamorphes Testen verbessert werden können, was das
Orakel-Problem ist, wie z.B. Datenbanken gefuzzed werden können,
aber auch wie das Ganze in der Praxis angewendet werden kann und
wie du einfach mit Fuzzing starten kannst.
Bonus: Was ein Orakel mit Testing zu tun hat.
Unsere aktuellen Werbepartner findest du auf
https://engineeringkiosk.dev/partners
Das schnelle Feedback zur Episode:
(top) (geht
so)
Anregungen, Gedanken, Themen und Wünsche
Dein Feedback zählt! Erreiche uns über einen der folgenden Kanäle
…
EngKiosk Community:
https://engineeringkiosk.dev/join-discord
LinkedIn: https://www.linkedin.com/company/engineering-kiosk/
Email: stehtisch@engineeringkiosk.dev
Mastodon: https://podcasts.social/@engkiosk
Bluesky:
https://bsky.app/profile/engineeringkiosk.bsky.social
Instagram: https://www.instagram.com/engineeringkiosk/
Unterstütze den Engineering Kiosk
Wenn du uns etwas Gutes tun möchtest … Kaffee schmeckt uns
immer
Buy us a coffee: https://engineeringkiosk.dev/kaffee
Links
Prof. Dr. Andreas Zeller: https://andreas-zeller.info/
Prof. Dr. Andreas Zeller auf LinkedIn:
https://www.linkedin.com/in/andreaszeller/
CISPA – Helmholtz-Zentrum für Informationssicherheit:
https://cispa.de/de
OSS-Fuzz: https://github.com/google/oss-fuzz
ClusterFuzz: https://github.com/google/clusterfuzz
The Fuzzing Book: https://www.fuzzingbook.org/
ACM SIGSOFT Outstanding Research Award:
https://www2.sigsoft.org/awards/outstandingresearch/
KLEE Symbolic Execution Engine: https://klee-se.org/
AFL++: https://aflplus.plus/
Blog-Artikel über EvoSuite:
https://apanichella.github.io/tag/evosuite/
Manuel Rigger “Bugs found in Database Management Systems”:
https://www.manuelrigger.at/dbms-bugs/
FANDANGO: Evolving Language-Based Testing:
https://github.com/fandango-fuzzer/fandango
inputLab: https://inputlab.net/
Paper “Will AI replace Software Engineers? Do not hold your
breath”: https://arxiv.org/abs/2502.20429
Sprungmarken
(00:00:00) Intro
(00:01:37) Fuzzing mit Prof. Dr. Andreas Zeller
(00:07:55) Info/Werbung
(00:08:55) Was ist Fuzzing?
(00:12:37) Fuzzing im Kontext von anderen Test-Strategien
(00:14:45) Woher stammt Fuzzing?
(00:18:41) Eingabe-Parameter beim Testing
(00:22:43) Unterschiedliche Arten von Fuzzing
(00:31:37) Feedback vom Fuzzer erneut in den Testprozess
integrieren
(00:40:23) Search-Based-, Grammar-, Symbolic- und
spezifikationsbasiertes Fuzzen
(00:45:04) Fuzzing: Wissenschaft vs. Praxis
(00:50:32) Fuzzing von hochkomplexen Systemen wie z.B.
Datenbanken
(01:03:04) LLMs vs. Fuzzing
(01:09:16) Mit dem Fuzzing starten
(01:15:58) Testabdeckung bei elektronischen Rechnungen
Hosts
Wolfgang Gassler (https://gassler.dev)
Andy Grunwald (https://andygrunwald.com/)
Community
Diskutiere mit uns und vielen anderen Tech-Spezialist⋅innen in
unserer Engineering Kiosk Community unter
https://engineeringkiosk.dev/join-discord
Weitere Episoden
8 Minuten
vor 8 Stunden
27 Minuten
vor 1 Tag
9 Minuten
vor 2 Tagen
14 Minuten
vor 3 Tagen
9 Minuten
vor 4 Tagen
In Podcasts werben
Kommentare (0)