• English
  • Deutsch
  • Log In
    Password Login
    Research Outputs
    Fundings & Projects
    Researchers
    Institutes
    Statistics
Repository logo
Fraunhofer-Gesellschaft
  1. Home
  2. Fraunhofer-Gesellschaft
  3. Scopus
  4. Scaling Bottom-Up IFDS Taint Analysis with Optimized Data-Flow Encoding
 
  • Details
  • Full
Options
2026
Conference Paper
Title

Scaling Bottom-Up IFDS Taint Analysis with Optimized Data-Flow Encoding

Abstract
Static taint analysis is an important technique for bug-finding and vulnerability detection on source-code. One commonly used technique to solve inter-procedural taint analysis problems is the well-studied Interprocedural Finite Distributive Subsets (IFDS) algorithm. However, when performing a whole-program analysis, IFDS-based taint analyses have trouble scaling to large target programs, mainly due to its huge memory consumption. A common technique to solve this issue is to modularize the analysis by visiting the call graph bottom-up, performing local sub-analyses in isolation. Still, bottom-up formulations of IFDS are rare due to their own scalability issues caused by over-approximating the analysis state at the beginning of a procedure. In this work we study how one can improve scalability for bottom-up taint analysis of C and C++ programs on millions of lines of code. We present MonoIFDS, a variant of the IFDS algorithm that combines IFDS-style procedure summaries with bottom-up inter-procedural propagation. It uses a modified encoding of the data-flow state and propagation to improve the efficiency of handling large analysis states, and to enable optimizations, such as optimizing the iteration order, that were not beneficial on IFDS analyses before. In our evaluation we show, how MonoIFDS performs compared to SparseIFDS when analyzing real-world C and C++ programs. Achieving a speedup of 6.17 on average with only consuming 51% of the memory compared to SparseIFDS, MonoIFDS drastically outperforms the state-of-the-art SparseIFDS and enables developers to target the analysis of large programs on consumer hardware.
Author(s)
Schiebel, Fabian
Paderborn University
Bodden, Eric  
Fraunhofer-Institut für Entwurfstechnik Mechatronik IEM  
Mainwork
40th European Conference on Object-Oriented Programming, ECOOP 2026  
Conference
European Conference on Object-Oriented Programming 2026  
Open Access
File(s)
Download (1.37 MB)
Rights
CC BY 4.0: Creative Commons Attribution
DOI
10.4230/LIPIcs.ECOOP.2026.23
10.24406/publica-9578
Language
English
Fraunhofer-Institut für Entwurfstechnik Mechatronik IEM  
Keyword(s)
  • C/C++

  • IFDS

  • Static analysis

  • Cookie settings
  • Imprint
  • Privacy policy
  • Api
  • Contact
© 2024