Impact of function pointers on the Call Graph

被引:7
作者
Antoniol, G [1 ]
Calzolari, F [1 ]
Tonella, P [1 ]
机构
[1] IRST, ITC, I-38050 Povo, Trento, Italy
来源
PROCEEDINGS OF THE THIRD EUROPEAN CONFERENCE ON SOFTWARE MAINTENANCE AND REENGINEERING | 1999年
关键词
D O I
10.1109/CSMR.1999.756682
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Maintenance activities are made more difficult when pointers are heavily used in source code: the programmer needs to build a mental model of memory locations and of the way they are accessed by means of pointers, in order to comprehend the functionalities of the system. Although several points-to analysis algorithms have been proposed in literature to provide information about memory locations referenced by pointers, there are no quantitative evaluations of the impact of pointers on the overall program understanding activities. Program comprehension activities are usually supported by tools, providing suitable views of the source program. One of the most widely used code views is the Call Graph, a graph representing calls between functions in the given program. Unfortunately, when pointers, and especially function pointers, are heavily used in the code, the extracted call graph is highly inaccurate and thus of little usage, if a points-to analysis is not preliminarly performed In this paper we will address the problem of evaluating the impact of pointers analysis on the Call Graph. The results, obtained on a set of real world programs, provide a quantitative evaluation and show the key role of pointer analysis in Call Graph construction.
引用
收藏
页码:51 / 59
页数:5
相关论文
共 14 条
[1]  
Andersen Lars Ole, 1994, Program Analysis and Specialization for the C Programming Language
[2]   Program understanding and maintenance with the CANTO environment [J].
Antoniol, G ;
Fiutem, R ;
Lutteri, G ;
Tonella, P ;
Zanfei, S ;
Merlo, E .
INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE, PROCEEDINGS, 1997, :72-81
[3]   The design of whole-program analysis tools [J].
Atkinson, DC ;
Griswold, WG .
PROCEEDINGS OF THE 18TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, 1996, :16-27
[4]  
Cimitile A, 1995, INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE, 1995 PROCEEDINGS, P124, DOI 10.1109/ICSM.1995.526534
[5]  
EMAMI M, 1994, P ACM SIGPLAN 94 C P, P242
[6]  
EROSA AM, 1994, INT C COMP LANG
[7]  
Harrold M. J., 1995, Proceedings of the 33rd Annual Southeast Conference, P110, DOI 10.1145/1122018.1122038
[8]  
HORWITZ S, 1989, SIGPLAN NOTICES, V24, P28, DOI 10.1145/74818.74821
[9]  
LANDI W, 1992, P ACM SIGPLAN 92 C P, P235, DOI [10.1145/143103.143137, DOI 10.1145/143103.143137, DOI 10.1145/143095.143137]
[10]  
MURPHY GC, 1996, INT C SOFTW ENG BERL, P90