Carnegie Mellon University

Our Faculty and Staff

From exploring the intersection of architecture and cyber-physical systems to automatic bug fixing, our faculty work across discplines and borders to take on the real, tough technical challenges inherent to modern software.

Software Engineering Faculty

Jonathan Aldrich

aldrich-jonathan.JPGUsable Language Design • Program Verification • Type Systems• Enforcing Software Design 

Specializes in usable programming language approaches that aid in reasoning about software systems

Website


Andrew Begel

begel-andrew.pngHuman Aspects • Neurodiversity • Accessibility • HCI • Collaboration Tools • Organizational Behavior 

Specializes in understanding and supporting software engineering teamwork

Personal website, Lab website 


Travis Breaux

breaux-travis.JPGRequirements Engineering • Software Design • Privacy and Security • Policy Compliance 

Specializes in engineering secure systems that meet regulatory requirements

Website


Fraser Brown

fraserb.pngProgram Correctness • Compiler Verification • Systems Security • Cryptographic Proof Systems • Bug Finding 

Specializes in verification and security techniques for complex software systems, including browser JITs and cryptographic compilers

Website


David Garlan

darlan-david.JPGSoftware Architecture • Pervasive Computing • Self-Healing Systems • Formal Methods 

Specializes in architectural approaches for robust adaptive systems

Website


James Herbsleb

herbsleb-jim.JPGSoftware Teams • Open Source • Collaboration • Coordination • Global Development 

Specializes in socio-technical aspects of distributed software development

Website


Eunsuk Kang

kang-eunsuk.jpgSoftware Design • Assurance • Modeling • Verification • Security • Cyber-Physical Systems 

Specializes in design methods for safe, robust, and secure software-intensive systems

Website


Christian Kästner

kaestner-christian.JPGSoftware engineering for AI • Supply chain security • Open source sustainability • Variability and reuse

Specializes in supporting the development of complex and large-scale software systems

Website


Claire Le Goues

legoues-claire.jpgSoftware Quality • Defect Detection • Program Analysis • Automatic Bug Repair • AI for SE

Specializes in automated techniques for software evolution and bug fixing

Website


Heather Miller

miller-heather.jpgAI Systems • Language Design • Distributed Programming • Distributed Runtimes • Data Consistency 

Specializes in programming models for reliable distributed systems and AI systems

Website


Brad Myers

myers-brad.JPGUI • Programming Environments • API Usability • End-User Programming • DevX 

Specializes in human-centered approaches to programming tools and interfaces

Website


Riccardo Paccagnella

riccardo-p.pngCybersecurity • Privacy • Hardware Security • Systems Security 

Specializes in system-level security and privacy protection mechanisms

Website


Rohan Padhye

padhye-rohan.jpgProgram Analysis • Software Testing • Software Security • Distributed Systems 

Specializes in automated testing techniques for software reliability and security applied to large-scale systems

Website


William Scherlis

scherlis-william.jpgSoftware Assurance • Security Analysis • Safe Concurrency • Development Tools 

Specializes in verification techniques for software safety and security

 

Bradley Schmerl

schmerl-bradley.JPGSoftware Architecture • Self-Adaptive Systems • Software Engineering Tools 

Specializes in architectural approaches for building adaptive software systems

Website


Mary Shaw

shaw-mary.JPGSoftware Design• Software Architecture • Sufficient Correctness 

Specializes in high-level software design and the engineering discipline of software. 

Profile


Joshua Sunshine

sunshine-joshua.jpgProgramming Languages + Human-Computer Interaction • Visualization • Program Analysis • End-User Programming

Specializes in human-centered tools and visualizations that help domain experts build and refine their own software.

Website

 


Christopher Timperley

timperly-chris.jpgSearch-Based Software Engineering • Automated Program Repair • Program Analysis • Cyberphysical Systems 

Specializes in automated techniques for finding and fixing software defects

Website


Ben Titzer

ben-titzer.pngSystems • Systems programming languages • Compilers • Virtual machines • Managed runtime systems • Higher-level systems that they support

 


Bogdan Vasilescu

vasilescu-bogdan.JPGSoftware Analytics • Social Aspects • Collaboration • Open Source Ecologies • "Big Code" 

Specializes in data-driven approaches to understanding software development teams

Website

Chunqiu Steven Xia

headshot of steven xiaAgentic Software Engineering • AI for SE • Automated Program Repair • Software Testing 

Specializes in building and evaluating AI-driven systems for software generation, repair, testing, and evolution in real-world codebases

Website

 

Staff

Connie Herold

connie-herold.pngSenior Academic Programs Manager

Alisha Roudebush

alisha.pngAcademic Program Coordinator