Many Tools, Few Exploitable Vulnerabilities: A Survey of 246 Static Code Analyzers for Security
Preprint
Abstract
Static security analysis is a widely used technique for detecting software vulnerabilities across a wide range of weaknesses, application domains, and programming languages. While prior work surveyed static analyzes for specific weaknesses or application domains, no overview of the entire security landscape exists. We present a systematic literature review of 246 static security analyzers concerning their targeted vulnerabilities, application domains, analysis techniques, evaluation methods, and limitations. We observe that most analyzers focus on a limited set of weaknesses, that the vulnerabilities they detect are rarely exploitable, and that evaluations use custom benchmarks that are too small to enable robust assessment.Keywords
All Related Versions
This publication has 251 references indexed in Scilit:
- Static Taint Analysis for JavaScript Programs2021
- Fixing Vulnerabilities Automatically with Linters2020
- Static Detection of File Access Control Vulnerabilities on Windows SystemConcurrency and Computation: Practice and Experience, 2020
- AuthCheck: Program-State Analysis for Access-Control Vulnerabilities2020
- Static Detection of Uninitialized Stack Variables in Binary Code2019
- A Light-Weight and Accurate Method of Static Integer-Overflow-to-Buffer-Overflow Vulnerability Detection2019
- Tailoring Taint Analysis to GDPR2018
- Static Analysis of Android Apps Interaction with Automotive CAN2018
- Model-based security testing: a taxonomy and systematic classificationSoftware Testing, Verification and Reliability, 2015
- Using Type Qualifiers to Analyze Untrusted Integers and Detecting Security Flaws in C ProgramsLecture Notes in Computer Science, 2006