Michael Coblenz

I study how to design programming languages to improve developers’ productivity. In doing so, I developed PLIERS (Coblenz et al., 2020) (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 work with Michael Hicks and Adam Porter.

I completed my Ph.D. in the Carnegie Mellon University Computer Science Department. I was a student of Jonathan Aldrich and Brad A. Myers. I also collaborated closely with Joshua Sunshine.

I spent ten years at Apple, where I was a software engineer on the iWork team, 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!

selected publications

  1. OOPSLA
    Can Advanced Type Systems Be Usable? An Empirical Study of Ownership, Assets, and Typestate in Obsidian
    In PACMPL Issue OOPSLA 2020 (Distinguished Artifact Award)
  2. TOPLAS
    Obsidian: Typestate and Assets for Safer Blockchain Programming
    Coblenz, Michael, Oei, Reed, Etzel, Tyler, Koronkevich, Paulette, Baker, Miles, Bloem, Yannick, Myers, Brad A., Sunshine, Joshua, and Aldrich, Jonathan
    ACM Transactions on Programming Languages 2020
  3. ICSE
    Glacier: Transitive Class Immutability for Java
    Coblenz, Michael, Nelson, Whitney, Aldrich, Jonathan, Myers, Brad, and Sunshine, Joshua
    In International Conference on Software Engineering 2017 (16% acceptance rate)