2 citations · 3 across the 4 of their papers we have counts for
7 papers
Toward a Theory of Programming Language and Reasoning Assistant Design: Minimizing Cognitive Load
Michael Coblenz
Current approaches to making programming languages and reasoning assistants more effective for people focus on leveraging feedback from users and on evaluating the success of parti…
An Empirical Study of Protocols in Smart Contracts
Timothy Mou, Michael Coblenz, Jonathan Aldrich
Smart contracts are programs that are executed on a blockhain. They have been used for applications in voting, decentralized finance, and supply chain management. However, vulnerab…
Psamathe: A DSL with Flows for Safe Blockchain Assets
Reed Oei, Michael Coblenz, Jonathan Aldrich
Blockchains host smart contracts for crowdfunding, tokens, and many other purposes. Vulnerabilities in contracts are often discovered, leading to the loss of large quantities of mo…
User-Centered Programming Language Design: A Course-Based Case Study
Michael Coblenz, Ariel Davis, Megan Hofmann +7
Recently, user-centered methods have been proposed to improve the design of programming languages. In order to explore what benefits these methods might have for novice programming…
Can Advanced Type Systems Be Usable? An Empirical Study of Ownership, Assets, and Typestate in Obsidian
Michael Coblenz, Jonathan Aldrich, Joshua Sunshine +1
Some blockchain programs (smart contracts) have included serious security vulnerabilities. Obsidian is a new typestate-oriented programming language that uses a strong type system…
PLIERS: A Process that Integrates User-Centered Methods into Programming Language Design
Michael Coblenz, Gauri Kambhatla, Paulette Koronkevich +5
Programming language design requires making many usability-related design decisions. However, existing HCI methods can be impractical to apply to programming languages: they have h…