LLVM静的アナライザがZ3ソルバーを統合:誤検知の排除
2025-02-23
LLVMの静的アナライザは、Z3制約ソルバーをサポートするようになり、誤検知のフィルタリング能力が大幅に向上しました。この記事では、Z3を使用する2つの方法を示しています。1つは外部ソルバーとして使用する方法、もう1つは誤検知の反証に使用するものです。前者の方法は、誤検知を完全に排除しますが、速度が大幅に低下します(約15倍)。後者の方法は、Z3による反証を使用して誤検知を減らすため、より高速です。実験の結果、Z3を有効にすることで、LLVM静的アナライザは、ビット演算による誤検知を正確に特定して回避し、より信頼性の高い分析結果を得られることがわかりました。
続きを読む
開発