I study how to design programming languages to improve developers' productivity. I am developing new principles for language design that let language designers make informed choices regarding how their language design decisions will affect the users of their languages. 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 Myers. I also collaborated closely with Joshua Sunshine. My dissertation, “User-Centered Design of Principled Programming Languages”, is available in PDF form.
I spent ten years at Apple, where I was a software engineer on the iWork team, focusing on Numbers. I worked on versions for Mac OS X, iOS, and iCloud. If you're still using some other spreadsheet app, give Numbers a try!
I have posted my CV for easy reference, though it may not be up to date.
My main research focus is on Obsidian, a new programming language for blockchain smart contracts. I used user-centered design to integrate strong static safety features while maintaining usability.
Michael Coblenz, Ariel Davis, Megan Hofmann, Vivian Huang, Siyue Jin, Max Krieger, Kyle Liang, Brian Wei, Mengchen Sam Yong, Jonathan Aldrich. User-Centered Programming Language Design: A Course-Based Case Study. 1st International Workshop on Human Aspects of Types and Reasoning Assistants (HATRA 2020), workshop at SPLASH 2020. Online. PDF Distinguished Artifact Award
Michael Coblenz, Joshua Sunshine, Jonathan Aldrich, Brad A. Myers. An Empirical Study of Ownership, Typestate, and Assets in the Obsidian Smart Contract Language. PACMPL Issue OOPSLA 2020. PDF | YouTube summary and demo | Full OOPSLA talk
Michael Coblenz, Reed Oei, Tyler Etzel, Paulette Koronkevich, Miles Baker, Yannick Bloem, Brad A. Myers, Joshua Sunshine, Jonathan Aldrich. "Obsidian: Typestate and Assets for Safer Blockchain Programming." arXiv.org preprint; to appear in TOPLAS. arXiv.
Michael Coblenz, Gauri Kambhatla, Paulette Koronkevich, Jenna L. Wise, Celeste Barnaby, Joshua Sunshine, Jonathan Aldrich, Brad A. Myers. "Usability Methods for Designing Programming Languages for Software Engineers." arXiv preprint; in revision at TOCHI. arXiv
Michael Coblenz, Jonathan Aldrich, Brad A. Myers, and Joshua Sunshine. "Interdisciplinary Programming Language Design." Extended Abstract. The Art, Science, and Engineering of Programming, 2019, Vol. 3, Special Issue on Essays. <Programming> Journal
Michael Coblenz, Jonathan Aldrich, Brad A. Myers, and Joshua Sunshine. "Interdisciplinary Programming Language Design." Onward! 2018 Essays at SPLASH 2018. Boston, MA. November 4 - 9, 2018. ACM DL
Michael Coblenz, Whitney Nelson, Jonathan Aldrich, Brad Myers, and Joshua Sunshine. "Glacier: Transitive Class Immutability for Java." The 39th International Conference on Software Engineering (ICSE 2017), Buenos Aires, Argentina, May 20-28, 2017. (16% acceptance rate). Preprint
Beth Yost, Michael Coblenz, Brad Myers, Joshua Sunshine, Jonathan Aldrich, Sam Weber, Forrest Shull, Matthew Patron, Melissa Heeren, Shelley Krueger, and Mark Pfaff. "Software Development Practices, Barriers in the Field and the Relationship to Software Quality," short paper at ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM'2016). Ciudad Real, Spain. 5-9 September, 2016. ACM DL (37% acceptance rate)
Michael Coblenz, Joshua Sunshine, Jonathan Aldrich, Brad Myers, Sam Weber, and Forrest Shull. "Exploring Language Support for Immutability." The 38th International Conference on Software Engineering (ICSE 2016), Austin, TX, May 14 - 22, 2016. ACM DL (19% acceptance rate)
Michael Coblenz, Robert Seacord, Brad Myers, Joshua Sunshine and Jonathan Aldrich, "A Course-Based Usability Analysis of Cilk Plus and OpenMP", 2015 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC'15), October 18–22, 2015, Atlanta, Georgia. PDF
Amy J. Ko, Brad A. Myers, Michael J. Coblenz, and Htet Htet Aung. "An Exploratory Study of How Developers Seek, Relate, and Collect Relevant Information during Software Maintenance Tasks." IEEE Transactions on Software Engineering, 32(12), 971-987.
Michael J. Coblenz, Amy J. Ko, and Brad A. Myers. "Using Objects of Measurement to Detect Spreadsheet Errors." 2005 IEEE Symposium on Visual Languages and Human- Centric Computing (VL/HCC’05), Dallas, TX, 20-24 September 2005.
Reid Simmons, Dani Goldberg, Adam Goode, Michael Montemerlo, Nicholas Roy, Brennan Sellner, Chris Urmson, Alan Schultz, Myriam Abramson, William Adams, Amin Atrash, Magda Bugajska, Michael Coblenz, Matt MacMahon, Dennis Perzanowski, Ian Horswill, Robert Zubek, David Kortenkamp, Bryn Wolfe, Tod Milam, Bruce Maxwell. GRACE: an autonomous robot for the AAAI Robot challenge, June 2003, AI Magazine, Volume 24 Issue 2.
Gauri Kambhatla, Michael Coblenz, Reed Oei, Joshua Sunshine, Brad Myers and Jonathan Aldrich. "A Pilot Study of the Safety and Usability of the Obsidian Blockchain Programming Language." The Tenth Workshop on Evaluation and Usability of Programming Languages and Tools (PLATEAU 2019), at UIST 2019, October 24, 2019, New Orleans, Louisiana. PDF
Michael Coblenz, Jonathan Aldrich, Joshua Sunshine, Brad A. Myers. "Smarter Smart Contract Tools." WETSEB 2019: 2nd International Workshop on Emerging Trends in Software Engineering for Blockchain. May 27, 2019, Montreal, QC, Canada. Preprint PDF
Michael Coblenz, Jonathan Aldrich, Joshua Sunshine, Brad A. Myers, "User-Centered Design of Permissions, Typestate, and Ownership in the Obsidian Blockchain Language," HCI for Blockchain: Studying, Designing, Critiquing and Envisioning Distributed Ledger Technologies Workshop at CHI'2018, April 22, 2018, Montreal, QC, Canada. PDF.
Celeste Barnaby, Michael Coblenz, Tyler Etzel, Eliezer Kanal, Joshua Sunshine, Brad Myers, Jonathan Aldrich. "A User Study to Inform the Design of the Obsidian Blockchain DSL." 8th Workshop on Evaluation and Usability of Programming Languages and Tools (PLATEAU'2017) at SPLASH 2017, October 23, 2017. PDF
Sam Weber, Michael Coblenz, Brad Myers, Jonathan Aldrich, and Joshua Sunshine. Empirical Studies on the Security and Usability Impact of Immutability. 2017 IEEE Cybersecurity Development conference. Cambridge, MA, September 24-16, 2017.
Michael Coblenz. "Obsidian: A Safer Blockchain Programming Language". Student Research Competition, Companion to The 39th International Conference on Software Engineering (ICSE 2017), Buenos Aires, Argentina, May 20-28, 2017. https://doi.org/10.1109/ICSE-C.2017.150
Michael Coblenz. "Principles of Usable Programming Language Design". Doctoral Symposium, Companion to The 39th International Conference on Software Engineering (ICSE 2017), Buenos Aires, Argentina, May 20-28, 2017.
Michael Coblenz, Joshua Sunshine, Brad Myers, Sam Weber, and Forrest Shull. "Comparing Transitive to Non-transitive Object Immutability." The Sixth Workshop on Evaluation and Usability of Programming Languages and Tools (PLATEAU'2015), at SPLASH 2015, 26 Oct., 2015, Pittsburgh, PA. ACM DL
Brad A. Myers, Sam Weber, and Robert Seacord, Michael Coblenz, David Keaton, Forrest J. Shull, Joshua Sunshine, Robert Schiela, "TWC: Small: Empirical Evaluation of the Usability and Security Implications of Application Programming Interface Design" (Poster), National Science Foundation Secure and Trustworthy Cyberspace (SaTC) Principal Investigators' Meeting (SaTCPI'15), January 5-7, 2015, Arlington, VA, PDF of poster
Sam Weber, Robert Seacord, Forrest Shull, David Keaton, Brad Myers, Michael Coblenz, "Empirical Evaluation of API Usability and Security", Layered Assurance Workshop, December 8, 2014, New Orleans, LA, p. 35. PDF of proceedings
Michael Coblenz, Jonathan Aldrich, Brad Myers and Josh Sunshine. "Considering Productivity Effects of Explicit Type Declarations", The Fifth Workshop on Evaluation and Usability of Programming Languages and Tools (PLATEAU 2014), at SPLASH 2014, 21 Oct 2014, Portland, OR. pp. 59-61. ACM DL
Michael J. Coblenz, Amy J. Ko, and Brad A. Myers. JASPER: An Eclipse Plug-In to Facilitate Software Maintenance Tasks. Eclipse Technology eXchange Workshop at OOPSLA 2006, October 22-23, Portland, OR, 65-69. ACM DL
Amy J. Ko, Brad A. Myers, Michael J. Coblenz, and Jeff Stylos. (2005). End-User Programming Productivity Tools. 2nd Workshop on End-User Software Engineering.
Michael Coblenz, Joshua Sunshine, Jonathan Aldrich, Brad Myers, Sam Weber, and Forrest Shull. "Exploring Language Support for Immutability." Technical Report CMU-ISR-16-106, School of Computer Science, Carnegie Mellon University, Pittsburgh, PA, May 2016. PDF
Michael J. Coblenz. JASPER: Facilitating Software Maintenance Activities With Explicit Task Representations. Technical Report CMU-CS-06-150 and CMU-HCII-06-107, School of Computer Science, Carnegie Mellon University, Pittsburgh, PA, August 2006. Master’s thesis. PDF
Michael J. Coblenz. Using Objects of Measurement to Detect Spreadsheet Errors, Technical Report CMU-CS-05-150, School of Computer Science, Carnegie Mellon University, Pittsburgh, PA, July 2005. Bachelor’s honors thesis. PDF
Dennis Perzanowski, Alan Schultz, William Adams, Magda Bugajska, Myriam Abramson, Matt MacMahon, Amin Atrash, Michael Coblenz. “Excuse me, where’s the registration desk?” Report on Integrating Systems for the Robot Challenge AAAI 2002, AAAI Technical Report FS-02-03. AAAI Press, 63-72. PDF
David G. Franklin, Michael J. Coblenz. Cell Error Tracking in Applications. U.S. Patent No. 10,354,001. Issued July 16, 2019.
Edward Patrick Hogan, Jonathan Robert Speicher, Matthew Ross Lehrian, Michael Jeremy Coblenz, Ryan M. Olshavsky, Shawn Patrick Flisakowski. Updating formulas in response to table transposition. U.S. Patent No. 10,152,470. Issued December 11, 2018.
Michael Coblenz, Jeffery Hunter, and Yik Shang Yip. Context Sensitive Computations. U.S. Patent No. 9,996,519. Issued June 12, 2018.
Michael Coblenz and Shawn Flisakowski. Reference Representation and Transformation in Collaborative Documents. U.S. Patent No. 9,684,646. Issued June 20, 2017.
Peter Berger, Yik Shing Yip, Matthew Lehrian, and Michael Coblenz. Device, method, and graphical user interface for location-based data collection. Australian Patent No. 2010340101. Granted February 20, 2014.
Eliezer Kanal and Michael Coblenz. Podcast in the SEI Podcast series: Obsidian: A Safer Blockchain Programming Language. May 2018.
Dagstuhl Seminar 18061: Evidence About Programmers for Programming Language Design
Dagstuhl Seminar 18332: Blockchain Technology for Collaborative Information Systems
Dagstuhl Seminar 19231: Empirical Evaluation of Secure Development Processes
Obsidian: A User-Centered Programming Language with Typestate and Assets. Cornell University. February 2020.
Obsidian: A User-Centered Language for Safer Smart Contracts. Guest lecture in CS279r (Elena Glassman and Nada Amin), Harvard University. October 2019.
Obsidian: A User-Centered Language for Safer Smart Contracts. University of California, Berkeley. October 2019.
Obsidian: A Safer Smart Contract Language. Ripple University Blockchain Research Initiative Connect. October 2019.
Obsidian: A Safer Smart Contract Language. CyLab Partners Conference. October 2018.
Interdisciplinary Programming Language Design - Preview. PLATEAU Workshop. November 2018.
Obsidian: A Safer Blockchain Programming Language. George Mason University Software Engineering Seminar. January 2018.
Michael Coblenz. Dead programming. Proceedings of SIGBOVIK 2018. PDF
Michael Coblenz. The Zero-Color Theorem: An Optimal Poster Design Algorithm. Proceedings of SIGBOVIK 2017. PDF