Ruben Martins

Ruben Martins

Assistant Research Professor at Carnegie Mellon University

Biography

Ruben Martins is an Assistant Research Professor at Carnegie Mellon University. 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: 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 (15-698).

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

2024
07-400 (Spring): Research Practicum in Computer Science
Course Website

15-414/614 (Spring): Bug Catching: Automated Program Verification
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