Can Advanced Type Systems Be Usable? An Empirical Study of Ownership, Assets, and Typestate in Obsidian
Some blockchain programs (smart contracts) have included serious security vulnerabilities. Obsidian is a new typestate-oriented programming language that uses a strong type system to rule out some of these vulnerabilities. Although Obsidian was designed to promote usability to make it as easy as possible to write programs, strong type systems can cause a language to be difficult to use. In particular, ownership, typestate, and assets, which Obsidian uses to provide safety guarantees, have not seen broad adoption in popular languages and result in significant usability challenges. We performed an empirical study with 20 participants comparing Obsidian to Solidity, which is the language most commonly used for writing smart contracts today. We observed that Obsidian participants were able to successfully complete more of the programming tasks than the Solidity participants. We also found that asset-related bugs, which Obsidian detects at compile time, were commonly accidentally inserted by the Solidity participants.
Wed 20 OctDisplayed time zone: Central Time (US & Canada) change
10:50 - 12:10 | OOPSLA 2020 Papers 1SIGPLAN Papers at Zurich G Chair(s): John Renner University of California at San Diego, USA | ||
10:50 15mTalk | Can Advanced Type Systems Be Usable? An Empirical Study of Ownership, Assets, and Typestate in Obsidian SIGPLAN Papers Michael Coblenz University of Maryland at College Park, Jonathan Aldrich Carnegie Mellon University, Brad A. Myers Carnegie Mellon University, Joshua Sunshine Carnegie Mellon University Link to publication | ||
11:05 15mTalk | Designing Types for R, Empirically SIGPLAN Papers Alexi Turcotte Northeastern University, Aviral Goel Northeastern University, Filip Křikava Czech Technical University, Jan Vitek Northeastern University; Czech Technical University | ||
11:20 15mTalk | Deductive Optimization of Relational Data Storage SIGPLAN Papers Jack Feser Massachusetts Institute of Technology, Sam Madden Massachusetts Institute of Technology, Nan Tang QCRI HBKU, Armando Solar-Lezama Massachusetts Institute of Technology | ||
11:35 15mTalk | Digging for Fold: Synthesis-Aided API Discovery for Haskell SIGPLAN Papers Michael B. James University of California at San Diego, Zheng Guo University of California, San Diego, Ziteng Wang University of California at San Diego, Shivani Doshi University of California at San Diego, Hila Peleg Technion, Ranjit Jhala University of California at San Diego, Nadia Polikarpova University of California at San Diego | ||
11:50 20mLive Q&A | Discussion, Questions and Answers SIGPLAN Papers |