"Computer scientists, as all scientists, seek a common framework in which to link and organize many levels of explanation;
moreover, this common framework must be semantic, since our explanations (including programs) are typically in formal
language." --Robin Milner From the beginning, Cornell has been known for its research in programming
languages. Our strength in programming languages spans a wide range. Cornell
does foundational work on type theory, automated theorem proving, and language
semantics. A more recent theme has been language-based solutions to important
problems such as computer security and distributed programming. Cornell
researchers have also contributed to language implementation, program analysis
and optimization, and software engineering. We are proud of both our breadth
and depth in this core discipline. Programming Languages is a lively area at
Cornell with five faculty and over a dozen Ph.D. students.
Faculty members Fred Schneider, Dexter Kozen, and Andrew Myers are studying
new security enforcement mechanisms based
on program analysis and transformation. Advanced type systems
are used to ensure certifiable security properties;
programs are transformed to remove security vulnerabilities. This new approach to computer security is well suited to networked computing
systems built from extensible and mobile components.
Another current research thread studies language support for extensible
systems. The way software is developed has changed, with components adapted
and combined from previous software. Language support for modular reuse,
extension, and adaptation of software can improve how we build complex
software. The Polyglot compiler framework and the J& language are examples
of recent Cornell work on this problem.
| Faculty and Researchers Robert Constable Dexter Kozen Andrew C. Myers Fred B. Schneider Tim Teitelbaum
Ongoing and Recent Projects NuPRL Jif Fabric Swift Jx/J& JMatch Polyglot Crystal SATC Frex ECC KAT
|