Can advanced type systems be usable? An empirical study of ownership, assets, and typestate in Obsidian
Can advanced type systems be usable? An empirical study of ownership, assets, and typestate in Obsidian
复制标题
高级类型系统可以使用吗?
DOI:
--
复制
发表时间:
2020
期刊:
影响因子:
--
通讯作者:
Joshua Sunshine
中科院分区:
文献类型:
--
作者:
Michael J. Coblenz;Jonathan Aldrich;B. Myers;Joshua Sunshine
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 together 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 the Solidity participants commonly inserted asset-related bugs, which Obsidian detects at compile time.
DOI:
10.1007/978-3-662-44202-9_7
发表时间:
2014-08
期刊:
--
影响因子:
--
作者:
Joshua Sunshine;J. Herbsleb;Jonathan Aldrich
通讯作者:
Joshua Sunshine;J. Herbsleb;Jonathan Aldrich
DOI:
10.1109/csf51468.2021.00004
发表时间:
2021
期刊:
2021 IEEE 34th Computer Security Foundations Symposium (CSF
影响因子:
--
作者:
Das, Ankush;Balzer, Stephanie;Hoffmann, Jan;Pfenning, Frank;Santurkar, Ishani
通讯作者:
Santurkar, Ishani