G. Tartari, Lars Tiede, Einar J. Holsbø, Kenneth Knudsen, I. Raknes, Bjørn Fjukstad, N. Mode, J. Bjørndalen, E. Lund, L. A. Bongo
{"title":"Mr. Clean: A Tool for Tracking and Comparing the Lineage of Scientific Visualization Code","authors":"G. Tartari, Lars Tiede, Einar J. Holsbø, Kenneth Knudsen, I. Raknes, Bjørn Fjukstad, N. Mode, J. Bjørndalen, E. Lund, L. A. Bongo","doi":"10.1109/VISSOFT.2014.21","DOIUrl":"https://doi.org/10.1109/VISSOFT.2014.21","url":null,"abstract":"Visualization is a key step in scientific analysis and understanding in many fields. Scientific studies often require development of software that produces visualizations. However, as a study proceeds, the software evolves, and both developers and expert users have to periodically ascertain how code modifications affect visualization output and hence the results of the study. To our knowledge, no current visualization framework enables tracking and comparison of the lineage of scientific visualizations. We describe an approach for comparing and maintaining the code for scientific analysis and modeling through interactive comparison of visualization output. We have realized this approach in a tool called Mr. Clean. This tool provides a framework for combining different visualization tools, interaction devices, and display middleware for visual comparisons on high-resolution displays. Mr. Clean also provides user-configurable interactions supported by many devices. We provide use cases and a requirement analysis for our approach, and we describe the design and implementation of Mr. Clean. Source code is available at: https://github.com/UniversityofTromso/mrclean.","PeriodicalId":120482,"journal":{"name":"2014 Second IEEE Working Conference on Software Visualization","volume":"385 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124758090","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":"Search Space Pruning Constraints Visualization","authors":"Blake Haugen, J. Kurzak","doi":"10.1109/VISSOFT.2014.15","DOIUrl":"https://doi.org/10.1109/VISSOFT.2014.15","url":null,"abstract":"The field of software optimization, among others, is interested in finding an optimal solution in a large search space. These search spaces are often large, complex, non-linear and even non-continuous at times. The size of the search space makes a brute force solution intractable. As a result, one or more search space pruning constraints are often used to reduce the number of candidate configurations that must be evaluated in order to solve the optimization problem. If more than one pruning constraint is employed, it can be challenging to understand how the pruning constraints interact and overlap. This work presents a visualization technique based on a radial, space-filling technique that allows the user to gain a better understanding of how the pruning constraints remove candidates from the search space. The technique is then demonstrated using a search space pruning data set derived from the optimization of a matrix multiplication code for NVIDIA CUDA accelerators.","PeriodicalId":120482,"journal":{"name":"2014 Second IEEE Working Conference on Software Visualization","volume":"155 12 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125908248","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}
Roberto Minelli, Andrea Mocci, Michele Lanza, Lorenzo Baracchi
{"title":"Visualizing Developer Interactions","authors":"Roberto Minelli, Andrea Mocci, Michele Lanza, Lorenzo Baracchi","doi":"10.1109/VISSOFT.2014.31","DOIUrl":"https://doi.org/10.1109/VISSOFT.2014.31","url":null,"abstract":"Integrated Development Environments (IDEs) have become the de facto standard vehicle to develop software systems. The user interface (UI) of an IDE offers a staggering amount of facilities to manipulate source code, such as inspectors, debuggers, recommenders, alternative viewers, etc. It is unclear how developers use the UI of an IDE and whether such UIs actually give appropriate support to the developers. We present a visual approach to understand and characterize development sessions from the UI perspective. The tool supporting our approach mines and processes the finest-grained UI-level events making up development sessions and presents them visually. We have collected, visualized, and analyzed hundreds of development sessions and report on our findings.","PeriodicalId":120482,"journal":{"name":"2014 Second IEEE Working Conference on Software Visualization","volume":"39 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127302142","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":"Using a Task-Oriented Framework to Characterize Visualization Approaches","authors":"Marcelo Schots, C. Werner","doi":"10.1109/VISSOFT.2014.20","DOIUrl":"https://doi.org/10.1109/VISSOFT.2014.20","url":null,"abstract":"Visualization approaches support stakeholders in a variety of tasks. However, they are spread in the literature and their information is usually not clearly organized, classified and categorized, which makes them hard to be found and used in practice. This paper presents the use of a task-oriented framework in the context of a characterization study of visualizations that provide support for software reuse tasks. Such framework was extended in order to capture more detailed information that may be useful for assessing the suitability of a particular visualization. Besides enabling a better organization of the findings, the use of the extended framework allows to identify aspects that lack more support, indicating opportunities for researchers on software reuse and software visualization.","PeriodicalId":120482,"journal":{"name":"2014 Second IEEE Working Conference on Software Visualization","volume":"52 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116130103","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":"AniMatrix: A Matrix-Based Visualization of Software Evolution","authors":"Sébastien Rufiange, G. Melançon","doi":"10.1109/VISSOFT.2014.30","DOIUrl":"https://doi.org/10.1109/VISSOFT.2014.30","url":null,"abstract":"Software designs are ever changing to adapt to new environments and requirements. Tracking and understanding changes in modules and relationships in a software project is difficult, but even more so when the software goes through several types of changes. The typical complexity and size of software also makes it harder to grasp software evolution patterns. In this paper, we present an interactive matrix-based visualization technique that, combined with animation, depicts how software designs evolve. For example, it shows which new modules and couplings are added and removed over time. Our generic visualization supports dynamic and weighted digraphs and is applied in the context of software evolution. Analyzing source code changes is important to determine the software's structural organization and identify quality issues over time. To demonstrate our approach, we explore open-source repositories and discuss some of our findings regarding these evolving software designs.","PeriodicalId":120482,"journal":{"name":"2014 Second IEEE Working Conference on Software Visualization","volume":"42 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122376542","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}
Barrett Ens, Daniel J. Rea, Roiy Shpaner, H. Hemmati, J. Young, Pourang Irani
{"title":"ChronoTwigger: A Visual Analytics Tool for Understanding Source and Test Co-evolution","authors":"Barrett Ens, Daniel J. Rea, Roiy Shpaner, H. Hemmati, J. Young, Pourang Irani","doi":"10.1109/VISSOFT.2014.28","DOIUrl":"https://doi.org/10.1109/VISSOFT.2014.28","url":null,"abstract":"Applying visual analytics to large software systems can help users comprehend the wealth of information produced by source repository mining. One concept of interest is the co-evolution of test code with source code, or how source and test files develop together over time. For example, understanding how the testing pace compares to the development pace can help test managers gauge the effectiveness of their testing strategy. A useful concept that has yet to be effectively incorporated into a co-evolution visualization is co-change. Co-change is a quantity that identifies correlations between software artifacts, and we propose using this to organize our visualization in order to enrich the analysis of co-evolution. In this paper, we create, implement, and study an interactive visual analytics tool that displays source and test file changes over time (co-evolution) while grouping files that change together (co-change). Our new technique improves the analyst's ability to infer information about the software development process and its relationship to testing. We discuss the development of our system and the results of a small pilot study with three participants. Our findings show that our visualization can lead to inferences that are not easily made using other techniques alone.","PeriodicalId":120482,"journal":{"name":"2014 Second IEEE Working Conference on Software Visualization","volume":"106 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132577838","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}
D. T. Daniel, Egon Wuchner, Konstantin Sokolov, M. Stal, P. Liggesmeyer
{"title":"Polyptychon: A Hierarchically-Constrained Classified Dependencies Visualization","authors":"D. T. Daniel, Egon Wuchner, Konstantin Sokolov, M. Stal, P. Liggesmeyer","doi":"10.1109/VISSOFT.2014.23","DOIUrl":"https://doi.org/10.1109/VISSOFT.2014.23","url":null,"abstract":"Architects and developers are often tasked with evaluating or maintaining unfamiliar software systems. Reverse engineering tools help extract relationships between the system parts as they exist instead of as documented. Though node-link diagrams have a straightforward correspondence with the graph-represent able data generated, the scale and complexity of real-world data sets prevent efficient comprehension. This paper presents Polyptychon, an interactive node-link visualization designed for incremental exploration of dependency information. Given a hierarchical information space of software artifacts, Polyptychon constrains the visible dependencies to be related to the child nodes of a specified artifact node, called a view root. It then classifies these siblings as levelized, tangled and independent. It also includes context nodes, which are a filtered set of nodes elsewhere in the hierarchy that are related to the siblings. The context nodes are further grouped based on a project-specific partition function. The hierarchical constraints and partition function provide means to control the number of nodes displayed, while the dependency classification allows users to form a qualitative impression of the dependency structure. We demonstrate with examples from the Netty open source project. We conclude with areas of future work, in particular, as a basis of evolutionary dependency analysis.","PeriodicalId":120482,"journal":{"name":"2014 Second IEEE Working Conference on Software Visualization","volume":"10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123730049","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":"Templated Visualization of Object State with Vebugger","authors":"Daniel Rozenberg, Ivan Beschastnikh","doi":"10.1109/VISSOFT.2014.26","DOIUrl":"https://doi.org/10.1109/VISSOFT.2014.26","url":null,"abstract":"Software developers often need to inspect the state of objects during debugging. Existing debuggers display a textual representation of the state of selected objects. While these textual representations often contain enough information, they are also difficult to comprehend. For example, an object that represents a color is traditionally represented by listing the numbers that comprise its RGB values. This representation, while complete, is hardly comprehensible. We describe Vebugger, an IDE plug in for Eclipse that displays object state visually. Recalling the previous example, Vebugger displays the actual color that a Color object represents in addition to its RGB values. This representation is easier to understand. Vebugger visualizes object types using a set of extensible templates. These templates are written in HTML and CSS, and they are matched to Java types by inspecting the type hierarchy. We developed a dozen such templates for a diverse set of Java types to demonstrate the capabilities of the system. Vebugger is preliminary work, we also detail future research directions and our planned evaluation strategy.","PeriodicalId":120482,"journal":{"name":"2014 Second IEEE Working Conference on Software Visualization","volume":"75 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126200625","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":"Livecoding the SynthKit: Little Bits as an Embodied Programming Language","authors":"J. Noble","doi":"10.1109/VISSOFT.2014.16","DOIUrl":"https://doi.org/10.1109/VISSOFT.2014.16","url":null,"abstract":"LittleBits (little Bits.cc) is an open-source hardware library of pre-assembled analogue components that can be easily assembled into circuits, disassembled, reassembled, and re-used. In this paper, we consider littleBits - and the littleBits SynthKit in particular -- as a physically-embodied domain specific programming language. We describe the littleBits system, explain how littleBits \"programs\" are constructed as configurations of physical modules in the real world, and describe how they are typically used to control physical artefacts or constructions. We then argue that littleBits constructions essentially \"visualise themselves\". We describe how littleBits' liveness, embodiment, and plasticity assists both learning and debugging, and then evaluate littleBits configurations according to the cognitive dimensions of notations.","PeriodicalId":120482,"journal":{"name":"2014 Second IEEE Working Conference on Software Visualization","volume":"134 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132078608","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":"Lightweight Structured Visualization of Assembler Control Flow Based on Regular Expressions","authors":"Sibel Toprak, Arne Wichmann, S. Schupp","doi":"10.1109/VISSOFT.2014.25","DOIUrl":"https://doi.org/10.1109/VISSOFT.2014.25","url":null,"abstract":"RegVIS is a tool for viewing directed graphs with start and end nodes. It applies a new visualization technique, which uses regular expressions as a meta-representation of all the paths in an input graph, the result is a containment-based and structured visualization of that graph. The tool can be configured to derive these regular expressions from the input graph using either the Brzozowski algebraic method or the transitive closure method. Regvis can be used in combination with the binary code analysis tool IDA (Interactive Disassembler), either integrated or standalone, to view the control flow graph (CFG) of assembler code. The resulting visualization, which restructures the control flow and can thus help reduce program comprehension efforts, is called control flow blocks (CFB). In this paper, we present the workings of regVIS and evaluate the new CFB visualization it produces against the traditional CFG visualization in an explorative user study. The study suggests that the CFB is better for analyzing and navigating along specific execution paths, while the CFG is better for getting an overview of the overall control flow.","PeriodicalId":120482,"journal":{"name":"2014 Second IEEE Working Conference on Software Visualization","volume":"113 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117281888","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}