Mit großen Sprachmodellen verstärktes probabilistisches Modell für statische Analysewarnungen

Xinlong PAN ,  

Jianhua LI ,  

Zhihong ZHOU ,  

Gaolei LI ,  

Xiuzhen CHEN ,  

Jin MA ,  

Jun WU ,  

Quanhai ZHANG ,  

Abstract

Die statische Analyse steht bei der Behandlung von Warnungen vor vielen Herausforderungen, wobei probabilistische Modelle und die Priorisierung von Warnungen zentrale Methoden sind, um die manuelle Überprüfung durch den Benutzer zu entlasten. Diese Modelle basieren typischerweise auf Benutzerfeedback zur Priorisierung von Warnungen, wodurch die Verarbeitungseffizienz verbessert wird. Bestehende Methoden sind jedoch häufig durch geringe Effizienz und unzureichende Generalisierungsfähigkeit eingeschränkt. Obwohl lernbasierte Ansätze ein gewisses Potenzial gezeigt haben, sind sie meist mit hohen Trainingskosten verbunden und durch vordefinierte Modellstrukturen begrenzt. Zudem wurde das Potenzial großer Sprachmodelle (LLM) in der statischen Analyse bislang nicht vollständig ausgeschöpft, was zu einer niedrigen Erkennungsgenauigkeit von Schwachstellen führt. Zur Bewältigung dieser Probleme wird in diesem Artikel ein neuer Rahmen — BinLLM — vorgeschlagen, der die Generalisierungsfähigkeit von LLM nutzt, um die Leistung des probabilistischen Warnmodells durch Regellernen zu verbessern. Unser Ansatz integriert abstrakte Regeln, die von LLM erzeugt werden, in das probabilistische Modell und verbindet Warnpfade und Schlüsselausdrücke der statischen Analyse, wodurch die Schlussfolgerungsfähigkeit des Modells gestärkt wird. Dies erhöht effektiv die Erkennungsrate echter Schwachstellen und reduziert Generalisierungsfehler. In einer experimentellen Bewertung an einer Reihe von C-Programmen reduzierte BinLLM die für die Validierung von Warnungen erforderliche Prüfungsanzahl im Vergleich zu zwei fortschrittlichen Basismethoden, Bingo und BayeSmith, um 40,1 % bzw. 9,4 %, was das Potenzial der Kombination von LLM und statischer Analyse zur Verbesserung des Warnungsmanagements eindrucksvoll demonstriert.

Keywords

statische Analyse; Bayessche Inferenz; große Sprachmodelle; Warnpriorisierung

READ MORE