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:
|Shaw||Mary||A. J. Perlis University Professor; Facultyfirstname.lastname@example.org|
|Schmerl||Bradley||Principal Systems Scientistemail@example.com|
|Blelloch||Guy||Professor, Assoc. Dean for Undergraduate Programsfirstname.lastname@example.org|
|Garlan||David||Associate Dean for Masters Programs; Professoremail@example.com|
|Clarke||Edmund||University Professor, Emeritusfirstname.lastname@example.org|
|Aldrich||Jonathan||Director, Software Engineering Ph.D. Program; Professoremail@example.com|