Scientists 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 b...
AbstractProgram specialization optimizes programs for known values of the input. It is often the cas...
The use of partial evaluation for specializing programs written in imperative languages such as C an...
For domain specific languages, “scripting languages”, dynamic languages, and for virtual machine-bas...
Interpretation and run-time compilation techniques are becoming increasingly important due to the ne...
Code specialization is a well-known technique used to produce more efficient code from a generic one...
An interpreter can be viewed as performing two tasks: parsing and execution. Interpreters are specia...
Both static and dynamic typing provide different benefits to the programmer. Statically typed langua...
Program and data specialization have always been studied separately, although they are both aimed at...
Program specialization optimizes programs for known valúes of the input. It is often the case that t...
: Automatic program specialization can derive efficient implementations from generic components, thu...
DynSem is a domain-specific language for concise specification of the dynamic semantics of programmi...
Dynamic dispatching is a major source of run-time overhead in object-oriented languages, due both to...
Abstract. Automatic program specialization can derive efficient implementations from generic compone...
Program specialization can divide a computation into several computation stages. The program generat...
Computational scientists are typically not expert programmers, and thus work in easy to use dynamic ...
AbstractProgram specialization optimizes programs for known values of the input. It is often the cas...
The use of partial evaluation for specializing programs written in imperative languages such as C an...
For domain specific languages, “scripting languages”, dynamic languages, and for virtual machine-bas...
Interpretation and run-time compilation techniques are becoming increasingly important due to the ne...
Code specialization is a well-known technique used to produce more efficient code from a generic one...
An interpreter can be viewed as performing two tasks: parsing and execution. Interpreters are specia...
Both static and dynamic typing provide different benefits to the programmer. Statically typed langua...
Program and data specialization have always been studied separately, although they are both aimed at...
Program specialization optimizes programs for known valúes of the input. It is often the case that t...
: Automatic program specialization can derive efficient implementations from generic components, thu...
DynSem is a domain-specific language for concise specification of the dynamic semantics of programmi...
Dynamic dispatching is a major source of run-time overhead in object-oriented languages, due both to...
Abstract. Automatic program specialization can derive efficient implementations from generic compone...
Program specialization can divide a computation into several computation stages. The program generat...
Computational scientists are typically not expert programmers, and thus work in easy to use dynamic ...
AbstractProgram specialization optimizes programs for known values of the input. It is often the cas...
The use of partial evaluation for specializing programs written in imperative languages such as C an...
For domain specific languages, “scripting languages”, dynamic languages, and for virtual machine-bas...