LLVM statischer Analysator integriert Z3-Solver: Beseitigung von Fehlalarmen

2025-02-23

Der statische Analysator von LLVM unterstützt jetzt den Z3-Constraint-Solver, wodurch die Fähigkeit zur Filterung von Fehlalarmen deutlich verbessert wird. Der Artikel zeigt zwei Methoden zur Verwendung von Z3 : als externer Solver und zur Widerlegung von Fehlalarmen. Die erste Methode eliminiert zwar alle Fehlalarme vollständig, ist aber deutlich langsamer (ca. 15-mal). Die zweite Methode, die Z3 zur Widerlegung verwendet, ist schneller und effizienter bei der Reduzierung von Fehlalarmen. Experimente zeigen, dass die Aktivierung von Z3 es dem statischen Analysator von LLVM ermöglicht, Fehlalarme, die durch bitweise Operationen verursacht werden, präzise zu identifizieren und zu vermeiden, was zu einer zuverlässigeren Analyse führt.

Mehr lesen
Entwicklung statische Analyse