Research Areas
At Carnegie Mellon University’s Software Engineering PhD program, our researchers are at the forefront of redefining software engineering, consistently delivering groundbreaking work that shapes the field and impacts the world. Our faculty and students regularly present at top-tier conferences like ICSE and FSE, earning prestigious recognitions such as the ACM SIGSOFT Distinguished Paper Award. As a PhD student at CMU, you’ll join a legacy of innovation that bridges rigorous theory with real-world applications, working alongside world-class faculty to tackle the most pressing challenges in software engineering. Your research here will not only advance the state of the art but also contribute to a tradition of excellence that inspires global academic and industry discourse.
Our research applies rigorous scientific methods to address complex technical challenges, spanning software architecture, autonomous systems, distributed systems, and more. We organize our efforts into three cross-disciplinary categories, each designed to push boundaries and create meaningful impact:
Explore the sections below to discover how our research aligns with your interests and how you can contribute to transformative projects at CMU. To learn more about our renowned faculty and their expertise, visit our faculty directory.
Software Organization and Properties
Architecture & Design
Software architecture and design form the structural backbone of modern systems, influencing their scalability, flexibility, and reliability. At CMU, we pioneer new methods for visualizing and reasoning about high-level system structures, enabling software to gracefully evolve as requirements change. Led by world-renowned experts such as Professor David Garlan and the ABLE group, our PhD students push boundaries in areas like modular system decomposition, architectural analysis, and the sustainable evolution of complex software ecosystems.
Learn more about the history of Software Architecture at Carnegie Mellon
Key Faculty
David Garlan – Expert in software architecture and self-adaptive systems.
Eunsuk Kang – Specialist in formal methods and system design.
Bradley Schmerl – Focuses on adaptive systems and architecture.
Mary Shaw – A foundational figure in software engineering research.
Featured Projects
ABLE Group: Researching architectural frameworks for adaptive systems.
A Contract-Based Framework for System Decomposition: Developing formal methods to break down complex systems.
APIs & Frameworks
Effective APIs and frameworks dramatically streamline developer productivity and software quality. At CMU, we combine insights from human-computer interaction and software engineering to design intuitive, robust interfaces that minimize developer errors and maximize usability. Faculty such as Professor Brad Myers guide PhD students in creating innovative tools and documentation approaches—like IDE enhancements and usability analysis techniques—that directly impact how programmers learn, adopt, and master new technologies.
Key Faculty
Heather Miller – Expert in programming languages and distributed systems.
Brad Myers – Renowned for work on developer tools and usability.
Josh Sunshine – Focuses on programming languages and software design.
Featured Projects
API Usability: Enhancing the developer experience with better API design.
Autonomous Systems
From self-driving vehicles to adaptive cloud infrastructures, autonomous systems must reliably interpret and respond to dynamic environments in real-time. CMU's research addresses critical software engineering challenges in these evolving systems, such as ensuring runtime safety, managing uncertainty, and enabling transparent decision-making processes. Under the guidance of faculty members like Jonathan Aldrich, students craft innovative solutions in areas like runtime verification and model-driven adaptation, laying the groundwork for safe and trustworthy autonomous technologies.
Key Faculty
Jonathan Aldrich – Leader in programming languages and system assurance.
David Garlan – Expert in adaptive and autonomous systems.
Claire Le Goues – Specialist in software repair and reliability.
Bradley Schmerl – Focuses on self-adaptive systems.
Featured Projects
Model-Based Adaptation of Robotic Systems: Advancing adaptive robotics.
Explainable Systems: Improving Confidence in Autonomous Systems: Building trust in autonomous decisions.
Runtime Safety Monitoring of Intelligent Vehicles: Ensuring safety in autonomous vehicles.
Distributed Systems
Today's interconnected world depends heavily on distributed systems for scalability, availability, and performance. At CMU, our research emphasizes correctness, resilience, and efficiency in distributed software, investigating novel ways to compose modular software abstractions and manage eventual consistency. With Heather Miller, PhD candidates explore cutting-edge topics such as serverless computing architectures and language support for distributed application correctness, directly influencing industry best practices and system reliability.
Key Faculty
Heather Miller – Expert in distributed systems and programming languages.
Featured Projects
Programming language support for eventual consistency.
Composition and correctness of eventually consistent datatypes.
Composition of serverless functions.
Verifying configurations of microservices.
Requirements
Behind every successful system is precise, comprehensive, and adaptable requirements engineering. At CMU, we integrate natural language processing, formal modeling, and decision theory to anticipate system behaviors, streamline stakeholder communication, and proactively mitigate potential failures. Working closely with Travis Breaux, doctoral students tackle complex real-world issues, such as harmonizing privacy regulations across multiple jurisdictions and systematically managing security risks, preparing them to navigate challenging domains like healthcare, finance, and aviation.
Key Faculty:
Travis Breaux – Leader in requirements engineering and privacy.
Featured Projects:
Composable and Usable Security and Privacy Requirements: Designing practical privacy solutions.
Handling Risk and Uncertainty in Security Requirements Analysis.
Harmonizing Multi-Jurisdictional Privacy and Security Policy.
Security and Privacy 
In an era of pervasive digital connectivity, ensuring robust security and privacy is paramount. CMU's research approaches security and privacy from foundational perspectives, designing systems capable of resisting sophisticated attacks while respecting user trust and policy compliance. Faculty like Eunsuk Kang mentor PhD students in developing groundbreaking methodologies—from modeling cross-layer vulnerabilities to engineering adaptive security mechanisms—equipping them to build safer, more trustworthy digital infrastructures.
Key Faculty
Jonathan Aldrich – Focuses on secure programming languages.
Travis Breaux – Expert in privacy requirements.
David Garlan – Works on adaptive security systems.
Rohan Padhye – Specialist in software testing and security.
Eunsuk Kang – Focuses on formal methods for security.
Bill Scherlis – Leader in software assurance.
Bradley Schmerl – Researches self-adaptive security.
Featured Projects
Self-Protection/Security-Related Self-Adaptation: Building resilient systems.
Modeling and Analysis of Cross-Layer Security Attacks: Understanding and mitigating threats.
Software Notations and Tools
Analysis & Assurance 
As society increasingly relies on software systems, ensuring their correctness becomes essential. At CMU, we specialize in developing sophisticated analysis techniques and verification tools that rigorously assess software quality, correctness, and performance at scale. Guided by experts such as Professor Claire Le Goues, students contribute to influential projects like TypeChef, advancing automated verification methods and positioning themselves to address critical industry challenges in software assurance and reliability.
Key Faculty:
Vincent Hellendoorn – Expert in code analysis.
Eunsuk Kang – Specialist in formal verification.
Christian Kästner – Focuses on software variability.
Claire Le Goues – Leader in automated software repair.
Heather Miller – Works on distributed system analysis.
Rohan Padhye – Researches software testing.
Bill Scherlis – Expert in software assurance.
Featured Projects:
TypeChef: A tool for analyzing software variability.
Alloy*: An Analysis Engine for Higher-Order Logic Specifications: Advanced verification techniques.
Developer Tools 
Developer productivity and software quality hinge on effective, intuitive tooling. At CMU, we design next-generation developer tools—from innovative programming environments to advanced static analysis frameworks—that empower software engineers to write better code faster. Faculty members like Professor Brad Myers lead pioneering initiatives, including the Natural Programming Project, which makes programming languages more accessible, and the ACME architectural modeling framework, fostering creativity and efficiency in software development.
Key Faculty:
Vincent Hellendoorn – Focuses on code intelligence tools.
Brad Myers – Leader in developer tool usability.
Rohan Padhye – Works on testing tools.
Bradley Schmerl – Researches architectural tools.
Joshua Sunshine – Focuses on language and tool design.
Bill Scherlis – Expert in software tools.
Featured Projects:
ACME Project: Architectural modeling tools.
Support for Exploratory Programming: Enhancing developer workflows.
Natural Programming: Making programming more intuitive.
Languages
Programming languages profoundly shape developers' capabilities, productivity, and the safety of their software. CMU researchers craft new languages and advanced type systems designed to maximize correctness, usability, and expressiveness. Under Professor Jonathan Aldrich's mentorship, doctoral candidates contribute to influential language projects such as Obsidian, a secure blockchain programming language, and Wyvern, which emphasizes usability alongside rigorous assurance—preparing our graduates to lead the next wave of language innovation.
Key Faculty:
Jonathan Aldrich – Leader in language design.
Heather Miller – Expert in language abstractions.
Brad Myers – Focuses on usable programming languages.
Featured Projects:
Obsidian: A Safer Blockchain Programming Language: Secure programming for blockchain.
Usable Design-Driven Assurance in the Wyvern Language: Enhancing language safety.
Natural Programming: Intuitive language design.
Software Creation and Management
Software Data Analysis 
Software projects generate immense quantities of valuable data, presenting opportunities to gain critical insights into developer behavior, project health, and software quality. At CMU, we leverage advanced data analytics and empirical methods to transform software repository data into actionable knowledge. Working with Professor Bogdan Vasilescu, PhD students investigate impactful issues such as improving package management ecosystems through repository insights and enhancing code comprehension with statistical naming techniques, directly benefiting software industry practices.
Key Faculty:
Vincent Hellendoorn – Expert in code data analysis.
Jim Herbsleb – Leader in socio-technical systems.
Claire Le Goues – Focuses on software evolution.
Joshua Sunshine – Researches software ecosystems.
Bogdan Vasilescu – Specialist in software analytics.
Featured Projects:
Repository Badges on npm: Improving package ecosystems.
Statistical Name Recovery: Enhancing code clarity.
Organizations
Software engineering is fundamentally about people, collaboration, and organizational dynamics. CMU research bridges social and technical perspectives, examining how team structures, collaboration practices, and organizational culture influence software quality and productivity. Under Professor Jim Herbsleb's guidance, PhD students explore critical human-centered topics, including the impact of diversity on distributed software teams and the organizational consequences of technical decisions like API evolution, preparing them to lead transformative change in software-intensive organizations.
Key Faculty:
Jim Herbsleb – Expert in socio-technical coordination.
Claire Le Goues – Focuses on development practices.
Joshua Sunshine – Researches team dynamics.
Bogdan Vasilescu – Studies software team diversity.
Featured Projects:
Breaking APIs: Understanding API evolution challenges.
Diversity in Online Software Teams: Promoting inclusive development.
Why This Matters for You
At CMU, you’ll work on research that not only advances software engineering but also addresses real-world challenges with global impact. Our faculty are leaders in their fields, our projects are at the cutting edge, and our collaborative environment ensures you’ll thrive. Compared to programs at UC Irvine, University of Washington, and MIT, CMU offers unparalleled access to interdisciplinary resources, industry partnerships, and a legacy of innovation in software engineering.