Type-based flow analysis:: From polymorphic subtyping to CFL-reachability.

被引:56
作者
Rehof, J [1 ]
Fähndrich, M [1 ]
机构
[1] Microsoft Corp, Res, Redmond, WA 98052 USA
关键词
D O I
10.1145/373243.360208
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
We present a novel approach to scalable implementation of type-based flow analysis with polymorphic subtyping. Using a new presentation of polymorphic subtyping with instantiation constraints, we are able to apply context-free language (CFL) reachability techniques to type-based how analysis. We develop a CFL-based algorithm for computing flow information in time O(n(3)), where n is the size of the typed program. The algorithm substantially improves upon the best previously known algorithm for how analysis based on polymorphic subtyping with complexity O(n(8)). Our technique also yields the first, demand-driven algorithm for polymorphic subtype-based flow-computation. It works directly on higher-order programs with structured data of finite type (unbounded data structures are incorporated via finite approximations), supports context-sensitive, global how summarization and includes polymorphic recursion.
引用
收藏
页码:54 / 66
页数:13
相关论文
共 35 条
[1]  
AIKEN A, 1997, LNCS, V1281, P47
[2]  
CURTIS P, 1990, CSL901 XER PARC
[3]  
DUSSART D, 1995, UNPUB POLYMORPHIC RE
[4]  
DUSSART D, 1995, LNCS, P983
[5]  
EFRIG J, 1995, P OOPSLA 95
[6]  
FAHNDRICH M, 2000, MSRTR9984
[7]  
FAHNDRICH M, 1996, WORKSH SET CONSTR CA
[8]  
FAHNDRICH M, 2000, PROGRAMMING LANG JUN
[9]  
FLANAGAN C, 1997, PROGRAMMING LANGUAGE
[10]  
FOSTER JS, 2000, P 7 INT STAT AN S JU