Top blue bar image Department of Computer Science

Programming Languages and Software Engineering (PLSE)

We increasingly live in a world governed by software, a world where programming is at the heart of science and industry as well as a basic skill for everyday life. In this world, the vision of a robust, flexible, and accessible process of software design process is more relevant than ever.

Research in the PLSE group at Rice aims to make this vision possible. Our research interests include new language abstractions for principled programming (led by Profs. Cartwright, Chaudhuri, Sarkar, and Wong), compiler construction and optimization (led by Profs. Cooper, Mellor-Crummey, Sarkar, and Torczon), software technology for parallel computing (led by Profs. Mellor-Crummey and Sarkar), compilers and architectures for low-power and inexact computing (led by Prof. Palem), formal reasoning about program correctness (led by Profs. Chaudhuri and Vardi), and computer-assisted programming (led by Profs. Chaudhuri and Vardi).

PLSE Faculty


Robert "Corky" Cartwright is a Professor of Computer Science. His research interests are in programming language design and implementation, program semantics, and program verification. His research focuses on developing extensions to Java that foster developing parallel programs that scale well as more cores are added to microprocessors, "smart" programming environments that prove that Java programs are free of run-time errors, production-quality pedagogic programming environments for Java including parallel extensions, and programming languages and environments to support cyberphysical computing. 


Swarat Chaudhuri is an Associate Professor of Computer Science. His research interests are in reasoning about programs, parallel programming, and theoretical computer science. He leads the Rice  Computer-Aided Programming Group, which focuses on using the power of automatic reasoning to simplify the task of programming. 


Keith D. Cooper is the L. John and Ann H. Doerr Chair in Computational Engineering. He has worked on problems in compiler construction, code optimization, code generation, and static analysis. His current research interests include improvements to widely-used code-generation algorithms, techniques for flyweight runtime optimization, and efficient portable techniques for measuring the performance-critical parameters of processors and systems. Cooper also serves as a Professor in Electrical and Computer Engineering, as an Associate Dean of Research for the George R. Brown School of Engineering, and as Co-Director of the Ken Kennedy Institute for Information Technology.


Mack Joyner is a Lecturer in Computer Science. His research interests include object-oriented programming languages, compiler optimizations, and embedded systems.


John Mellor-Crummey is a Professor of Computer Science and of Electrical and Computer Engineering. His current research is focused on tools for performance and correctness analysis of parallel applications, compiler and runtime systems for scalable parallel computing, and compiler technology for domain-specific languages. Past work has included developing efficient software synchronization algorithms for shared-memory multiprocessors and techniques for application performance modeling, execution replay of parallel programs, and efficiently detecting data races in executions of shared-memory programs.


Krishna V. Palem is the Ken and Audrey Kennedy Professor of Computer Science and a Professor of Electrical and Computer Engineering. His research interests include adaptive architectures and computing, algorithms, compiler optimizations, embedded systems, low energy computing, and nanoelectronics. 


Vivek Sarkar is the E.D. Butcher Chair in Engineering, Chair of Computer Science, and a Professor of Computer Science and of Electrical and Computer Engineering. His research interests include parallel programming languages, compilers, program analysis, and runtime systems. He leads the  Habanero Extreme-Scale Software Research Project, which focuses on developing new programming technologies—languages, compilers, runtime systems, and tools—that support portable parallel abstractions for future hardware with high productivity and high performance. 


Linda Torczon is a Senior Research Scientist, Faculty Director of the Computer Science Professional Master's Program, and a Lecturer in Computer Science. In addition, she has served as the executive director of research efforts headquartered at Rice University, including the Center for Research on Parallel Computation, the Los Alamos Computer Science Institute, the GrADS and VGrADS projects, and the Platform-Aware Compilation Environment project. Her research interests include code generation, code optimization, and program analysis.   


Moshe Y. Vardi is the Karen Ostrum George Distinguished Service Professor in Computational Engineering and Co-Director of the Ken Kennedy Institute for Information Technology. His research focuses on automated reasoning and its applications to computer science: database systems, computational complexity theory, multi-agent systems, and design specification and verification of hardware and software.


Stephen Wong is a Lecturer in Computer Science. His interests focus on  object-oriented system design using design patterns, object-oriented data spaces and associated algorithms, user-configurable virtual machines, and computer science education. His current interests include the use of design patterns in redesigning traditional algorithms, serious gaming systems, cloud-based enterprise information systems, large-scale high-fidelity simulation systems, and technologies for massive open online courses.