Ruben Martins

Ruben Martins

Assistant Research Professor at Carnegie Mellon University
Program Director of the Master of Science in Computer Science (MSCS)
Program Director of the Fifth-Year Master's in Computer Science (5YM)

Biography

Ruben Martins is an Assistant Research Professor at Carnegie Mellon University and the program director of the Master of Science in Computer Science and Fifth-Year Master's in Computer Science. His interests lie in the intersection of constraint programming with program synthesis, analysis, and verification. His recent research focuses on pushing the boundaries of program synthesis and enabling the technology to make programming and formal methods tools more accessible. Ruben received his Ph.D. with honors from the Technical University of Lisbon, Portugal (2013). He was a postdoctoral researcher at the University of Oxford, UK (2014-2015) and a postdoctoral researcher at UT Austin (2015-2017). He has published in top-tier venues, including POPL, PLDI, FSE, SAT, and CP. He has won a distinguished paper award at PLDI 2018 for his work on program synthesis, FSE 2021 for his work on optimization, and SAT 2022 for his work on verified encodings. He has also developed several award-winning constraint solvers. He is the leading developer of Open-WBO: an open-source Maximum Satisfiability (MaxSAT) solver that won several gold medals in MaxSAT competitions. Open-WBO is used to solve many real-world discrete optimization problems, including finding an optimal seating arrangement for his wedding.

Publications

Students

PhD Students

Undergraduate Students

Alumni

I am always happy to do research with undergraduate students at CMU for either senior thesis, SCS Independent Studies, 07-400, during the Summer or the REUSE program. I am also happy to work with Master's students for Independent Studies in the Computer Sciences (15-689) or for Master research theses in both the MSCS and Fifth-Year master's programs.

Previous students that I mentored at CMU:

Contact me if you are an undergraduate or master student that wants to work on constraint solving, program verification or program synthesis.

Teaching

2026
07-400 (Spring): Research Practicum in Computer Science
Course Website
2025
15-816 (Fall): Advanced Topics in Logic: Automated Reasoning and Satisfiability
Course Website
07-300 (Fall): Research and Innovation in Computer Science
Course Website
2024
07-400 (Spring): Research Practicum in Computer Science
Course Website
15-414/614 (Spring): Bug Catching: Automated Program Verification
Course Website
07-300 (Fall): Research and Innovation in Computer Science
Course Website
2023
07-400 (Spring): Research Practicum in Computer Science
Course Website
07-300 (Fall): Research and Innovation in Computer Science
Course Website
15-816 (Fall): Advanced Topics in Logic: Automated Reasoning and Satisfiability
Taught with Marijn Heule. Course Website
2022
07-300 (Fall): Research and Innovation in Computer Science
Course Website
15-816 (Fall): Advanced Topics in Logic: Automated Reasoning and Satisfiability
Taught with Marijn Heule. Course Website
2021
15-414/614 (Spring): Bug Catching: Automated Program Verification
Taught with Frank Pfenning. Course Website
2020
15-816 (Fall): Advanced Topics in Logic: Automated Reasoning and Satisfiability
Taught with Marijn Heule. Course Website
2019
15-816 (Fall): Advanced Topics in Logic: Automated Reasoning and Satisfiability
Taught with Marijn Heule. Course Website
2018
15-414/614 (Fall): Bug Catching: Automated Program Verification
Taught with Matt Fredrikson. Course Website

MSCS

The Master of Science in Computer Science (MSCS) offers students with a bachelor's degree the opportunity to improve their training with advanced study in computer science. If you are interested in applying to the MSCS or want to know more about the program, please look at the following links:

For questions specific to the MSCS please do not email me directly but use the email:
csd-mscs-admissions@cs.cmu.edu

5YM

The Fifth-Year Master's Program in Computer Science (5YM) is a research-oriented master's degree that only accepts students with a Bachelor of Science degree from the School of Computer Science at Carnegie Mellon University. The program is designed to give SCS students the chance to gain more research experience by working on a substantial research project resulting in a master's thesis. A portion of our graduates pursue PhD programs at prestigious universities, whereas others transition into employment in industry. If you are interested in applying to the Fifth-Year Master's program or want to know more about the program, please look at the following links:

For questions specific to the Fifth-Year Master's program please contact the Program Manager, Angy Malloy at amalloy@cs.cmu.edu