
Also known as fuzz testing, FUZZ, software fuzzing
thumb | right | American Fuzzy Lop (software)|American Fuzzy Lop's afl-fuzz running on a test program
via Wikidata · CC0
Nella programmazione e nello sviluppo software, il fuzzing (o fuzz testing) è una tecnica automatizzata di collaudo del software che prevede l'immissione di dati non validi, imprevisti o casuali come input di un programma tramite appositi programmi detti fuzzer. Il programma da testare viene quindi monitorato per rilevare eventuali errori o falle di sicurezza di un software come arresti anomali, asserzioni errate interne al codice o potenziali memory leak. Tipicamente i fuzzer vengono utilizzati per testare programmi che accettano input strutturati. Questa struttura è specificata, ad esempio, in un formato di file o in un protocollo e distingue gli input validi da quelli non validi. Un fuzzer efficace genera input semi-validi che sono "abbastanza validi" in quanto non vengono rifiutati direttamente dal parser, ma creano comportamenti imprevisti più in profondità nel programma e sono quindi definiti "abbastanza non validi", ovvero fanno saltare fuori i cosiddetti "corner case" (ovvero casi limite non preventivati) che non sono stati adeguatamente trattati.
Abstract from DBpedia / Wikipedia · CC BY-SA
via Wikidata sitelinks · CC0
Discovered by embedding cosine similarity (sentence-transformers MiniLM, 384-dim).