Programming Languages

Our programming languages faculty are widely recognized as world leaders in the theoretical foundations, practical implementation, and application of programming languages. Our research is concerned with a comprehensive science of programming that encompasses not only language design and implementation as ordinarily conceived, but also specification, verification, implementation, evaluation, and validation of programs. We believe that programming is fundamentally an explanatory activity, which requires that a program be codified in a form that not only supports execution on a computer, but also manifests its design so that they can be understood by developers and maintainers, and subjected to mechanical verification and validation. Our work comprises a broad spectrum of research, ranging from abstract theories of programming concepts to large-scale implementations of these ideas in working software systems. It is precisely this broad scope of investigation that distinguishes us from our competitors. Over the last two decades we have repeatedly demonstrated that fundamental theory is essential for building robust and reliable systems, and that enduring and elegant theories arise from meeting the demands of building such systems.

Our success in advancing an integrated view of Computer Science encourages us to take on even greater challenges, and opens up many new possibilities for us to explore. We envision that future languages will have fully formal definitions with fully checked proofs of their safety and security properties as a matter of course.

Related Sites:

Principles of Programming Group (PoP)
The goal of the PoP group is to understand, develop, and demonstrate the principles, processes, and supporting technologies for the construction of computing systems. For additional information on the PoP group, see their website.

Faculty working in this area:

Lastsort descending First Title Email
Acar Umut Associate Professor umut@cs.cmu.edu
Aldrich Jonathan Director, Software Engineering Ph.D. Program; Professor aldrich@cs.cmu.edu
Blelloch Guy Professor, Assoc. Dean for Undergraduate Programs guyb@cs.cmu.edu
Blum Lenore Distinguished Career Professor of CS lblum@cs.cmu.edu
Brookes Stephen Professor brookes@cs.cmu.edu
Brumley David Director, Cylab; Professor, ECE; Associate Professor, CSD dbrumley@cs.cmu.edu
Bryant Randy University Professor bryant@cs.cmu.edu
Clarke Edmund University Professor, Emeritus ec10@andrew.cmu.edu
Crary Karl Associate Professor crary@cs.cmu.edu
Datta Anupam Associate Professor, CSD, ECE danupam@andrew.cmu.edu
Fredrikson Matthew Assistant Professor mfredrik@andrew.cmu.edu
Garlan David Professor garlan@cs.cmu.edu
Goldstein Seth Associate Professor seth@cs.cmu.edu
Harper Robert Professor rwh@cs.cmu.edu
Hoffmann Jan Assistant Professor jhoffmann@cs.cmu.edu
Lucia Brandon Assistant Professor blucia@andrew.cmu.edu
Parno Bryan Associate Professor parno@cmu.edu
Platzer André Associate Professor aplatzer@cs.cmu.edu
Schmerl Bradley Principal Systems Scientist schmerl@cs.cmu.edu
Shaw Mary A. J. Perlis University Professor shaw@cs.cmu.edu
Simmons Reid Research Professor reids@cs.cmu.edu
Wing Jeannette Consulting Professor jw35@andrew.cmu.edu
Yang Jean Assistant Professor jyang2@andrew.cmu.edu
Subscribe to Programming Languages