Software developers are increasingly using dynamic scripting languages not only for quickly prototyping or as "glue"code, but also to write large applications. Programmers like scripting languages because they have the flexibility of simply using a variable when needed, without having to declare it. This results in fewer lines of code and allows for faster code development. Unfortunately the same features that make dynamic scripting languages more productive, make them hard to generate efficient code for.

This project is working on a hardware-software solution to enable programs written using dynamic scripting languages to run as fast as statically typed languages, such as C, C++ or Java. To that end, this project is working on the design of new program transformations that can generate highly efficient code by taking advantage of innovative hardware support that detects if the assumptions done when generating the code are correct. Additionally, novel hardware provides to the compiler information that enables even more aggressive optimizations. Hardware and software designs are driven by the results obtained from a study that analyzes the main sources of overhead of scripting languages. The research in this project will result in higher programmer productivity and will enable the use of scripting languages in domains where they are not used today.

Agency
National Science Foundation (NSF)
Institute
Division of Computer and Network Systems (CNS)
Type
Standard Grant (Standard)
Application #
1319657
Program Officer
Marilyn McClure
Project Start
Project End
Budget Start
2013-07-01
Budget End
2018-06-30
Support Year
Fiscal Year
2013
Total Cost
$475,000
Indirect Cost
Name
University of Illinois Urbana-Champaign
Department
Type
DUNS #
City
Champaign
State
IL
Country
United States
Zip Code
61820