Michael Coblenz

I study how to design programming languages to improve developers’ productivity. In doing so, I developed 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. Now, I’m a Basili postdoctoral fellow at the University of Maryland. I work with Michael Hicks, Michelle Mazurek, and Adam Porter.

I spent ten years at Apple. For eight years, I was a full-time 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!

I am on the 2022 academic job market! For convenience, I have posted my CV, research statement, teaching statement, and diversity, equity, and inclusion statement.

Recent news:

  • Dec. 2021: Gave an invited talk at the MIT CSAIL HCI Seminar.
  • Dec. 2021: Gave an invited talk at the Tufts CS Department Colloquium.
  • Dec. 2021: Visited the Glassman Lab at Harvard University.
  • Dec. 2021: Gave an invited talk at the Northeastern University Programming Language Seminar.
  • Dec. 2021: Paper accepted to ICSE 2022 (Garbage Collection Makes Rust Easier to Use: A Randomized Controlled Trial of the Bronze Garbage Collector).
  • Nov. 2021: Attended the PLATEAU workshop.
  • Nov. 2021: Invited attendance at an NSF-funded workshop on user studies of programmers.
  • Oct. 2021: Co-organized the HATRA workshop at SPLASH and gave a talk on cognitive load theory in PL design; at SPLASH, gave a reprise of my OOPSLA 2020 talk on Obsidian.

Upcoming events:

  • May 2022: Presenting journal-first (TOCHI) paper on PL design at CHI 2022.
  • May 2022: Presenting paper on Rust garbage collection at ICSE 2022.
  • June 2022: Attending Dagstuhl seminar on Theories of Programming.

selected publications

  1. ICSE
    Garbage Collection Makes Rust Easier to Use: A Randomized Controlled Trial of the Bronze Garbage Collector
    Michael Coblenz, Michelle L. Mazurek, and Michael Hicks
    In International Conference on Software Engineering. 2022. To appear. (26% acceptance rate)
  2. TOCHI
    PLIERS: A Process that Integrates User-Centered Methods into Programming Language Design
    Michael Coblenz, Gauri Kambhatla, Paulette Koronkevich, Jenna L. Wise, Celeste Barnaby, Joshua Sunshine, Jonathan Aldrich, and Brad A. Myers
    ACM Transactions on Computer-Human Interaction. 2021.
  3. 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)
  4. TOPLAS
    Obsidian: Typestate and Assets for Safer Blockchain Programming
    Michael Coblenz, Reed Oei, Tyler Etzel, Paulette Koronkevich, Miles Baker, Yannick Bloem, Brad A. Myers, Joshua Sunshine, and Jonathan Aldrich
    ACM Transactions on Programming Languages. 2020.
  5. ICSE
    Glacier: Transitive Class Immutability for Java
    Michael Coblenz, Whitney Nelson, Jonathan Aldrich, Brad Myers, and Joshua Sunshine
    In International Conference on Software Engineering. 2017. (16% acceptance rate)