This paper presents the first Systematic Literature Review (SLR) of optimization techniques for static analyses, a fundamental method for detecting vulnerabilities and defects early in software development without executing code. Despite its effectiveness, static analysis faces challenges such as false warnings and high computational demands on large code bases. Prior research has demonstrated that performance can be significantly enhanced through techniques such as staging, sparse analysis, and parallelization. However, a systematic assessment of these techniques, their goals, and their interactions is still lacking, often limiting their broader impact. To map the landscape of static-analysis optimizations, we reviewed 146 research papers published between 2009 and 2025, categorizing them into a methodology-based taxonomy. This paper discusses specific optimization goals and examines the potential benefits of combining techniques from multiple categories. We find that most optimizations primarily target efficiency (time and memory), while few studies aim to improve precision. Most publications propose single techniques, with only a third combining multiple approaches. Optimizations predominantly target pointer analysis, though many are likely more broadly applicable. Other common targets include call-graph construction, taint analysis, and data-flow analyses. While some combinations, such as demand-driven and incremental analysis, have proven effective, others—such as staging and procedure summaries—remain under-explored, indicating significant potential for synergistic optimizations.
No takes yet. Share an insight, caveat, or question.
Muthuraman et al. (2026) studied this question.
Synapse has enriched 5 closely related papers on similar clinical questions. Consider them for comparative context: