mcoblenz (at) ucsd.edu
Office: CSE 3246
I am recruiting PhD students this application cycle. Applications are due December 21, 2022. I’m looking for prospective students who want to change the world by making it easier for many kinds of programmers and software engineers to create high-quality software at lower cost. I’m also interested in applying the principles of human-computer interaction, software engineering, and programming languages to help address the climate crisis. Can we build tools to make climate scientists’ jobs easier? Can we create formal tools to help policymakers to develop and enforce policies that make the world a better place?
I created PLIERS (Coblenz et al., 2021) (Programming Language Iterative Evaluation and Refinement System), which is a method of integrating user-centered design into the process of designing programming languages. I use this approach to create concrete programming languages and then evaluate how the new languages affect people’s ability to write software. For example, I created Obsidian, a new smart contract language that uses a strong type system to rule out critical classes of bugs at compile time.
I completed my Ph.D. in the Computer Science Department at Carnegie Mellon University. I was a student of Jonathan Aldrich and Brad A. Myers. I also collaborated closely with Joshua Sunshine. Then, I was a Basili postdoctoral fellow at the University of Maryland. I worked with Michael Hicks, Michelle Mazurek, and Adam Porter.
Before that, I spent eight years as a full-time software engineer on the iWork team at Apple, focusing on Numbers. I worked on versions for macOS, iOS, and iCloud. If you’re still using some other spreadsheet app, give Numbers a try!
|Jul 1, 2022||I started a new position as an Assistant Professor at UC San Diego.|
ICSEGarbage Collection Makes Rust Easier to Use: A Randomized Controlled Trial of the Bronze Garbage Collector2022
TOCHIPLIERS: A Process that Integrates User-Centered Methods into Programming Language DesignACM Transactions on Computer-Human Interaction 2021
OOPSLACan Advanced Type Systems Be Usable? An Empirical Study of Ownership, Assets, and Typestate in Obsidian2020
TOPLASObsidian: Typestate and Assets for Safer Blockchain ProgrammingACM Transactions on Programming Languages 2020
ICSEGlacier: Transitive Class Immutability for Java2017