University of Illinois at Urbana-Champaign Block I logo
university of illinois at urbana-champaign

Department of Computer Science

Programming Languages, Formal Methods, & Software Engineering

Programming Languages, Formal Methods, & Software Engineering

This area studies the design and implementation of computer languages, with the goal of improving both programmer productivity and program quality. The topics of study range from abstract theories of computer languages to practical questions about the use and implementation of high-level languages.

Lab Locations

  • 2109 Siebel Center (Open Systems)

Faculty

Gul Agha distributed systems, parallelism, coordination, real-time behavior
 
Vikram Adve compilers, software reliability
Ralph Johnson object-oriented design, design patterns, frameworks, software architecture
Jose Meseguer formal executable specification and verification, software architecture
David Padua compilers
Grigore Rosu software, design, semantics and implementation of programming specification languages
Sam Kamin programming languages, software components, program specification and verification
Madhusudan Parthasarathy software engineering, formal methods
Constantine Polychronopoulos  parallel programming languages
Craig Zilles compilers, dynamic optimization
Mahesh Viswanathan formal models for system specification
Darko Marinov software reliability, testing, theorem proving, model checking, rich specification languages
Sayan Mitra formal methods, automated reasoning
Maria J. Garzaran compilers, hardware-software interaction
Elsa Gunter software engineering, programming languages, formal methods
Mehdi Harandi AI, information systems, software engineering