MetadataShow full item record
PublisherThe University of Arizona.
RightsCopyright © is held by the author. Digital access to this material is made possible by the University Libraries, University of Arizona. Further transmission, reproduction, presentation (such as public display or performance) of protected items is prohibited except with permission of the author.
AbstractScientists across many diverse fields, including medicine, astronomy and biology, often program to aid in the analysis of large datasets. Many of them prototype in dynamic programming languages due to their perceived convenience. While this may shorten the development time, the chosen language is often interpreted and therefore incurs a high runtime overhead, reducing scalability. Program specialization presents a promising method of decreasing the overhead without inconveniencing the user, but prior work cannot generically specialize interpreters. In this thesis, we take steps toward generic interpreter specialization by generically identifying specializable inputs. We do so by taking a checkpoint of the interpreter immediately before it begins executing the script. This captures much more state for specialization than prior work which should improve specialization's effectiveness. In addition, we show that checkpoints are practical and speculate on how specialization can improve interpreter performance.
Degree ProgramGraduate College