R. Cottrell, Brina Goyette, Reid Holmes, R. Walker, J. Denzinger
{"title":"Compare and contrast: Visual exploration of source code examples","authors":"R. Cottrell, Brina Goyette, Reid Holmes, R. Walker, J. Denzinger","doi":"10.1109/VISSOF.2009.5336429","DOIUrl":"https://doi.org/10.1109/VISSOF.2009.5336429","url":null,"abstract":"Understanding the commonalities and differences of a set of source code examples can help developers to understand or to evolve application programming interfaces (APIs). While several approaches exist to assist developers in locating source code examples, they often present their results only in a basic list view, with at most an indication of the relationship to the search query; unfortunately, they offer no information on how the results relate to one another. A developer is then faced with the highly manual task of exploring these examples to discern their similarities and differences. This paper describes our prototype tool (called Guido) for exploring source code examples, using their structural correspondences. The Guido tool uses multiple coordinated views to visualize the relationships between examples, in order to assist the developer in identifying common and unique traits between them.","PeriodicalId":356387,"journal":{"name":"2009 5th IEEE International Workshop on Visualizing Software for Understanding and Analysis","volume":"52 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-11-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128998301","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":"Beyond pretty pictures: Examining the benefits of code visualization for Open Source newcomers","authors":"Yunrim Park, Carlos Jensen","doi":"10.1109/VISSOF.2009.5336433","DOIUrl":"https://doi.org/10.1109/VISSOF.2009.5336433","url":null,"abstract":"Joining an Open Source project is not easy. Newcomers often experience a steep learning curve dealing with technical complexity, lack of domain knowledge, and the amount of project information available for starters. This paper looks at the information needs of newcomers and the potential benefits of information visualization in supporting newcomers through a controlled experiment. Our results show that current OSS environments and development tools are lacking in support for the information needs of newcomers, and that existing visualization tools and techniques can help. We also discuss the potential problems and pitfalls associated with the inappropriate use of code visualization tools.","PeriodicalId":356387,"journal":{"name":"2009 5th IEEE International Workshop on Visualizing Software for Understanding and Analysis","volume":"287 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-11-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124570634","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":"Extraction and visualization of call dependencies for large C/C++ code bases: A comparative study","authors":"A. Telea, Hessel Hoogendorp, O. Ersoy, D. Reniers","doi":"10.1109/VISSOF.2009.5336419","DOIUrl":"https://doi.org/10.1109/VISSOF.2009.5336419","url":null,"abstract":"Investigating program dependencies such as function calls is challenging for very large systems. We present here an integrated pipeline for extraction and visualization of call-and-hierarchy graphs for C/C++ programs. We present several adaptions and enhancements of a recent visualization method for large call graphs and compare its effectiveness with classical node-link diagrams. Examples are given on large real-world code bases such as bison, Mozilla and oink.","PeriodicalId":356387,"journal":{"name":"2009 5th IEEE International Workshop on Visualizing Software for Understanding and Analysis","volume":"251 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-11-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129462527","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":"Enhancing structural views of software systems by dynamic information","authors":"Stefan Voigt, J. Bohnet, J. Döllner","doi":"10.1109/VISSOF.2009.5336422","DOIUrl":"https://doi.org/10.1109/VISSOF.2009.5336422","url":null,"abstract":"Understanding software systems comprises the analysis of different aspects of the respective systems, such as dynamic and static analysis with all their facets. Consequently, developers study different kinds of information and create different mental models. We introduce a visualization technique that facilitates cross referencing mental models, in particular models that describe the structure and models describing the behavior of software systems. To achieve this goal, we enhance structural views by runtime information depending on the current focus of a sequential view. Animation enables developers to explore how the system's state changes over time, by this, supporting developers in understanding program behavior.","PeriodicalId":356387,"journal":{"name":"2009 5th IEEE International Workshop on Visualizing Software for Understanding and Analysis","volume":"22 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-11-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115301369","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":"Visualizing massively pruned execution traces to facilitate trace exploration","authors":"J. Bohnet, M. Koeleman, J. Döllner","doi":"10.1109/VISSOF.2009.5336416","DOIUrl":"https://doi.org/10.1109/VISSOF.2009.5336416","url":null,"abstract":"Execution traces provide precise pictures of the inner workings of software systems. They therefore support programmers in performing various maintenance tasks. However, exploring traces is difficult due to their size. They typically consist of thousands of participating functions and millions of control flow events. When exploring traces, it is particularly time-consuming to identify those time ranges within the trace that are relevant for the current maintenance task. In this paper, we propose a technique that supports programmers in exploring traces in that it first prunes less relevant calls from the trace and then provides condensed and repetition-aware visualizations that facilitate fast and accurate navigation even within very large traces. Repetitions in the trace are detected by a novel metrics to measure similarity between function calls in a fuzzy and adjustable way. The metrics helps to identify outlier calls in repetitive call sequences and guides programmers on control paths being likely relevant for their comprehension task. The technique is implemented within a prototypical analysis tool that copes with large C/C++ software systems. We demonstrate the concepts by means of a case study with our industrial partner.","PeriodicalId":356387,"journal":{"name":"2009 5th IEEE International Workshop on Visualizing Software for Understanding and Analysis","volume":"309 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-11-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115935473","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":"Evaluation of software visualization tools: Lessons learned","authors":"Mariam Sensalire, P. Ogao, A. Telea","doi":"10.1109/vissof.2009.5336431","DOIUrl":"https://doi.org/10.1109/vissof.2009.5336431","url":null,"abstract":"Many software visualization (SoftVis) tools are continuously being developed by both researchers as well as software development companies. In order to determine if the developed tools are effective in helping their target users, it is desirable that they are exposed to a proper evaluation. Despite this, there is still lack of a general guideline on how these evaluations should be carried out and many of the tool developers perform very limited or no evaluation of their tools. Each person that carries out one evaluation, however, has experiences which, if shared, can guide future evaluators. This paper presents the lessons learned from evaluating over 20 SoftVis tools with over 90 users in five different studies spread on a period of over two years. The lessons covered include the selection of the tools, tasks, as well as evaluation participants. Other discussed points are related to the duration of the evaluation experiment, its location, the procedure followed when carrying out the experiment, as well as motivation of the participants. Finally, an analysis of the lessons learned is shown with the hope that these lessons will be of some assistance to future SoftVis tool evaluators.","PeriodicalId":356387,"journal":{"name":"2009 5th IEEE International Workshop on Visualizing Software for Understanding and Analysis","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-11-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130687841","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":"Visualizing the Java heap to detect memory problems","authors":"S. Reiss","doi":"10.1109/VISSOF.2009.5336418","DOIUrl":"https://doi.org/10.1109/VISSOF.2009.5336418","url":null,"abstract":"Many of the problems that occur in long-running systems involve the way that the system uses memory. We have developed a framework for extracting and building a model of the heap from a running Java system. Such a model is only useful if the programmer can extract from it the information they need to understand, find, and eventually fix memory-related problems in their system. This paper describes the visualization strategy we use for interactively displaying the model and related information to achieve these goals.","PeriodicalId":356387,"journal":{"name":"2009 5th IEEE International Workshop on Visualizing Software for Understanding and Analysis","volume":"18 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-11-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134152406","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":"Sv3D meets Eclipse","authors":"David Montano, Jairo Aponte, Andrian Marcus","doi":"10.1109/VISSOF.2009.5336413","DOIUrl":"https://doi.org/10.1109/VISSOF.2009.5336413","url":null,"abstract":"Source Viewer 3D (sv3D) is a software visualization tool, based on a 3D extension of the file map metaphor. Sv3D has been developed as an independent visualization front end that represents source code and associated metrics as 3D metaphors, namely containers and poly cylinders. We developed a new version of sv3D as an Eclipse plug-in. Most of the functionality of the original tool is preserved, while new features are added. This tool demonstration will focus on the new features as well as on the benefits that the integration with Eclipse brings, such as, improved usability and integration with other plug-ins.","PeriodicalId":356387,"journal":{"name":"2009 5th IEEE International Workshop on Visualizing Software for Understanding and Analysis","volume":"19 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-11-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116991742","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":"Case study: Visual analytics in software product assessments","authors":"A. Telea, L. Voinea","doi":"10.1109/VISSOF.2009.5336417","DOIUrl":"https://doi.org/10.1109/VISSOF.2009.5336417","url":null,"abstract":"We present how a combination of static source code analysis, repository analysis, and visualization techniques has been used to effectively get and communicate insight in the development and project management problems of a large industrial code base. This study is an example of how visual analytics can be effectively applied to answer maintenance questions and support decision making in the software industry. We comment on the relevant findings during the study both in terms of used technique and applied methodology and outline the favorable factors that were essential in making this type of assessment successful within tight time and budget constraints.","PeriodicalId":356387,"journal":{"name":"2009 5th IEEE International Workshop on Visualizing Software for Understanding and Analysis","volume":"57 9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-11-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131532125","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}
Nuno Oliveira, M. Pereira, P. Henriques, Daniela Carneiro da Cruz
{"title":"Visualization of domain-specific programs' behavior","authors":"Nuno Oliveira, M. Pereira, P. Henriques, Daniela Carneiro da Cruz","doi":"10.1109/VISSOF.2009.5336426","DOIUrl":"https://doi.org/10.1109/VISSOF.2009.5336426","url":null,"abstract":"Program domain concepts are rather complex and low level for a fast assimilation. On the other hand, problem domain concepts are closer to human's mind, hence they are easier to perceive. Based on Brook's theory, a full comprehension of a program is only achieved if both domains are connected and visualized in synchronization, resulting on an action-effect visualization. Domain-specific languages, as languages tailored for a specific class of problems, raise the abstraction of the program domain concepts and approximate them to the problem domain's. This way, a systematic approach can be used to perform the action-effect visualization of a program written in a domain-specific language. In this paper, we use a domain-specific language to exemplify how the concepts involved in both domains are visualized and how it is possible to map each problem domain situation (depicted by images) to the program domain operations.","PeriodicalId":356387,"journal":{"name":"2009 5th IEEE International Workshop on Visualizing Software for Understanding and Analysis","volume":"14 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-11-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130372024","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}