The project aims to improve our understanding of the role of type systems in programming languages.
Type systems provide a very elegant separation of concerns.
Static analyses are typically much easier to reason about when captured by a logical framework such as a type system. Implementations of the analyses are separate algorithmic issues that have their own soundness and completeness proof obligations. This project is concerned with developing new type systems and techniques for formal proofs of semantic soundness, algorithmic issues, and computational lower bounds for these systems. Relevant papers can be found here . Currently, there are two research efforts under way.