A Pilot Study of the Safety and Usability of the Obsidian Blockchain Programming Language

Gauri Kambhatla, Michael J. Coblenz, Reed Oei, Joshua Sunshine, Jonathan Aldrich, B. Myers
{"title":"A Pilot Study of the Safety and Usability of the Obsidian Blockchain Programming Language","authors":"Gauri Kambhatla, Michael J. Coblenz, Reed Oei, Joshua Sunshine, Jonathan Aldrich, B. Myers","doi":"10.4230/OASIcs.PLATEAU.2019.2","DOIUrl":null,"url":null,"abstract":"Although blockchains have been proposed for building systems that execute critical transactions, security vulnerabilities have plagued programs that are deployed on blockchain systems. The programming language Obsidian was developed with the purpose of statically preventing some of the more common of these security risks, specifically the loss of resources and improper manipulation of objects. The question then is whether Obsidian’s novel features impact the usability of the language. In this paper, we begin to evaluate Obsidian with respect to usability, and develop materials for a quantitative user study through a sequence of pilot studies. Specifically, our goal was to assess a) potential usability problems of Obsidian, b) the effectiveness of a tutorial for participants to learn the language, and c) the design of programming tasks to evaluate performance using the language. Our preliminary results tentatively suggest that the complexity of Obsidian’s features do not hinder usability, although these results will be validated in the quantitative study. We also observed the following factors as being important in a given programmer’s ability to learn Obsidian: a) integrating very frequent opportunities for practice of the material – e.g., after less than a page of material at a time, and b) previous programming experience and self-efficacy. 2012 ACM Subject Classification Software and its engineering → Domain specific languages; Humancentered computing → User studies; Human-centered computing → Usability testing","PeriodicalId":355084,"journal":{"name":"PLATEAU@UIST","volume":"34 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"3","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"PLATEAU@UIST","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.4230/OASIcs.PLATEAU.2019.2","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 3

Abstract

Although blockchains have been proposed for building systems that execute critical transactions, security vulnerabilities have plagued programs that are deployed on blockchain systems. The programming language Obsidian was developed with the purpose of statically preventing some of the more common of these security risks, specifically the loss of resources and improper manipulation of objects. The question then is whether Obsidian’s novel features impact the usability of the language. In this paper, we begin to evaluate Obsidian with respect to usability, and develop materials for a quantitative user study through a sequence of pilot studies. Specifically, our goal was to assess a) potential usability problems of Obsidian, b) the effectiveness of a tutorial for participants to learn the language, and c) the design of programming tasks to evaluate performance using the language. Our preliminary results tentatively suggest that the complexity of Obsidian’s features do not hinder usability, although these results will be validated in the quantitative study. We also observed the following factors as being important in a given programmer’s ability to learn Obsidian: a) integrating very frequent opportunities for practice of the material – e.g., after less than a page of material at a time, and b) previous programming experience and self-efficacy. 2012 ACM Subject Classification Software and its engineering → Domain specific languages; Humancentered computing → User studies; Human-centered computing → Usability testing
黑曜石区块链编程语言的安全性和可用性的初步研究
尽管区块链已被提议用于构建执行关键事务的系统,但安全漏洞一直困扰着部署在区块链系统上的程序。开发编程语言Obsidian的目的是静态地防止一些更常见的安全风险,特别是资源的丢失和对对象的不当操作。接下来的问题是Obsidian的新特性是否会影响语言的可用性。在本文中,我们开始评估黑曜石的可用性,并通过一系列试点研究为定量用户研究开发材料。具体来说,我们的目标是评估a) Obsidian潜在的可用性问题,b)参与者学习语言的教程的有效性,以及c)编程任务的设计以评估使用该语言的性能。我们的初步结果初步表明,黑曜石特征的复杂性并不妨碍可用性,尽管这些结果将在定量研究中得到验证。我们还观察到以下因素对于给定程序员学习Obsidian的能力很重要:a)整合非常频繁的材料实践机会-例如,每次不到一页的材料,b)以前的编程经验和自我效能。2012 ACM主题分类软件及其工程→领域特定语言;以人为本→用户研究;以人为本的计算→可用性测试
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信