Precise Call Graphs for C Programs with Function Pointers

作者:Ana Milanova, Atanas Rountev, Barbara G. Ryder

摘要

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.

论文关键词:call graph, function pointers, pointer analysis

论文评审过程:

论文官网地址:https://doi.org/10.1023/B:AUSE.0000008666.56394.a1