Sangam: A Confluence of Knowledge Streams

Flow-Sensitive Control-Flow Analysis in Linear-Log Time

Show simple item record

dc.contributor Dybvig, R. Kent
dc.creator Adams, Michael D.
dc.date 2013-05-15T23:42:28Z
dc.date 2013-05-15T23:42:28Z
dc.date 2013-05-15
dc.date 2011
dc.date.accessioned 2023-02-21T11:18:30Z
dc.date.available 2023-02-21T11:18:30Z
dc.identifier http://hdl.handle.net/2022/15744
dc.identifier.uri http://localhost:8080/xmlui/handle/CUHPOERS/252934
dc.description Thesis (Ph.D.) - Indiana University, Informatics, 2011
dc.description The flexibility of dynamically typed languages such as JavaScript, Python, Ruby, and Scheme comes at the cost of run-time type checks. Some of these checks can be eliminated via control-flow analysis. However, traditional control-flow analysis (CFA) is not ideal for this task as it ignores flow-sensitive information that can be gained from dynamic type predicates, such as JavaScript's instanceof and Scheme's pair?, and from type-restricted operators, such as Scheme's car. Yet, adding flow-sensitivity to a traditional CFA worsens the already significant compile-time cost of traditional CFA. This makes it unsuitable for use in just-in-time compilers. In response, this dissertation presents a fast, flow-sensitive type-recovery algorithm based on the linear-time, flow-insensitive sub-0CFA. The algorithm has been implemented as an experimental optimization into Chez Scheme compiler, where it has proven to be effective, justifying the elimination of about 60% of run-time type checks in a large set of bench- marks. The algorithm processes on average over 100,000 lines of code per second and scales well asymptotically, running in only <italic>O</italic>(<italic>n</italic> log <italic>n</italic>) time. This compile-time performance and scalability is achieved through a novel combination of data structures and algorithms.
dc.language en
dc.publisher [Bloomington, Ind.] : Indiana University
dc.subject Control-flow analysis
dc.subject Flow sensitive
dc.subject Type recovery
dc.subject Computer science
dc.title Flow-Sensitive Control-Flow Analysis in Linear-Log Time
dc.type Doctoral Dissertation


Files in this item

Files Size Format View
Adams_indiana_0093A_11386.pdf 2.576Mb application/pdf View/Open
flow-sensitive-cfa.tgz 47.38Kb application/octet-stream View/Open

This item appears in the following Collection(s)

Show simple item record

Search DSpace


Advanced Search

Browse