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

dc.contributor.advisorDybvig, R. Kent
dc.contributor.authorAdams, Michael D.
dc.date.accessioned2013-05-15T23:42:28Z
dc.date.available2013-05-15T23:42:28Z
dc.date.issued2013-05-15
dc.date.submitted2011
dc.descriptionThesis (Ph.D.) - Indiana University, Informatics, 2011
dc.description.abstractThe 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 O(n log n) time. This compile-time performance and scalability is achieved through a novel combination of data structures and algorithms.
dc.identifier.urihttps://hdl.handle.net/2022/15744
dc.language.isoen
dc.publisher[Bloomington, Ind.] : Indiana University
dc.rightsThis work may be protected by copyright unless otherwise stated.
dc.subjectControl-flow analysis
dc.subjectFlow sensitive
dc.subjectType recovery
dc.subject.classificationComputer science
dc.titleFlow-Sensitive Control-Flow Analysis in Linear-Log Time
dc.typeDoctoral Dissertation

Files

Original bundle

Now showing 1 - 2 of 2
Loading...
Thumbnail Image
Name:
flow-sensitive-cfa.tgz
Size:
46.27 KB
Format:
Unknown data format
Loading...
Thumbnail Image
Name:
Adams_indiana_0093A_11386.pdf
Size:
2.46 MB
Format:
Adobe Portable Document Format
Can’t use the file because of accessibility barriers? Contact us