{"title":"A Conversational User Interface for Software Visualization","authors":"Stefan Bieliauskas, A. Schreiber","doi":"10.1109/VISSOFT.2017.21","DOIUrl":"https://doi.org/10.1109/VISSOFT.2017.21","url":null,"abstract":"Software visualizations provide many different complex views with different filters and metrics. But often users have a specific question to which they want to have an answer or they need to find the best visualization by themselves and are not aware of other metrics and possibilities of the visualization tool. We propose an interaction with software visualizations based on a conversational interface. The developed tool extracts meta information from natural language sentences and displays the best fitting software visualization by adjusting metrics and filter settings.","PeriodicalId":253313,"journal":{"name":"2017 IEEE Working Conference on Software Visualization (VISSOFT)","volume":"6 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-11-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121945928","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}
{"title":"Interactive Visualization of Software Components with Virtual Reality Headsets","authors":"A. Schreiber, Marlene Bruggemann","doi":"10.1109/VISSOFT.2017.20","DOIUrl":"https://doi.org/10.1109/VISSOFT.2017.20","url":null,"abstract":"In large software projects, it can be hard to understand the actual architecture of the implemented software systems if current design documents are outdated or do not exist at all. For systems based on the OSGi component specification, which are used to build quite large applications with back-end and front-end services, tools for visualizing the actual architecture can help to understand the system. We provide an interactive tool that visualizes OSGi-based systems with their components, packages, services, and dependencies in 3D using Virtual Reality headsets. It uses the metaphor of modular electronic systems. The tool allows software engineers, project managers, or clients to explore the architecture and get a first impression about component sizes and their dependencies.","PeriodicalId":253313,"journal":{"name":"2017 IEEE Working Conference on Software Visualization (VISSOFT)","volume":"40 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-11-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123153625","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}
P. Vogel, Thijs Klooster, V. Andrikopoulos, M. Lungu
{"title":"A Low-Effort Analytics Platform for Visualizing Evolving Flask-Based Python Web Services","authors":"P. Vogel, Thijs Klooster, V. Andrikopoulos, M. Lungu","doi":"10.1109/VISSOFT.2017.13","DOIUrl":"https://doi.org/10.1109/VISSOFT.2017.13","url":null,"abstract":"Tens of thousands of web applications are written in Flask, a Python-based web framework. Despite a rich ecosystem of extensions, there is none that supports the developer in gaining insight into the evolving performance of their service. In this paper, we introduce Flask Dashboard, a library that addresses this problem. We present the ease with which the library can be integrated in an already existing web application, discuss some of the visualization perspectives that the library provides and point to some future challenges for similar libraries.","PeriodicalId":253313,"journal":{"name":"2017 IEEE Working Conference on Software Visualization (VISSOFT)","volume":"192 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-11-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114213794","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}
Fabian Beck, Hafiz Ammar Siddiqui, Alexandre Bergel, D. Weiskopf
{"title":"Method Execution Reports: Generating Text and Visualization to Describe Program Behavior","authors":"Fabian Beck, Hafiz Ammar Siddiqui, Alexandre Bergel, D. Weiskopf","doi":"10.1109/VISSOFT.2017.11","DOIUrl":"https://doi.org/10.1109/VISSOFT.2017.11","url":null,"abstract":"To obtain an accurate understanding of program behavior, developers use a set of tools and techniques such as logging outputs, debuggers, profilers, and visualizations. These support an in-depth analysis of the program behavior, each approach focusing on a different aspect. What is missing, however, is an approach to get an overview of a program execution. As a first step to fill this gap, this paper presents an approach to generate Method Execution Reports. Each report summarizes the execution of a selected method for a specific execution of the program using natural-language text and embedded visualizations. A report provides an overview of the dynamic calls and time consumption related to the selected method. We present a framework to generate these reports and discuss the specific instantiation and phrasing we have chosen. Our results comprise feedback from developers discussing the understandability and usefulness of our approach and a task-based comparison to state-of-the-art solutions.","PeriodicalId":253313,"journal":{"name":"2017 IEEE Working Conference on Software Visualization (VISSOFT)","volume":"36 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121100980","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}
{"title":"Concept-Driven Generation of Intuitive Explanations of Program Execution for a Visual Tutor","authors":"M. R. Azadmanesh, Matthias Hauswirth","doi":"10.1109/VISSOFT.2017.22","DOIUrl":"https://doi.org/10.1109/VISSOFT.2017.22","url":null,"abstract":"Learning a programming language is hard. Students need to acquire three types of skills: (1) understand the new language concepts, (2) interpret pieces of code that use those concepts, and (3) write pieces of code involving those concepts. In this paper, we present an approach to help with the second type of skill. There are tools that explain/visualize the execution by stepping through the code. However, such tools suffer from two types of problems. First, the granularity of the stepping is coarse, hiding the intermediate steps in evaluating expressions. Second, for a single statement corresponding to a step of the execution, the order of the evaluation of source code constructs is not aligned with the order the constructs appear in the source code. To fix those, we combine compile-time with run-time information to automatically produce intuitive explanations of code. At compile time, we generate the explanations by traversing the AST. The runtime information provides the execution map and runtime values. We applied our idea to the Java version of Online Python Tutor, a web-based program visualization tool. Each explanation is complemented by highlighting the piece of the source code to which it corresponds, being spoken by the system, and a tree structure visualizing the evaluation of the involved expressions. The fact that the generation of explanations is syntax driven makes the result close to what a human tutor would provide.","PeriodicalId":253313,"journal":{"name":"2017 IEEE Working Conference on Software Visualization (VISSOFT)","volume":"6 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128723653","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}
David Baum, J. Schilbach, Pascal Kovacs, U. Eisenecker, Richard Müller
{"title":"GETAVIZ: Generating Structural, Behavioral, and Evolutionary Views of Software Systems for Empirical Evaluation","authors":"David Baum, J. Schilbach, Pascal Kovacs, U. Eisenecker, Richard Müller","doi":"10.1109/VISSOFT.2017.12","DOIUrl":"https://doi.org/10.1109/VISSOFT.2017.12","url":null,"abstract":"Software visualizations are used to support stakeholders in software engineering activities like development, project management, and maintenance. The respective tasks determine which aspects of software, i.e., structural, behavioral and/or evolutionary information, need to be visualized. To promote the usage of software visualizations they have to optimally support the needs of the respective stakeholder for the specific task at hand. Therefore, we see the necessity to create innovative visualizations and to optimize existing ones. In order to achieve this, it is necessary to empirically evaluate the different visualizations and their variants. In this paper, we present GETAVIZ as a toolset to support these processes, i.e., designing visualizations, generating task- and role specific visualizations, and conducting empirical evaluations. The toolset implements the concept of generative and model-driven software visualization and makes it possible to generate different visualizations for all three aspects of software. Its strength lies in its adaptability, so that new visualizations and variations of existing ones can be implemented easily. In addition to the generator this toolset contains several extractors for different programming languages, a browser-based user interface for viewing and interacting with visualizations, and an evaluation server to facilitate the execution of local and remote experiments. The paper illustrates the capabilities of GETAVIZ and it discusses plans for its further development.","PeriodicalId":253313,"journal":{"name":"2017 IEEE Working Conference on Software Visualization (VISSOFT)","volume":"3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121890757","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}
{"title":"An Empirical Study on the Readability of Regular Expressions: Textual Versus Graphical","authors":"N. Hollmann, Stefan Hanenberg","doi":"10.1109/VISSOFT.2017.27","DOIUrl":"https://doi.org/10.1109/VISSOFT.2017.27","url":null,"abstract":"Although the readability of source code plays an important role in software construction, not many studies are available that do actually compare the impact of different notations on the readability of source code. Among the huge set of possible languages to be studied, one language is frequently used in education as well as in practice: regular expressions. This paper introduces a randomized controlled trial performed on 22 participants that compares two different notations for regular expressions: a textual and a graphical one. It shows that a regular expression's length as well as the notation (textual vs. graphical) has a strong effect on the regular expression's readability while the participants' background showed no measurable effect. On average, the time required by the participants to answer questions about shortest words using the textual representation was almost three times higher than the time it took for answering such questions using the graphical representation.","PeriodicalId":253313,"journal":{"name":"2017 IEEE Working Conference on Software Visualization (VISSOFT)","volume":"73 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127022706","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}
{"title":"Collaborative Modeling and Visualization of Software Systems Using Multidimensional UML","authors":"Matej Ferenc, I. Polásek, Juraj Vincur","doi":"10.1109/VISSOFT.2017.19","DOIUrl":"https://doi.org/10.1109/VISSOFT.2017.19","url":null,"abstract":"This paper introduces our approach to a real-time synchronous collaborative modeling of software systems using 3D UML in a way similar to shared Google Document online with the aim to reduce the complexity of UML models and to increase work efficiency. In our approach, we decided to visualize the system with 2D UML diagrams on interconnected layers containing components (in class diagrams) or use case scenarios of the system (in sequence or activity diagrams) in 3D space. The goal of our method is to improve user's awareness of other developers in a multi-user workspace, adjust redundant components and visualize the history of user's actions in the UML class diagrams.","PeriodicalId":253313,"journal":{"name":"2017 IEEE Working Conference on Software Visualization (VISSOFT)","volume":"42 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125205650","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}
Leonel Merino, J. Fuchs, M. Blumenschein, C. Anslow, Mohammad Ghafari, Oscar Nierstrasz, M. Behrisch, D. Keim
{"title":"On the Impact of the Medium in the Effectiveness of 3D Software Visualizations","authors":"Leonel Merino, J. Fuchs, M. Blumenschein, C. Anslow, Mohammad Ghafari, Oscar Nierstrasz, M. Behrisch, D. Keim","doi":"10.1109/VISSOFT.2017.17","DOIUrl":"https://doi.org/10.1109/VISSOFT.2017.17","url":null,"abstract":"Many visualizations have proven to be effective in supporting various software related tasks. Although multiple media can be used to display a visualization, the standard computer screen is used the most. We hypothesize that the medium has a role in their effectiveness. We investigate our hypotheses by conducting a controlled user experiment. In the experiment we focus on the 3D city visualization technique used for software comprehension tasks. We deploy 3D city visualizations across a standard computer screen (SCS), an immersive 3D environment (I3D), and a physical 3D printed model (P3D). We asked twenty-seven participants (whom we divided in three groups for each medium) to visualize software systems of various sizes, solve a set of uniform comprehension tasks, and complete a questionnaire. We measured the effectiveness of visualizations in terms of performance, recollection, and user experience. We found that even though developers using P3D required the least time to identify outliers, they perceived the least difficulty when visualizing systems based on SCS. Moreover, developers using I3D obtained the highest recollection.","PeriodicalId":253313,"journal":{"name":"2017 IEEE Working Conference on Software Visualization (VISSOFT)","volume":"230 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124689667","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}
J. Gil, Dor Ma'ayan, Niv Shalmon, Raviv Rachmiel, Ori Roth
{"title":"Syntactic Zoom-Out / Zoom-In Code with the Athenizer","authors":"J. Gil, Dor Ma'ayan, Niv Shalmon, Raviv Rachmiel, Ori Roth","doi":"10.1109/VISSOFT.2017.26","DOIUrl":"https://doi.org/10.1109/VISSOFT.2017.26","url":null,"abstract":"Care and great e.ort are often taken to dress program code of libraries, just as model implementations, in its most presentable form, which includes adherence to strict coding standards, careful selection of identifiers, avoiding unnecessary constructs, etc. However, a presentable dress is not a janitor's uniform and is often inferior to the more lax working outfit.The spartanizer is a tool that brings Java code into a canonical, short form. Trying to say the most with the fewest words. In contrast, the athenizer is a tool that expands the code, placing it in a more maintainable form, using plenty of auxiliary variables, many potential locations for breakpoints and for change.The tool reported on here allows developers to interactively use their joystick and its buttons for code navigation, and in particular for zooming-in into the code (athenizing) and zooming-out of it (spartanizing).","PeriodicalId":253313,"journal":{"name":"2017 IEEE Working Conference on Software Visualization (VISSOFT)","volume":"49 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131209360","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}