DocumentCode :
2437630
Title :
Precise call graph construction for OO programs in the presence of virtual functions
Author :
Bairagi, Ieepankar ; Kumar, Sandeep ; Agrawal, Dharma P.
Author_Institution :
Dept. of Electr. & Comput. Eng., North Carolina State Univ., Raleigh, NC, USA
fYear :
1997
fDate :
11-15 Aug 1997
Firstpage :
412
Lastpage :
416
Abstract :
Several intra- and inter-procedural program analysis techniques form the backbone of an optimizing and parallelizing compiler. The efficacy of these analyses depends upon how precise the call graph is. However, due to lack of exact type information for objects in an object-oriented (OO) program the existing call graph construction algorithms are rendered imprecise. In this paper, we present an algorithm for constructing a more precise call graph by exploiting the static class hierarchy of an OO program. The information collected during the class hierarchy analysis helps in avoiding unnecessary addition of many spurious call graph edges for virtual-function calls. We have implemented our algorithm for handling C++ programs within a restructuring tool, Sage++. With our precise algorithm for call graph construction, the percentage reduction in the number of nodes and edges in the call graphs for the benchmark programs we had selected ranged between 4% to 56% and between 22% to 58%, respectively
Keywords :
object-oriented programming; optimising compilers; parallelising compilers; C++ programs; Sage++; exact type information; object oriented programming; optimizing compiler; parallelizing compiler; precise call graph construction; program analysis techniques; restructuring tool; static class hierarchy; virtual functions; virtual-function calls; Algorithm design and analysis; Data analysis; Dynamic programming; Functional programming; Information analysis; Optimizing compilers; Parallel processing; Parallel programming; Program processors; Spine;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Parallel Processing, 1997., Proceedings of the 1997 International Conference on
Conference_Location :
Bloomington, IL
ISSN :
0190-3918
Print_ISBN :
0-8186-8108-X
Type :
conf
DOI :
10.1109/ICPP.1997.622674
Filename :
622674
Link To Document :
بازگشت