{"id":4702,"date":"2021-11-10T04:28:11","date_gmt":"2021-11-10T04:28:11","guid":{"rendered":"https:\/\/lamarr-institute.org\/blog\/fuzzy-testing\/"},"modified":"2025-11-12T14:54:47","modified_gmt":"2025-11-12T14:54:47","slug":"fuzzy-testing","status":"publish","type":"blog","link":"https:\/\/lamarr-institute.org\/de\/blog\/fuzzy-testing\/","title":{"rendered":"Fuzzy Testing f\u00fcr KI-Systeme"},"content":{"rendered":"\n<p>Mit dem sogenannten <strong>Fuzzy Testing<\/strong> (kurz: Fuzzing) stellen wir in diesem Blogbeitrag ein Pr\u00fcfverfahren vor, das kontinuierliche, automatisierte Tests von Software mit moderatem Zeit- und Kostenaufwand erlaubt, sich f\u00fcr dynamische Entwicklungs- und Einsatzumgebungen eignet und eine im Vergleich zu manuellen Verfahren deutlich gr\u00f6\u00dfere Testraumabdeckung erreichen kann. Dieser moderne Ansatz, der urspr\u00fcnglich <a href=\"https:\/\/arxiv.org\/abs\/1812.00140\" target=\"_blank\" rel=\"noopener\">f\u00fcr klassische Software entwickelt<\/a> wurde, wird zunehmend im Hinblick auf die Pr\u00fcfung von KI-Systemen (speziell von Neuronalen Netzen) erweitert und angewendet. Es kombiniert konzeptionelle Einfachheit mit einer ganzen Reihe g\u00fcnstiger Eigenschaften, die es auch zur L\u00f6sung von spezifischen Problemen aus dem KI-Umfeld attraktiv erscheinen lassen, die wir in einem <a href=\"https:\/\/lamarr-institute.org\/de\/testen-von-ki-systemen\/\" target=\"_blank\" rel=\"noreferrer noopener\">fr\u00fcheren Blogbeitrag<\/a> vorgestellt haben.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span style=\"font-size: 18pt;\">Fuzzing: Testen mit Hilfe des Zufalls<\/span><\/h2>\n\n\n\n<p>Fuzzy Testing basiert auf einer evolution\u00e4ren Optimierungsstrategie und ist ein vielversprechender Kandidat, um Herausforderungen anzugehen, die vor allem im Kontext von KI-Systemen bedeutsam sind. Ausgehend von einer Reihe vorausgew\u00e4hlter Testeingaben werden mittels anwendungsspezifischer Transformationen zuf\u00e4llig neue Eingaben erzeugt und dem KI-Modell vorgelegt. &nbsp;Eine solche Zufallsmutation ist genau dann im Sinne des Algorithmus &#8222;interessant&#8220;, wenn mindestens eines der folgenden Kriterien erf\u00fcllt ist:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Schlechte(re) Vorhersagen:<\/strong> Die Vorhersage des Modells ist entweder fehlerhaft oder ihre Qualit\u00e4t ungen\u00fcgend.<\/li>\n\n\n\n<li><strong>Erh\u00f6hte Suchraumabdeckung:<\/strong> Ein geeignetes Ma\u00df f\u00fcr die Abdeckung des Zustandsraums des Modells wird durch die Zufallsmutation signifikant erh\u00f6ht. F\u00fcr ein Neuronales Netz und <em>neuron coverage<\/em> als Abdeckungsma\u00df w\u00e4re dies etwa dann gegeben, wenn durch das neue Beispiel Neuronen stark aktiviert werden, die durch alle anderen Tests nicht oder nur schwach aktiviert wurden.<\/li>\n<\/ol>\n\n\n\n<p>Da mit dem zweiten Kriterium ein Ma\u00df f\u00fcr die Abdeckung (englisch <em>coverage<\/em>) des Zustandsraums des Modells in die Bewertung einer Testeingabe einflie\u00dft, spricht man hierbei auch von <strong>coverage-based Fuzzing<\/strong>. Alle Zufallseingaben werden gesammelt und hinsichtlich ihrer Interessantheit bewertet. In regelm\u00e4\u00dfigen Abst\u00e4nden wird ein bestimmter Anteil der uninteressanteren Testf\u00e4lle ausgefiltert.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1178\" height=\"733\" src=\"https:\/\/lamarr-institute.org\/wp-content\/uploads\/schema-1.gif\" alt=\"- Lamarr Institute for Machine Learning (ML) and Artificial Intelligence (AI)\" class=\"wp-image-13269\" title=\"\"><figcaption class=\"wp-element-caption\">\u00a9ML2R <br>Das Bild zeigt einen Durchlauf durch die Fuzzing Testschleife. Ausgehend von einer Sammlung bestehender Testeingaben wird eine Eingabe gezogen und mit einer anwendungsspezifischen Zufallsmutation ver\u00e4ndert. Wenn die Vorhersage des zu testenden KI-Modells fehlerhaft ist oder die Testeingabe ein geeignetes Abdeckungsma\u00df signifikant erh\u00f6ht (zum Beispiel neuron coverage bei Neuronalen Netzen), wird die Zufallsmutation der Testsammlung hinzugef\u00fcgt. Dieser Vorgang wird solange wiederholt, bis das Testbudget ersch\u00f6pft oder ein kritischer Fehler aufgetreten ist.<\/figcaption><\/figure>\n\n\n\n<p>Eine entscheidende Rolle f\u00fcr die erreichbare<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Pr\u00fcfbreite (wie stark sich Testeingaben unterscheiden k\u00f6nnen),<\/li>\n\n\n\n<li>Pr\u00fcftiefe (wie dicht der Suchraum in Umgebungen einzelner Eingaben abgedeckt wird) und<\/li>\n\n\n\n<li>Pr\u00fcfeffizienz<\/li>\n<\/ul>\n\n\n\n<p>spielen dabei die Transformationen, die als elementare Bausteine f\u00fcr die Zufallsmutationen zur Auswahl stehen. Sie beeinflussen, welche m\u00f6glichen neuen Eingaben sich aus den schon vorhandenen generieren lassen und wie lange es dauert, bis neue Bereiche des Suchraums erschlossen werden k\u00f6nnen.<\/p>\n\n\n\n<p>So k\u00f6nnten im Fall eines bildverarbeitenden Modells Standardfilter aus dem Bereich der Bildverarbeitung (Weichzeichner, Rauschen, Verzerrungen, usw.) zuf\u00e4llig kombiniert werden. Durch die erh\u00f6hte Pr\u00fcftiefe w\u00e4re es m\u00f6glich, <a href=\"https:\/\/machinelearning-blog.de\/grundlagen\/was-sind-adversarial-examples\/\" target=\"_blank\" rel=\"noreferrer noopener\">adversarielle Beispiele<\/a> oder ganz generell Instabilit\u00e4ten des Modells zu finden, die per Definition sehr nah an Beispielen aus dem Trainingsdatensatz liegen \u2013 bei adversariellen Beispielen sogar so nah, dass Unterschiede zum Original mit blo\u00dfem Auge nicht oder kaum zu erkennen sind.<\/p>\n\n\n\n<p>Hingegen w\u00fcrde es eine praktisch unendliche Anzahl an Mutationen erfordern, um nur mit solchen Filtern und per Zufall aus dem Bild eines Hundes das einer Orange zu erhalten. Pr\u00fcfungen mit hoher Pr\u00fcfbreite, f\u00fcr die Eingaben mit solcherart neuem Inhalt generierbar sein m\u00fcssen, erfordern komplexere Transformationen auf Basis von (Bild-)generatoren; Mutationen entst\u00fcnden im oben genannten Beispiel durch zuf\u00e4lliges Hinzuf\u00fcgen oder Entfernen ganzer Bildmotivteile.<\/p>\n\n\n\n<p>W\u00e4hrend sich Standardfilter aus der Bildbearbeitung relativ einfach zum Pr\u00fcfen beliebiger bildverarbeitender Modelle verwenden lassen, m\u00fcssen generative Transformationen speziell f\u00fcr einen Anwendungsfall zusammengestellt oder ggf. sogar neu entwickelt werden.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Vorz\u00fcge von Fuzzy Testing<\/h2>\n\n\n\n<p>Von seinen Anlagen her bringt Fuzzing eine ganze Reihe von Eigenschaften mit, die es zu einem vielversprechenden Kandidaten f\u00fcr praktisch umsetzbare, automatisierte KI-Tests machen. Durch die fortlaufend optimierten, zufallsgenerierten Eingaben ist eine Pr\u00fcfung per Fuzzing:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Dynamisch:<\/strong> Die Menge der Testeingaben passt sich zielgerichtet und ohne menschliches Zutun auch an ver\u00e4nderliche Modelle und Einsatzumgebungen an.<\/li>\n\n\n\n<li><strong>Automatisierbar:<\/strong> Fuzzing ist ein automatisiertes Pr\u00fcfverfahren, das ohne engmaschige menschliche Einflussnahme oder \u00dcberwachung angewendet werden kann.<\/li>\n\n\n\n<li><strong>Praktikabel:<\/strong> Ebenso wie die Entwicklung eines Modells in der Praxis oft nicht endg\u00fcltig abgeschlossen ist, kann auch eine Pr\u00fcfung per Fuzzing ebenfalls &#8222;endlos&#8220; weiterlaufen. Es k\u00f6nnen aber auch Rechenzeit- und andere Ressourcenbegrenzungen f\u00fcr Fuzzing-Kampagnen definiert werden.<\/li>\n\n\n\n<li><strong>Umfassend:<\/strong> Bei geeignet gew\u00e4hlter Metrik f\u00fcr die Suchraumabdeckung, verspricht Fuzzing zum einen einen quantitativen Indikator daf\u00fcr zu liefern, wann eine Pr\u00fcfung hinreichend &#8222;vollst\u00e4ndig&#8220; ist, zum anderen kann aber auch flexibel zwischen Pr\u00fcfg\u00fcte und -aufwand abgewogen werden.<\/li>\n\n\n\n<li><strong>Integrierbar:<\/strong> Fuzzy Tests lassen sich technisch gut in moderne Entwicklungs- und Auslieferungswerkzeuge und die entsprechenden automatisierten Abl\u00e4ufe vom Test der jeweils aktuellen Modellversionen bis hin zum Produktionsbetrieb integrieren.<\/li>\n\n\n\n<li><strong>Vielseitig:<\/strong> Auch wenn aktuell entwickelte Fuzzingans\u00e4tze vielfach auf Neuronale Netze zugeschnitten sind, eignet sich das Verfahren prinzipiell zur Pr\u00fcfung anderer Lernverfahren und f\u00fcr alle Arten von Eingangsdaten.<\/li>\n<\/ol>\n\n\n\n<p>Fuzzing verspricht also viele Vorteile f\u00fcr einen breiten Praxiseinsatz. Allerdings sind aktuell noch einige Forschungsfragen zu kl\u00e4ren, um der Technik zu einer breiteren Anwendung zu verhelfen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Aktuelle Forschungsfelder im Bereich Fuzzy Testing f\u00fcr Maschinelles Lernen<\/h2>\n\n\n\n<p>So muss eine gute Fehlerheuristik, ein sogenanntes <em>Oracle<\/em>, meist genau f\u00fcr einen spezifischen Anwendungsfall gew\u00e4hlt beziehungsweise darauf zugeschnitten werden. Generische und damit (nahezu) universell einsetzbare <em>Oracles<\/em> eignen sich dagegen vorwiegend zum Finden kritischer Fehler, wie zum Beispiel von Programmabst\u00fcrzen und Rechenfehlern (sogenanntes <em>Smoke Testing<\/em>). Ob ein passendes <em>Oracle<\/em> gefunden werden kann, muss daher meist von Fall zu Fall entschieden werden und erfordert oft dom\u00e4nenspezifisches Expertenwissen.<\/p>\n\n\n\n<p>Auch die Wahl einer geeigneten Abdeckungsmetrik ist gegenw\u00e4rtig ein aktives Forschungsfeld. Sie dient zum einen dazu, die automatische Suche nach interessanten Testbeispielen in die Tiefe des Suchraums zu f\u00fchren, zum anderen soll die insgesamt erreichte Abdeckung auch einen Hinweis auf die Vollst\u00e4ndigkeit der Pr\u00fcfkampagne liefern k\u00f6nnen. So ist etwa die Eignung der sogenannten <em>neuron coverage<\/em> f\u00fcr Neuronale Netze unter Forschern <a href=\"https:\/\/dl.acm.org\/doi\/abs\/10.1145\/3368089.3409754\" target=\"_blank\" rel=\"noreferrer noopener\">nicht unumstritten<\/a> und nur eine von <a href=\"https:\/\/www.computer.org\/csdl\/journal\/ts\/5555\/01\/09000651\/1hx2HVjPVVm\" target=\"_blank\" rel=\"noreferrer noopener\">vielen Kandidaten<\/a> f\u00fcr ein Abdeckungsma\u00df. Andererseits gibt es etablierte Lernverfahren abseits Neuronaler Netze, f\u00fcr die bislang noch kein einziger Kandidat entwickelt worden ist.<\/p>\n\n\n\n<p>Au\u00dferdem kann sich die Wahl geeigneter Elementartransformationen je nach Anwendungsfall schwierig gestalten. Schlie\u00dflich gilt es zu vermeiden, dass das Fuzzing (zu) viele Testf\u00e4lle generiert, die au\u00dferhalb der \u2013 oftmals nicht klar umrissenen \u2013 Anwendungsdom\u00e4ne eines Modells liegen. Dies ist wichtig, um einerseits Ressourcen und Kosten zu sparen und andererseits nur solche Fehler zu finden, die f\u00fcr die Qualit\u00e4tsbewertung jenseits von reinen <em>Smoke Tests<\/em> auch tats\u00e4chlich relevant sind. Ist die Menge der Transformationen hingegen zu eingeschr\u00e4nkt gew\u00e4hlt, um den Suchraum aller Eingaben schnell &#8222;durchqueren&#8220; zu k\u00f6nnen, besteht das Risiko, dass keine&nbsp;Suchkampagne eine zufriedenstellende Abdeckung erreicht \u2013 unabh\u00e4ngig vom getriebenen Aufwand.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Fazit<\/h2>\n\n\n\n<p>Mit dem Fuzzy Testing schickt sich ein modernes, etabliertes Verfahren aus dem Bereich der automatisierten Softwaretests an, den Sprung von klassischer Software in die Sph\u00e4re des Maschinellen Lernens zu machen. Es kombiniert konzeptionelle Einfachheit mit einer ganzen Reihe g\u00fcnstiger Eigenschaften, die es sogar zur L\u00f6sung von Problemen attraktiv erscheinen lassen, welche f\u00fcr das KI-Umfeld spezifisch sind. Es wird sich zeigen m\u00fcssen, ob und f\u00fcr welche Anwendung sich diese Versprechen erf\u00fcllen lassen \u2013 gerade im Bereich Neuronaler Netze ist Fuzzy Testing aber ein aktives Forschungsfeld mit einer Reihe Kandidaten, die schon jetzt einen Blick wert sein k\u00f6nnten.<\/p>\n\n\n\n<p>Mehr Informationen in dem zugeh\u00f6rigem Video:<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n <div class=\"brlbs-cmpnt-container brlbs-cmpnt-content-blocker brlbs-cmpnt-with-individual-styles\" data-borlabs-cookie-content-blocker-id=\"youtube-content-blocker\" data-borlabs-cookie-content=\"PGlmcmFtZSB0aXRsZT0iMS1SZXZpc2l0aW5nIE5ldXJvbiBDb3ZlcmFnZSBhbmQgaXRzIEFwcGxpY2F0aW9uIHRvIFRlc3QgR2VuZXJhdGlvbiIgd2lkdGg9IjY0MCIgaGVpZ2h0PSIzNjAiIHNyYz0iaHR0cHM6Ly93d3cueW91dHViZS1ub2Nvb2tpZS5jb20vZW1iZWQvbmkwSFFXRF9FMzA\/ZmVhdHVyZT1vZW1iZWQiIGZyYW1lYm9yZGVyPSIwIiBhbGxvdz0iYWNjZWxlcm9tZXRlcjsgYXV0b3BsYXk7IGNsaXBib2FyZC13cml0ZTsgZW5jcnlwdGVkLW1lZGlhOyBneXJvc2NvcGU7IHBpY3R1cmUtaW4tcGljdHVyZTsgd2ViLXNoYXJlIiByZWZlcnJlcnBvbGljeT0ic3RyaWN0LW9yaWdpbi13aGVuLWNyb3NzLW9yaWdpbiIgYWxsb3dmdWxsc2NyZWVuPjwvaWZyYW1lPg==\"><div class=\"brlbs-cmpnt-cb-preset-c brlbs-cmpnt-cb-youtube\"> <div class=\"brlbs-cmpnt-cb-thumbnail\" style=\"background-image: url('https:\/\/lamarr-institute.org\/wp-content\/uploads\/borlabs-cookie\/1\/yt_ni0HQWD_E30_hqdefault.jpg')\"><\/div> <div class=\"brlbs-cmpnt-cb-main\"> <div class=\"brlbs-cmpnt-cb-play-button\"><\/div> <div class=\"brlbs-cmpnt-cb-content\"> <p class=\"brlbs-cmpnt-cb-description\">Sie sehen gerade einen Platzhalterinhalt von <strong>YouTube<\/strong>. Um auf den eigentlichen Inhalt zuzugreifen, klicken Sie auf die Schaltfl\u00e4che unten. Bitte beachten Sie, dass dabei Daten an Drittanbieter weitergegeben werden.<\/p> <a class=\"brlbs-cmpnt-cb-provider-toggle\" href=\"#\" data-borlabs-cookie-show-provider-information role=\"button\">Mehr Informationen<\/a> <\/div> <div class=\"brlbs-cmpnt-cb-buttons\"> <a class=\"brlbs-cmpnt-cb-btn\" href=\"#\" data-borlabs-cookie-unblock role=\"button\">Inhalt entsperren<\/a> <a class=\"brlbs-cmpnt-cb-btn\" href=\"#\" data-borlabs-cookie-accept-service role=\"button\" style=\"display: inherit\">Erforderlichen Service akzeptieren und Inhalte entsperren<\/a> <\/div> <\/div> <\/div><\/div>\n<\/div><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Das Fuzzy Testing erlaubt kontinuierliche, automatisierte KI-Tests mit moderatem Zeit- und Kostenaufwand, eignet sich f\u00fcr dynamische Entwicklungs- und Einsatzumgebungen und kann eine im Vergleich zu manuellen Verfahren deutlich gr\u00f6\u00dfere Testraumabdeckung erreichen.<\/p>\n","protected":false},"author":9,"featured_media":4706,"template":"","meta":{"_acf_changed":false,"footnotes":""},"blog-category":[1416,396],"blog-tag":[1422,1490],"class_list":["post-4702","blog","type-blog","status-publish","has-post-thumbnail","hentry","blog-category-alle-blogbeitraege","blog-category-forschung","blog-tag-adversarial-attacks-de","blog-tag-fuzzy-testing-de"],"acf":[],"publishpress_future_workflow_manual_trigger":{"enabledWorkflows":[]},"_links":{"self":[{"href":"https:\/\/lamarr-institute.org\/de\/wp-json\/wp\/v2\/blog\/4702","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lamarr-institute.org\/de\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/lamarr-institute.org\/de\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/lamarr-institute.org\/de\/wp-json\/wp\/v2\/users\/9"}],"version-history":[{"count":0,"href":"https:\/\/lamarr-institute.org\/de\/wp-json\/wp\/v2\/blog\/4702\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/lamarr-institute.org\/de\/wp-json\/wp\/v2\/media\/4706"}],"wp:attachment":[{"href":"https:\/\/lamarr-institute.org\/de\/wp-json\/wp\/v2\/media?parent=4702"}],"wp:term":[{"taxonomy":"blog-category","embeddable":true,"href":"https:\/\/lamarr-institute.org\/de\/wp-json\/wp\/v2\/blog-category?post=4702"},{"taxonomy":"blog-tag","embeddable":true,"href":"https:\/\/lamarr-institute.org\/de\/wp-json\/wp\/v2\/blog-tag?post=4702"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}