Proceedings of the 2016 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applicatio 2016
DOI: 10.1145/2983990.2983991
|View full text |Cite
|
Sign up to set email alerts
|

Call graphs for languages with parametric polymorphism

Abstract: The performance of contemporary object oriented languages depends on optimizations such as devirtualization, inlining, and specialization, and these in turn depend on precise call graph analysis. Existing call graph analyses do not take advantage of the information provided by the rich type systems of contemporary languages, in particular generic type arguments. Many existing approaches analyze Java bytecode, in which generic types have been erased. This paper shows that this discarded information is actually … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2

Citation Types

0
2
0

Year Published

2017
2017
2023
2023

Publication Types

Select...
4
1

Relationship

0
5

Authors

Journals

citations
Cited by 7 publications
(2 citation statements)
references
References 23 publications
(26 reference statements)
0
2
0
Order By: Relevance
“…This simple construction needs to be expanded if the language has polymorphism and high order functions, as Rust does. Several algorithms for call graph construction for other languages which have these features have been proposed with different trade-offs between precision and running time [5,11,25]. Our approach is similar to the one by Petrashko et al [25] in using the type information available at call site of not only the Self type, but also of the static types of the parameters.…”
Section: Extended Call Graphmentioning
confidence: 99%
See 1 more Smart Citation
“…This simple construction needs to be expanded if the language has polymorphism and high order functions, as Rust does. Several algorithms for call graph construction for other languages which have these features have been proposed with different trade-offs between precision and running time [5,11,25]. Our approach is similar to the one by Petrashko et al [25] in using the type information available at call site of not only the Self type, but also of the static types of the parameters.…”
Section: Extended Call Graphmentioning
confidence: 99%
“…Several algorithms for call graph construction for other languages which have these features have been proposed with different trade-offs between precision and running time [5,11,25]. Our approach is similar to the one by Petrashko et al [25] in using the type information available at call site of not only the Self type, but also of the static types of the parameters. Each node of the call graph is extended to contain not only the function, but a list of generic type parameters and type substitutions for those when available.…”
Section: Extended Call Graphmentioning
confidence: 99%