2001
DOI: 10.1007/3-540-45337-7_6
|View full text |Cite
|
Sign up to set email alerts
|

Precise Constraint-Based Type Inference for Java

Abstract: Abstract. Precise type information is invaluable for analysis and optimization of object-oriented programs. Some forms of polymorphism found in object-oriented languages pose significant difficulty for type inference, in particular data polymorphism. Agesen's Cartesian Product Algorithm (CPA) can analyze programs with parametric polymorphism in a reasonably precise and efficient manner, but CPA loses precision for programs with data polymorphism. This paper presents a precise constraintbased type inference sys… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

1
56
0

Year Published

2005
2005
2022
2022

Publication Types

Select...
7
1
1

Relationship

0
9

Authors

Journals

citations
Cited by 41 publications
(57 citation statements)
references
References 14 publications
(21 reference statements)
1
56
0
Order By: Relevance
“…Ruf [22] compared context-insensitive analysis to using "assumption sets" as the context abstraction, and concluded that on C benchmarks, context sensitivity had little effect on the points-to sets of pointers that are actually dereferenced. Like object sensitivity, the Cartesian Product Algorithm [1,28] uses abstract objects as the context abstraction, but includes all method parameters as context, rather than only the receiver parameter. In the future, it would be interesting to empirically compare these additional variations of context-sensitive analysis with those studied in this paper.…”
Section: Related Workmentioning
confidence: 99%
“…Ruf [22] compared context-insensitive analysis to using "assumption sets" as the context abstraction, and concluded that on C benchmarks, context sensitivity had little effect on the points-to sets of pointers that are actually dereferenced. Like object sensitivity, the Cartesian Product Algorithm [1,28] uses abstract objects as the context abstraction, but includes all method parameters as context, rather than only the receiver parameter. In the future, it would be interesting to empirically compare these additional variations of context-sensitive analysis with those studied in this paper.…”
Section: Related Workmentioning
confidence: 99%
“…Since then, numerous systems have been developed for object-oriented languages (e.g. [30,31,32,33,65,66,34,67,68]). These, almost exclusively, assume the original program is completely untyped and employ set constraints (see [54,55]) as the mechanism for inferring types.…”
Section: Related Workmentioning
confidence: 99%
“…A secondary goal of type analysis is to type check programs, in case of downcasts or of unsafe type overriding, and it may save some dynamic type checks [Wang and Smith 2001]. 7.3.4 Dead code. An interesting by-product of type analysis is the ability to distinguish living and dead classes and code.…”
Section: · 35mentioning
confidence: 99%