Loading…

Loading grant details…

Active CONTINUING GRANT National Science Foundation (US)

Collaborative Research: SHF: Medium: Environment-Centric Analysis and Optimization for Higher-Order Languages

$6.64M USD

Funder National Science Foundation (US)
Recipient Organization Northeastern University
Country United States
Start Date Jul 01, 2022
End Date Jun 30, 2026
Duration 1,460 days
Number of Grantees 1
Roles Principal Investigator
Data Source National Science Foundation (US)
Grant ID 2212537
Grant Description

The project concerns the modular compilation of a class of powerful, mathematically based programming languages -- "higher-order functional programming languages." Owing to their expressive power, these high-level languages are great for programmers, but difficult to implement efficiently. The project's impacts are to make it possible for programmers to write software

that is more robust, more secure, easier to reason about, and with fewer bugs, even in application arenas where high performance is necessary. The project's novelties are two: its use of an annotated intermediate representation, called 3CPS, that allows "facts" determined by program analysis and "decisions"

determined by optimization policies to be associated with the program's representation; and a suite of higher-order control-flow analyses designed to direct transformations on programs in the 3CPS form. The goal of the work is to develop the architecture of a compiler that has higher-order flow analysis at

its center -- to explore the transformations and optimizations that are enabled by this combination of reasoning engine and code representation. One of the most important classes of fact annotations is explicit information about the environment structure required to manage bindings of variables; this

is designed to be closely connected to the run-time machine resources needed for these bindings (heap records, stack frames and registers). This information is key to mapping the source language efficiently onto these resources. The 3CPS intermediate form is unusual as an intermediate representation in that,

while it has direct connections to the target machine's hardware resources, it remains a higher-order, lambda-calculus representation. In particular, such a design enables specialized representations of environment structure, such as displays; specializing function linkages on a per-call basis; and the ability

to bind variables and allocate functions in the registers or on the stack.

This award reflects NSF's statutory mission and has been deemed worthy of support through evaluation using the Foundation's intellectual merit and broader impacts review criteria.

All Grantees

Northeastern University

Advertisement
Apply for grants with GrantFunds
Advertisement
Browse Grants on GrantFunds
Interested in applying for this grant?

Complete our application form to express your interest and we'll guide you through the process.

Apply for This Grant