Implementing Modular Program Analysis via Intersection and Union Types.

PI: Assaf J. Kfoury

The proposed research will investigate real-world relevance of a new framework for modular program-analysis, which uses "intersection" and "union" types. The starting point of this investigation is a recently designed polymorphic type system, called System I, for a foundational functional language, the lambda-calculus. The chief feature of System I is the use of "intersection" types together with the new technology of "expansion variables", which allow System I to satisfy a substitution-based principal-typings property. Although fully modular, the resulting program analysis is now restricted to a foundational language (the lambda-calculus) missing many standard high-level programming features such as conditionals, recursive definitions, exceptions, assignments, input/output, etc. Considerable work is necessary in order to turn System I into a type system for a full-fledged programming language such as Scheme (now considered to be the initial target language of proposed research).

The proposed research is largely engineering work, aimed at producing an efficient prototype implementation, based on appropriate extensions of System I. The implementation will be evaluated --- or re-designed in parts --- by the extent to which it produces demonstrably better results in handling large software systems (enforcing larger classes of safety properties, statically detecting and ruling out larger classes of run-time errors).

Agency
National Science Foundation (NSF)
Institute
Division of Computer and Communication Foundations (CCF)
Application #
0113193
Program Officer
Sol J. Greenspan
Project Start
Project End
Budget Start
2001-09-01
Budget End
2005-08-31
Support Year
Fiscal Year
2001
Total Cost
$460,412
Indirect Cost
Name
Boston University
Department
Type
DUNS #
City
Boston
State
MA
Country
United States
Zip Code
02215