FuSeBMC-AI ist ein Testgenerierungstool, das auf Maschinellem Lernen basiert. Es extrahiert verschiedene Merkmale aus dem Programm und verwendet Unterstützungsvektormaschinen und neuronale Netzwerke, um die optimale Konfiguration des hybriden Ansatzes vorherzusagen. FuSeBMC-AI nutzt Bounded Model Checking und Fuzzing als Backend-Verifikationsmaschinen.
FuSeBMC-AI analysiert zunächst den Quellcode, um relevante Merkmale zu extrahieren, die das Training und die Leistungsfähigkeit der Verifikationsmaschinen beeinflussen. Diese Merkmale werden dann in Maschinellen Lernmodellen verwendet, um die optimalen Konfigurationseinstellungen für FuSeBMC-AI vorherzusagen. Anschließend führt FuSeBMC-AI das Zielprogramm mit den empfohlenen Einstellungen aus.
Die Ergebnisse zeigen, dass FuSeBMC-AI in bestimmten Kategorien wie "ControlFlow", "Hardware", "Loops" und "Software Systems BusyBox MemSafety" die Leistung des Standard-FuSeBMC übertrifft und gleichzeitig den Ressourcenverbrauch um etwa 3% reduziert.
Trotz dieser Verbesserungen hat der Ansatz auch Einschränkungen. Aufgrund der begrenzten Trainingsmenge und -vielfalt ist er möglicherweise nicht für alle Programmszenarios optimal geeignet. Die Autoren arbeiten daran, den Trainingsdatensatz zu erweitern und die Methodik auf Open-Source-Softwareprojekte anzuwenden.
To Another Language
from source content
arxiv.org
Głębsze pytania