Engineering Software for Complex Systems
Software runs the world—it’s the backbone of everything from global infrastructure to human connection. At Carnegie Mellon University’s Software Engineering Ph.D. program, we train researchers to tackle its toughest challenges head-on: not just how it works, but how it integrates, adapts, and impacts. Housed in the Software and Societal Systems Department, we take a systemic approach, blending rigorous science with insights from across CMU—think ECE, Robotics, Heinz College, and beyond—to build software that’s as smart as the problems it solves.
Explore our Program
Highlights
Featured Graduate

Building Smarter Systems
Mauricio Soto, a Software Engineering Ph.D. graduate, is transforming the power grid with AI-driven solutions. His journey from CMU's interdisciplinary program to solving real-world challenges at Hitachi showcases the impact of innovative software engineering...
Featured Research

Two Million Threats:
Assurance and security in the Node.JS ecosystem
Interdependence, coupled with unchecked automatic updating of packages, can lead to disaster. Work by Software Engineering’s Christian Kästner explores the scope of this vulnerability and how it can be mitigated...
Featured Graduate
Debugging the Future
Jenna DiVincenzo earned her Ph.D. in software engineering from Carnegie Mellon University, where she developed a groundbreaking approach to software verification. Now a faculty member at Purdue University, Jenna is revolutionizing how we ensure software reliability through her innovative work on gradual verification. She shares her journey and the impact of her research on the future of secure software systems...