CALL GRAPH CONSTRUCTION IN OBJECT-ORIENTED LANGUAGES

Citation
D. Grove et al., CALL GRAPH CONSTRUCTION IN OBJECT-ORIENTED LANGUAGES, ACM SIGPLAN NOTICES, 32(10), 1997, pp. 108-124
Citations number
46
Categorie Soggetti
Computer Sciences","Computer Science Software Graphycs Programming
Journal title
Volume
32
Issue
10
Year of publication
1997
Pages
108 - 124
Database
ISI
SICI code
Abstract
Interprocedural analyses enable optimizing compilers to more precisely model the effects of non-inlined procedure calls, potentially resulti ng in substantial increases in application performance. Applying inter procedural analysis to programs written in object-oriented or function al languages is complicated by the difficulty of constructing an accur ate program call graph. This paper presents a parameterized algorithmi c framework for call graph construction in the presence of message sen ds and/or first-class functions. We use this framework to describe and to implement a number of well-known and new algorithms. We then empir ically assess these algorithms by applying them to a suite of medium-s ized programs written in Cecil and Java, reporting on the relative cos t of the analyses, the relative precision of the constructed call grap hs, and the impact of this precision on the effectiveness of a number of interprocedural optimizations.