• Home
  • Search
  • Precise Call Graphs for C Programs with Function Pointers
  • Cite Icon69
  • https://doi.org/10.1023/b:ause.0000008666.56394.a1Copy DOI Icon

Precise Call Graphs for C Programs with Function Pointers

Show More
  • Abstract
  • Literature Map
  • References
  • Citations
  • Similar Papers
Abstract

The use of pointers presents serious problems for software productivity tools for software understanding, restructuring, and testing. Pointers enable indirect memory accesses through pointer dereferences, as well as indirect procedure calls (e.g., through function pointers in C). Such indirect accesses and calls can be disambiguated with pointer analysis. In this paper we evaluate the precision of one specific pointer analysis (the FA pointer analysis by Zhang et al.) for the purposes of call graph construction for C programs with function pointers. The analysis is incorporated in a production-strength code-browsing tool from Siemens Corporate Research in which the program call graph is used as a primary tool for code understanding. The FA pointer analysis uses an inexpensive, almost-linear, flow- and context-insensitive algorithm. To measure analysis precision, we compare the call graph constructed by this analysis with the most precise call graph obtainable by a large category of existing pointer analyses. Surprisingly, for all our data programs the FA analysis achieves the best possible precision. This result indicates that for the purposes of call graph construction, inexpensive pointer analyses may provide precision comparable to the precision of expensive pointer analyses.

Similar Papers
  • Conference Article
  • Citations11

Accurate Call Graph Extraction of Programs with Function Pointers Using Type Signatures

  • Nov 30, 2004
  • D.C Atkinson
  • Conference Article
  • Citations3

Total Recall? How Good Are Static Call Graphs Really?

  • Sep 11, 2024
  • Dominik Helm +6
  • Book Chapter
  • Citations3

Lightweight Function Pointer Analysis

  • Jan 01, 2015
  • Wei Zhang +1
  • Research Article
  • Citations31

Program slicing with dynamic points-to sets

  • Aug 01, 2005
  • IEEE Transactions on Software Engineering
  • M Mock +3
  • Conference Article

CG-Bench: Can Language Models Assist Call Graph Construction in the Real World?

  • Oct 09, 2025
  • Ting Yuan +3
  • Conference Article
  • Citations19

Research Paper] Static JavaScript Call Graphs: A Comparative Study

  • Sep 01, 2018
  • Gabor Antal +4
  • Research Article
  • Citations16

Eagle

  • Jul 23, 2021
  • ACM Transactions on Software Engineering and Methodology
  • Jingbo Lu +2
  • Research Article

Summary of the 14th edition of the IEEE/ACM Workshop on Automation of Software Test (AST)

  • Nov 14, 2019
  • ACM SIGSOFT Software Engineering Notes
  • Byoungju Choi +2
  • Conference Article
  • Citations42

Thresher

  • Jun 16, 2013
  • Sam Blackshear +2
  • Conference Article
  • Citations126

Protecting C programs from attacks via invalid pointer dereferences

  • Sep 01, 2003
  • Suan Hsi Yong +1
  • Research Article

PING Language Programming Principles: A Visual Logic Structure Programming Approach for Modular Function Control and Execution Tracking

  • Aug 20, 2025
  • Journal of Future Artificial Intelligence and Technologies
  • Ping Zhu +2
  • Research Article

A new abstraction for summary-based pointer analysis

  • Jan 01, 2007
  • Columbia Academic Commons (Columbia University)
  • Marcio Buss +3
  • Research Article

Machine Learning in QA: A Vision for Predictive and Adaptive Software Testing

  • Jul 16, 2021
  • INTERANTIONAL JOURNAL OF SCIENTIFIC RESEARCH IN ENGINEERING AND MANAGEMENT
  • Santosh Kumar Jawalkar
  • Conference Article
  • Citations2

Practices and tools for better software testing

  • Oct 26, 2018
  • Davide Spadini
  • Research Article

InferCG: Enhancing Python Call Graph Generation via Static Analysis and Large Language Models

  • Mar 07, 2026
  • ACM Transactions on Software Engineering and Methodology
  • Dongming Xiang +4
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.