Results 1 - 10
of
17
Navtracks: Supporting navigation in software maintenance
- In ICSM 2005: Proceedings of the 21st IEEE International Conference on Software Maintenance (ICSM’05
, 2005
"... In this paper, we present NavTracks, a tool that supports browsing through software. NavTracks keeps track of the navigation history of software developers, forming associations between related files. These associations are then used as the basis for recommending potentially related files as a devel ..."
Abstract
-
Cited by 32 (1 self)
- Add to MetaCart
In this paper, we present NavTracks, a tool that supports browsing through software. NavTracks keeps track of the navigation history of software developers, forming associations between related files. These associations are then used as the basis for recommending potentially related files as a developer navigates the software system. We present the reasoning behind NavTracks, its basic algorithm, a case study, and propose some future work. 1.
On the use of visualization to support awareness of human activities in software development: a survey and a framework
- Proceedings of the 2005 ACM symposium on Software visualization
, 2005
"... This paper proposes a framework for describing, comparing and understanding visualization tools that provide awareness of human activities in software development. The framework has several purposes – it can act as a formative evaluation mechanism for tool designers; as an assessment tool for potent ..."
Abstract
-
Cited by 28 (4 self)
- Add to MetaCart
This paper proposes a framework for describing, comparing and understanding visualization tools that provide awareness of human activities in software development. The framework has several purposes – it can act as a formative evaluation mechanism for tool designers; as an assessment tool for potential tool users; and as a comparison tool so that tool researchers can compare and understand the differences between various tools and identify potential new research areas. We use this framework to structure a survey of visualization tools for activity awareness in software development. Based on this survey we suggest directions for future research.
A reverse engineering approach to support software maintenance: Version control knowledge extraction
- In Proceedings of 11th Working Conference on Reverse Engineering (WCRE 2004
, 2004
"... Most traditional reverse engineering tools focus on abstraction and analysis of source code, presenting a visual representation of the software architecture. This approach can be both helpful and cost effective in software maintenance tasks. However, where large software teams are concerned, with mo ..."
Abstract
-
Cited by 24 (2 self)
- Add to MetaCart
Most traditional reverse engineering tools focus on abstraction and analysis of source code, presenting a visual representation of the software architecture. This approach can be both helpful and cost effective in software maintenance tasks. However, where large software teams are concerned, with moderate levels of employee turnover, traditional reverse engineering tools can be inadequate. To address this issue, we examine the use of software process data, such as software artifact change history and developer activities. We propose the application of this data confers additional information developers need to better understand, maintain and develop software in large team settings. To explore this hypothesis, we evaluate the use of a tool, Xia, in the navigation of both software artifacts and their version history. This paper introduces Xia, reveals the results of our evaluation and proposes directions for future research in this area. 1.
Code bubbles: Rethinking the user interface paradigm of integrated development environments
- In Proc. ICSE
, 2010
"... Today’s integrated development environments (IDEs) are hampered by their dependence on files and file-based editing. We propose a novel user interface that is based on collections of lightweight editable fragments, called bubbles, which when grouped together form concurrently visible working sets. I ..."
Abstract
-
Cited by 9 (0 self)
- Add to MetaCart
Today’s integrated development environments (IDEs) are hampered by their dependence on files and file-based editing. We propose a novel user interface that is based on collections of lightweight editable fragments, called bubbles, which when grouped together form concurrently visible working sets. In this paper we describe the design of a prototype IDE user interface for Java based on working sets. A quantitative evaluation shows that developers could expect to view a sizeable number of functions concurrently with relatively few UI operations. A qualitative user evaluation with 23 professional developers indicates a high level of excitement, interest, and potential benefits and uses.
3D visualization for concept location in source code
- In 28th International Conference on Software Engineering (ICSE 2006). ACM
, 2006
"... The paper presents a set of tools that work in conjunction to support concept location in software. One of the tools, IRiSS (Information Retrieval based Software Search), is a search engine, designed and implemented to allow searching the source code of a software system. The other tool, sv3D (sourc ..."
Abstract
-
Cited by 7 (1 self)
- Add to MetaCart
The paper presents a set of tools that work in conjunction to support concept location in software. One of the tools, IRiSS (Information Retrieval based Software Search), is a search engine, designed and implemented to allow searching the source code of a software system. The other tool, sv3D (source viewer 3D), is a visualization front end, designed to represent software data with 3D renderings. The two tools are integrated with MS Visual Studio, with IRiSS providing the infrastructure for indexing the source code and querying, while sv3D helps the user in visually navigating the results of the queries and keeps track of the navigation path.
Visualisations of Execution Traces (VET): An Interactive Plugin-Based Visualisation Tool
"... An execution trace contains a description of everything that happened during an execution of a program. Execution traces are useful, because they can help software engineers understand code, resulting in a variety of applications such as debugging software, or more effective software reuse. Unfortun ..."
Abstract
-
Cited by 7 (1 self)
- Add to MetaCart
An execution trace contains a description of everything that happened during an execution of a program. Execution traces are useful, because they can help software engineers understand code, resulting in a variety of applications such as debugging software, or more effective software reuse. Unfortunately, execution traces are also complex, typically containing hundreds of thousands of events for medium size computer programs, and more for large scale programs. We have developed an execution trace visualisation tool, called VET, that helps programmers manage the complexity of execution traces. VET is also plugin based. Expert users of VET can add new visualisations and new filters, without changing VET's main code base.
Visualization of Version Control Information
, 2003
"... Version control is an important activity related to many phases of the software development lifecycle. Many version control systems have been developed to manage both software version history and associated human activities with the intent of producing higher quality software and supporting collabor ..."
Abstract
-
Cited by 6 (0 self)
- Add to MetaCart
Version control is an important activity related to many phases of the software development lifecycle. Many version control systems have been developed to manage both software version history and associated human activities with the intent of producing higher quality software and supporting collaborative development. However, the vast information these version control systems portray is not well presented, and hence poses a barrier for people to understand and explore the version control information space. This barrier degrades the capability of people to understand the software history and collaboration of team members. In this thesis, we approach this problem by applying visualization techniques to the version control domain. We developed a visualization tool called Xia for the navigation and exploration of software version history and associated human activities. We analyzed information from a widely used version control system, CVS, and interpreted it using visual metaphors. We also propose exploration mechanisms to query the information space. This tool was integrated with a modern integrated development environment Eclipse,
Path exploration during code navigation. The
, 2008
"... Previous research in computer science shows that developers spend a large fraction of their time navigating through source code. Improving developers ’ effectiveness in navigating code thus should yield significant productivity improvements. Previous research in a number of fields suggests that a mo ..."
Abstract
-
Cited by 4 (0 self)
- Add to MetaCart
Previous research in computer science shows that developers spend a large fraction of their time navigating through source code. Improving developers ’ effectiveness in navigating code thus should yield significant productivity improvements. Previous research in a number of fields suggests that a more breadth-first approach to problem solving should be more successful than a more depth-first approach. Unfortunately, modern Integrated Development Environments (IDEs) do not support a breadth-first search well because they do not help developers keep track of exploration paths well. We implemented an IDE that allows developers to track different exploration paths more easily, and ran a user study with seven subjects. To our surprise, subjects used the tool to mark waypoints instead of to facilitate a more breadth-first search. Intrigued, we examined more closely techniques for finding a starting point and for tracing relationships from there. We describe our findings, including common difficulties our subjects encountered, and propose a novel tool to reduce incorrect search paths.
Advanced Widgets for Eclipse
- In Proceedings of 2nd workshop on Eclipse Technology Exchange
, 2004
"... Information Visualization Toolkits are often in the form of applications or complex frameworks and do not integrate into existing applications very easily. In this paper we introduce three Advanced Widgets for Eclipse (AWE) to help create visualizations of complex data. These widgets are packaged as ..."
Abstract
-
Cited by 4 (4 self)
- Add to MetaCart
Information Visualization Toolkits are often in the form of applications or complex frameworks and do not integrate into existing applications very easily. In this paper we introduce three Advanced Widgets for Eclipse (AWE) to help create visualizations of complex data. These widgets are packaged as a set of JFace components. The widgets include a Simple UML Class Diagram widget, a Simple Graph Widget and a Nested Zoomable Graph Widget. Each widget conforms to the JFace standards and therefore can easily be incorporated by Java Developers into Eclipse Plug-ins or stand-alone applications. 1
Remixing visualization to support collaboration in software maintenance
- In Proceedings of the Frontiers of Software Maintenance (FoSM). IEEE
, 2008
"... We propose that collaborative software visualization can improve team software maintenance. We first review how visualization can support software maintenance from the perspectives of system understanding, process understanding and software evolution. From this, we conclude that visualization tools ..."
Abstract
-
Cited by 4 (0 self)
- Add to MetaCart
We propose that collaborative software visualization can improve team software maintenance. We first review how visualization can support software maintenance from the perspectives of system understanding, process understanding and software evolution. From this, we conclude that visualization tools are rarely designed to provide explicit support for collaborative authoring and sharing of views. We then provide an overview of research from a Computer Supported Cooperative Work perspective, and propose that this research should be applied to software visualization. We explore the opportunities and challenges this research focus presents and conclude that more attention paid to the social aspects of software visualization should improve both individual and team processes in software maintenance. 1.

