Pub Date : 2018-10-01DOI: 10.1109/VLHCC.2018.8506483
R. Holwerda, F. Hermans
Blocks-based programming holds potential for end-user developers. Like all visual programming languages, blocks-based programming languages embody both a language design and a user interface design for the editing environment. For blocks-based languages, these designs are focused on learnability and low error rates, which makes them effective for education. For end-user developers who program as part of their professions, other characteristics of usability, like efficiency of use, will also be important. This paper presents a usability analysis, supported by a user study, of the editor design of current blocks-based programming systems, based on the Cognitive Dimensions of Notations framework, and we present design manoeuvres aimed at improving programming time and effort, program comprehension and programmer comfort.
{"title":"A Usability Analysis of Blocks-based Programming Editors using Cognitive Dimensions","authors":"R. Holwerda, F. Hermans","doi":"10.1109/VLHCC.2018.8506483","DOIUrl":"https://doi.org/10.1109/VLHCC.2018.8506483","url":null,"abstract":"Blocks-based programming holds potential for end-user developers. Like all visual programming languages, blocks-based programming languages embody both a language design and a user interface design for the editing environment. For blocks-based languages, these designs are focused on learnability and low error rates, which makes them effective for education. For end-user developers who program as part of their professions, other characteristics of usability, like efficiency of use, will also be important. This paper presents a usability analysis, supported by a user study, of the editor design of current blocks-based programming systems, based on the Cognitive Dimensions of Notations framework, and we present design manoeuvres aimed at improving programming time and effort, program comprehension and programmer comfort.","PeriodicalId":444336,"journal":{"name":"2018 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)","volume":"65 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127113858","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}
Pub Date : 2018-10-01DOI: 10.1109/VLHCC.2018.8506490
Patrick W. Koch, Konstantin Schekotihin
While spreadsheets are widely used for business-related tasks, they are mostly handled by novice users instead of professional programmers. Consequently, those users often are not aware of quality issues in their spreadsheet programs that may lead to faults with significant adverse effects. In this work, we therefore present a tool, called Fritz, to support users in checking and improving the quality of their spreadsheets. The tool enriches the traditional spreadsheet visualization scheme by including visual feedback about certain structural and quality aspects. This allows for easier cognition of a spreadsheet's layout, and helps users to detect and comprehend irregularities within it. Furthermore, Fritz highlights suspicious (smelly) cells, such as complex formula cells or empty input cells, that are prone to introduce errors. In contrast to other smell detection tools, Fritz also warns against smells that point out structural irregularities.
{"title":"Fritz: A Tool for Spreadsheet Quality Assurance","authors":"Patrick W. Koch, Konstantin Schekotihin","doi":"10.1109/VLHCC.2018.8506490","DOIUrl":"https://doi.org/10.1109/VLHCC.2018.8506490","url":null,"abstract":"While spreadsheets are widely used for business-related tasks, they are mostly handled by novice users instead of professional programmers. Consequently, those users often are not aware of quality issues in their spreadsheet programs that may lead to faults with significant adverse effects. In this work, we therefore present a tool, called Fritz, to support users in checking and improving the quality of their spreadsheets. The tool enriches the traditional spreadsheet visualization scheme by including visual feedback about certain structural and quality aspects. This allows for easier cognition of a spreadsheet's layout, and helps users to detect and comprehend irregularities within it. Furthermore, Fritz highlights suspicious (smelly) cells, such as complex formula cells or empty input cells, that are prone to introduce errors. In contrast to other smell detection tools, Fritz also warns against smells that point out structural irregularities.","PeriodicalId":444336,"journal":{"name":"2018 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)","volume":"31 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127149701","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}
Pub Date : 2018-10-01DOI: 10.1109/VLHCC.2018.8506518
Xueqing Liu
With the rapid growth of mobile devices and mobile apps, mobile has surpassed desktop and now has the largest worldwide market share [1]. While such growth brings in more opportunities, it also poses new challenges in security. Among the challenges, user privacy protection has drawn tremendous attention in recent years, especially after the Facebook-Cambridge Analytica data scandal in April 2018 [2].
{"title":"Assisting the Development of Secure Mobile Apps with Natural Language Processing","authors":"Xueqing Liu","doi":"10.1109/VLHCC.2018.8506518","DOIUrl":"https://doi.org/10.1109/VLHCC.2018.8506518","url":null,"abstract":"With the rapid growth of mobile devices and mobile apps, mobile has surpassed desktop and now has the largest worldwide market share [1]. While such growth brings in more opportunities, it also poses new challenges in security. Among the challenges, user privacy protection has drawn tremendous attention in recent years, especially after the Facebook-Cambridge Analytica data scandal in April 2018 [2].","PeriodicalId":444336,"journal":{"name":"2018 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)","volume":"72 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126364091","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}
Pub Date : 2018-10-01DOI: 10.1109/VLHCC.2018.8506550
Akash Ghosh, S. Kuttal
Programmers reuse code to increase their productivity, which leads to large fragments of duplicate or near-duplicate code in the code base. The current code clone detection techniques for finding semantic clones utilize Program Dependency Graphs (PDG), which are expensive and resource-intensive. PDG and other clone detection techniques utilize code and have completely ignored the comments - due to ambiguity of English language, but in terms of program comprehension, comments carry the important domain knowledge. We empirically evaluated the accuracy of detecting clones with both code and comments on a JHotDraw package. Results show that detecting code clones in the presence of comments, Latent Dirichlet Allocation (LDA), gave 84% precision and 94% recall, while in the presence of a PDG, using GRAPLE, we got 55% precision and 29% recall. These results indicate that comments can be used to find semantic clones. We recommend utilizing comments with LDA to find clones at the file level and code with PDG for finding clones at the function level. These findings necessitate a need to reexamine the assumptions regarding semantic clone detection techniques.
{"title":"Semantic Clone Detection: Can Source Code Comments Help?","authors":"Akash Ghosh, S. Kuttal","doi":"10.1109/VLHCC.2018.8506550","DOIUrl":"https://doi.org/10.1109/VLHCC.2018.8506550","url":null,"abstract":"Programmers reuse code to increase their productivity, which leads to large fragments of duplicate or near-duplicate code in the code base. The current code clone detection techniques for finding semantic clones utilize Program Dependency Graphs (PDG), which are expensive and resource-intensive. PDG and other clone detection techniques utilize code and have completely ignored the comments - due to ambiguity of English language, but in terms of program comprehension, comments carry the important domain knowledge. We empirically evaluated the accuracy of detecting clones with both code and comments on a JHotDraw package. Results show that detecting code clones in the presence of comments, Latent Dirichlet Allocation (LDA), gave 84% precision and 94% recall, while in the presence of a PDG, using GRAPLE, we got 55% precision and 29% recall. These results indicate that comments can be used to find semantic clones. We recommend utilizing comments with LDA to find clones at the file level and code with PDG for finding clones at the function level. These findings necessitate a need to reexamine the assumptions regarding semantic clone detection techniques.","PeriodicalId":444336,"journal":{"name":"2018 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)","volume":"36 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122063571","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}
Pub Date : 2018-10-01DOI: 10.1109/VLHCC.2018.8506520
V. Segura, J. Ferreira, Simone Diniz Junqueira Barbosa
After a sensemaking process using a visual analytics application, a major challenge is to filter the essential information that led to a discovery and to communicate the findings to other people. We propose to take advantage of the interaction trace left by the exploratory data analysis, presenting it with a novel visualization to aid in this process. With the trace, the user can choose the desired noteworthy interaction steps and create a visual narrative of his/her own interaction, sharing the acquired knowledge with readers. To achieve our goal, we have developed the BONNIE (Building Online Narratives from Noteworthy Interaction Events) framework. It comprises a log model to register the interaction events and a visualization environment for users to view their own interaction history and to build their visual narratives. This paper presents our proposal for communicating discoveries in visual analytics applications, the BONNIE visualization environment, and an empirical study we conducted to evaluate our solution.
{"title":"BONNIE: Building Online Narratives from Noteworthy Interaction Events","authors":"V. Segura, J. Ferreira, Simone Diniz Junqueira Barbosa","doi":"10.1109/VLHCC.2018.8506520","DOIUrl":"https://doi.org/10.1109/VLHCC.2018.8506520","url":null,"abstract":"After a sensemaking process using a visual analytics application, a major challenge is to filter the essential information that led to a discovery and to communicate the findings to other people. We propose to take advantage of the interaction trace left by the exploratory data analysis, presenting it with a novel visualization to aid in this process. With the trace, the user can choose the desired noteworthy interaction steps and create a visual narrative of his/her own interaction, sharing the acquired knowledge with readers. To achieve our goal, we have developed the BONNIE (Building Online Narratives from Noteworthy Interaction Events) framework. It comprises a log model to register the interaction events and a visualization environment for users to view their own interaction history and to build their visual narratives. This paper presents our proposal for communicating discoveries in visual analytics applications, the BONNIE visualization environment, and an empirical study we conducted to evaluate our solution.","PeriodicalId":444336,"journal":{"name":"2018 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)","volume":"50 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131912090","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}
Pub Date : 2018-10-01DOI: 10.1109/VLHCC.2018.8506535
Michelle Ichinco
Many systems aim to support programmers within a programming context, whether they recommend API methods, example code, or hints to help novices solve a task. The recommendations may change based on the user's code context, history, or the source of the recommendation content. They are designed to primarily support users in improving their code or working toward a task solution. The recommendations themselves rarely provide support for a user to interact with them directly, especially in ways that benefit the knowledge or understanding of the user. This poster presents a vision and preliminary designs for three ways a user might learn from interactions with suggested examples: describing examples, providing detailed relevance feedback, and selective visualization and tinkering.
{"title":"A Vision for Interactive Suggested Examples for Novice Programmers","authors":"Michelle Ichinco","doi":"10.1109/VLHCC.2018.8506535","DOIUrl":"https://doi.org/10.1109/VLHCC.2018.8506535","url":null,"abstract":"Many systems aim to support programmers within a programming context, whether they recommend API methods, example code, or hints to help novices solve a task. The recommendations may change based on the user's code context, history, or the source of the recommendation content. They are designed to primarily support users in improving their code or working toward a task solution. The recommendations themselves rarely provide support for a user to interact with them directly, especially in ways that benefit the knowledge or understanding of the user. This poster presents a vision and preliminary designs for three ways a user might learn from interactions with suggested examples: describing examples, providing detailed relevance feedback, and selective visualization and tinkering.","PeriodicalId":444336,"journal":{"name":"2018 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)","volume":"4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134496492","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}
Pub Date : 2018-10-01DOI: 10.1109/VLHCC.2018.8506505
Christopher J. Mendez, Andrew Anderson, B. Bhuva, M. Burnett
Building software systems is hard work, with challenges ranging from technical issues to usability issues. If the technical issues are not addressed, the software cannot work - but if the usability issues are not addressed, many potential users and customers are not even interested in whether it works. Further, usability must be inclusive: software needs to support diverse sorts of users. To help software professionals address gender-inclusive usability, we have created the GenderMag Recorder's Assistant tool. This Open Source tool is the first to semi-automate evaluating gender biases in software that is being designed, developed, or maintained. In this showpiece, we will demo the tool and encourage attendees to get involved in using it and improving upon it.
{"title":"The GenderMag Recorder's Assistant","authors":"Christopher J. Mendez, Andrew Anderson, B. Bhuva, M. Burnett","doi":"10.1109/VLHCC.2018.8506505","DOIUrl":"https://doi.org/10.1109/VLHCC.2018.8506505","url":null,"abstract":"Building software systems is hard work, with challenges ranging from technical issues to usability issues. If the technical issues are not addressed, the software cannot work - but if the usability issues are not addressed, many potential users and customers are not even interested in whether it works. Further, usability must be inclusive: software needs to support diverse sorts of users. To help software professionals address gender-inclusive usability, we have created the GenderMag Recorder's Assistant tool. This Open Source tool is the first to semi-automate evaluating gender biases in software that is being designed, developed, or maintained. In this showpiece, we will demo the tool and encourage attendees to get involved in using it and improving upon it.","PeriodicalId":444336,"journal":{"name":"2018 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)","volume":"190 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133716947","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}
Pub Date : 2018-10-01DOI: 10.1109/vlhcc.2018.8506480
{"title":"[Title page]","authors":"","doi":"10.1109/vlhcc.2018.8506480","DOIUrl":"https://doi.org/10.1109/vlhcc.2018.8506480","url":null,"abstract":"","PeriodicalId":444336,"journal":{"name":"2018 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)","volume":"6 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132437635","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}
Pub Date : 2018-10-01DOI: 10.1109/VLHCC.2018.8506557
Islam Almusaly, Ronald A. Metoyer, Carlos Jensen
Block-based programming languages are used by millions of people around the world. Blockly is a popular JavaScript library for creating visual block programming editors. To input a block, users employ a drag-and-drop input style. However, there are some limitations to this input style. We introduce a custom soft keyboard to input Blockly programs. This keyboard allows inputting, changing or editing blocks with a single touch. We evaluated the keyboard users' speed, number of touches, and errors while inputting a Blockly program and compared its performance with the drag-and-drop method. Our keyboard reduces the input errors by 68.37% and the keystrokes by 47.97 %. Moreover, it increases the input speed by 71.26% when compared to the drag-and-drop. The keyboard users perceived it to be physically less demanding with less effort than the drag-and-drop method. Moreover, participants rated the drag-and-drop method to have a higher frustration level. The Blockly keyboard was the preferred input method.
{"title":"Evaluation of A Visual Programming Keyboard on Touchscreen Devices","authors":"Islam Almusaly, Ronald A. Metoyer, Carlos Jensen","doi":"10.1109/VLHCC.2018.8506557","DOIUrl":"https://doi.org/10.1109/VLHCC.2018.8506557","url":null,"abstract":"Block-based programming languages are used by millions of people around the world. Blockly is a popular JavaScript library for creating visual block programming editors. To input a block, users employ a drag-and-drop input style. However, there are some limitations to this input style. We introduce a custom soft keyboard to input Blockly programs. This keyboard allows inputting, changing or editing blocks with a single touch. We evaluated the keyboard users' speed, number of touches, and errors while inputting a Blockly program and compared its performance with the drag-and-drop method. Our keyboard reduces the input errors by 68.37% and the keystrokes by 47.97 %. Moreover, it increases the input speed by 71.26% when compared to the drag-and-drop. The keyboard users perceived it to be physically less demanding with less effort than the drag-and-drop method. Moreover, participants rated the drag-and-drop method to have a higher frustration level. The Blockly keyboard was the preferred input method.","PeriodicalId":444336,"journal":{"name":"2018 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)","volume":"39 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124857990","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}
Pub Date : 2018-10-01DOI: 10.1109/VLHCC.2018.8506577
Cheng Zhou, S. Kuttal, Iftekhar Ahmed
Technical and social competencies are highly desirable for a protean developer. Managers make hiring decisions based on developer's contributions to online peer production sites like GitHub and Stack Overflow. These sites provide ample history regarding developers' technical and social skills. Although these histories are utilized by hiring tools to help managers make their hiring decisions, little is known empirically how developers' social skills affect their technical skills and vice versa. Without such knowledge, tools, research, and training might be flawed. We present an in-depth empirical study investigating the correlation between the technical and social skills of developers. Our quantitative analysis of factors influencing the social skills of developers compared with factors affecting their technical skills indicates that better collaboration competency skills are associated with enhanced coding abilities as well as the quality of code.
{"title":"What Makes a Good Developer? An Empirical Study of Developers' Technical and Social Competencies","authors":"Cheng Zhou, S. Kuttal, Iftekhar Ahmed","doi":"10.1109/VLHCC.2018.8506577","DOIUrl":"https://doi.org/10.1109/VLHCC.2018.8506577","url":null,"abstract":"Technical and social competencies are highly desirable for a protean developer. Managers make hiring decisions based on developer's contributions to online peer production sites like GitHub and Stack Overflow. These sites provide ample history regarding developers' technical and social skills. Although these histories are utilized by hiring tools to help managers make their hiring decisions, little is known empirically how developers' social skills affect their technical skills and vice versa. Without such knowledge, tools, research, and training might be flawed. We present an in-depth empirical study investigating the correlation between the technical and social skills of developers. Our quantitative analysis of factors influencing the social skills of developers compared with factors affecting their technical skills indicates that better collaboration competency skills are associated with enhanced coding abilities as well as the quality of code.","PeriodicalId":444336,"journal":{"name":"2018 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)","volume":"16 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130245829","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}