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
期刊:
Proc. ACM Program. Lang.
影响因子:
--
通讯作者:
Joshua Sunshine
Joshua Sunshine
中科院分区:
--
文献类型:
--
作者:
Michael J. Coblenz;Jonathan Aldrich;B. Myers;Joshua Sunshine

文献摘要

参考文献

被引文献

相似文献

一些区块链程序(智能合同)包含了严重的安全漏洞。黑岩是一种新的面向类型状态的编程语言,它使用强类型系统来排除其中的一些漏洞。尽管黑暗面的设计目的是提高可用性,使编写程序尽可能容易,但强类型系统可能会导致语言难以使用。特别是,所有权、类型状态和资产,黑暗面用来提供安全保证,在流行的语言中还没有被广泛采用,并导致了重大的可用性挑战。我们对20名参与者进行了一项实证研究,将黑铁矿与固体进行了比较,后者是当今撰写智能合约最常用的语言。我们观察到,黑岩参与者能够成功地完成更多的编程任务,而不是坚实的参与者。我们还发现,坚固性参与者通常会插入与资产相关的错误,而黑岩在编译时会检测到这些错误。
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