Skip to content
fuzzing
EntityQ1189053· pop 19· linked from 133 articles

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

Article · Italiano

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

Gallery (2)