PLATEAU@UISTPub Date : 2019-09-26DOI: 10.4230/OASIcs.PLATEAU.2019.5
Will Crichton
{"title":"Human-Centric Program Synthesis","authors":"Will Crichton","doi":"10.4230/OASIcs.PLATEAU.2019.5","DOIUrl":"https://doi.org/10.4230/OASIcs.PLATEAU.2019.5","url":null,"abstract":"Program synthesis techniques offer significant new capabilities in searching for programs that satisfy high-level specifications. While synthesis has been thoroughly explored for input/output pair specifications (programming-by-example), this paper asks: what does program synthesis look like beyond examples? What actual issues in day-to-day development would stand to benefit the most from synthesis? How can a human-centric perspective inform the exploration of alternative specification languages for synthesis? I sketch a human-centric vision for program synthesis where programmers explore and learn languages and APIs aided by a synthesis tool.","PeriodicalId":355084,"journal":{"name":"PLATEAU@UIST","volume":"83 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-09-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133865638","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
PLATEAU@UISTPub Date : 1900-01-01DOI: 10.4230/OASIcs.PLATEAU.2019.4
Anael Kuperwajs Cohen, Wode Ni, Joshua Sunshine
{"title":"Designing Declarative Language Tutorials: A Guided and Individualized Approach","authors":"Anael Kuperwajs Cohen, Wode Ni, Joshua Sunshine","doi":"10.4230/OASIcs.PLATEAU.2019.4","DOIUrl":"https://doi.org/10.4230/OASIcs.PLATEAU.2019.4","url":null,"abstract":"The ability to declare what a program should include rather than how these features should be implemented makes declarative languages very useful in many visual output programs. The wideranging uses of these programs, in domains ranging from architecture to web programming to data visualization, encourages us to find an effective method to teach them. Traditional tutorial systems are usually non-interactive and have a gap between the learning and application. This can leave the user frustrated without a way to move forward in the learning process. A general lack of guidance can lead the student down an incorrect path. To prevent these difficulties, we propose a guided tour followed by novel question types that both direct the student’s learning and creates a focused environment to practice individual skills. Lastly, we propose a study to test the hypothesis that this tutorial is quicker to complete and results in a greater understanding of the declarative language. 2012 ACM Subject Classification Applied computing → Interactive learning environments","PeriodicalId":355084,"journal":{"name":"PLATEAU@UIST","volume":"146 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132347435","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
PLATEAU@UISTPub Date : 1900-01-01DOI: 10.4230/OASIcs.PLATEAU.2019.1
R. L. Hao, Elena L. Glassman
{"title":"Approaching Polyglot Programming: What Can We Learn from Bilingualism Studies?","authors":"R. L. Hao, Elena L. Glassman","doi":"10.4230/OASIcs.PLATEAU.2019.1","DOIUrl":"https://doi.org/10.4230/OASIcs.PLATEAU.2019.1","url":null,"abstract":"Today’s programmers often need to use multiple programming languages together, enough that this practice has been given the name “polyglot programming.” However, not much is known about how using multiple programming languages affects programmers, despite its increasing ubiquity. If we want to better design programming languages and improve the productivity of programmers who program in multiple programming languages, we should seek to understand the user in this context: we need to better understand the impact that polyglot programming has on programmers. In this paper, we pose several open research questions to begin to approach this question, drawing inspiration from psycholinguistic studies of bilingualism, because despite the differences between natural languages and programming languages, the questions considered in natural language bilingualism studies are relevant to programming languages, and the existing findings may prove useful in guiding our intuitions, methods, and priorities as we begin to explore this topic. In particular, we pay close attention to the implications that code switching (switching between languages within a conversation) and interferences (ways an unintended language may influence one’s use of an intended language) may have on our understanding of how using programming languages may impact a programmer.","PeriodicalId":355084,"journal":{"name":"PLATEAU@UIST","volume":"40 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129900837","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
PLATEAU@UISTPub Date : 1900-01-01DOI: 10.4230/OASIcs.PLATEAU.2019.6
Yifan Wu
{"title":"Is a Dataframe Just a Table?","authors":"Yifan Wu","doi":"10.4230/OASIcs.PLATEAU.2019.6","DOIUrl":"https://doi.org/10.4230/OASIcs.PLATEAU.2019.6","url":null,"abstract":"Querying data is core to databases and data science. However, the two communities have seemingly different concepts and use cases. As a result, both designers and users of the query languages disagree on whether the core abstractions—dataframes (data science) and tables (databases)—and the operations are the same. To investigate the difference from a PL-HCI perspective, we identify the basic affordances provided by tables and dataframes and how programming experiences over tables and dataframes differ. We show that the data structures nudge programmers to query and store their data in different ways. We hope the case study could clarify confusions, dispel misinformation, increase cross-pollination between the two communities, and identify open PL-HCI questions. 2012 ACM Subject Classification Information systems → Relational database query languages; Software and its engineering → Software usability","PeriodicalId":355084,"journal":{"name":"PLATEAU@UIST","volume":"54 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121460089","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
PLATEAU@UISTPub Date : 1900-01-01DOI: 10.4230/OASIcs.PLATEAU.2019.2
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":"https://doi.org/10.4230/OASIcs.PLATEAU.2019.2","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.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126547277","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
PLATEAU@UISTPub Date : 1900-01-01DOI: 10.4230/OASIcs.PLATEAU.2019.7
Chunqi Zhao, Tsukasa Fukusato, Jun Kato, T. Igarashi
{"title":"Live Programming Environment for Deep Learning with Instant and Editable Neural Network Visualization","authors":"Chunqi Zhao, Tsukasa Fukusato, Jun Kato, T. Igarashi","doi":"10.4230/OASIcs.PLATEAU.2019.7","DOIUrl":"https://doi.org/10.4230/OASIcs.PLATEAU.2019.7","url":null,"abstract":"Artificial intelligence (AI) such as deep learning has achieved significant success in a variety of application domains. Several visualization techniques have been proposed for understanding the overall behavior of the neural network defined by deep learning code. However, they show visualization only after the code or network definition is written and it remains complicated and unfriendly for newbies to build deep neural network models on a code editor. In this paper, to help user better understand the behavior of networks, we augment a code editor with instant and editable visualization of network model, inspired by live programming which provides continuous feedback to the programmer.","PeriodicalId":355084,"journal":{"name":"PLATEAU@UIST","volume":"43 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126042926","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
PLATEAU@UISTPub Date : 1900-01-01DOI: 10.4230/OASIcs.PLATEAU.2019.3
Justin Lubin, Ravi Chugh
{"title":"Type-Directed Program Transformations for the Working Functional Programmer","authors":"Justin Lubin, Ravi Chugh","doi":"10.4230/OASIcs.PLATEAU.2019.3","DOIUrl":"https://doi.org/10.4230/OASIcs.PLATEAU.2019.3","url":null,"abstract":"We present preliminary research on Deuce+, a set of tools integrating plain text editing with structural manipulation that brings the power of expressive and extensible type-directed program transformations to everyday, working programmers without a background in computer science or mathematical theory. Deuce+ comprises three components: (i) a novel set of type-directed program transformations, (ii) support for syntax constraints for specifying “code style sheets” as a means of flexibly ensuring the consistency of both the concrete and abstract syntax of the output of program transformations, and (iii) a domain-specific language for specifying program transformations that can operate at a high level on the abstract (and/or concrete) syntax tree of a program and interface with syntax constraints to expose end-user options and alleviate tedious and potentially mutually inconsistent style choices. Currently, Deuce+ is in the design phase of development, and discovering the right usability choices for the system is of the highest priority. 2012 ACM Subject Classification Human-centered computing → Human computer interaction (HCI); Software and its engineering → Domain specific languages; Software and its engineering → Integrated and visual development environments","PeriodicalId":355084,"journal":{"name":"PLATEAU@UIST","volume":"45 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128184719","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}