Results 1 - 10
of
22
Concern Graphs: Finding and Describing Concerns
, 2002
"... Many maintenance tasks address concerns, or features, that are not well modularized in the source code comprising a system. Existing approaches available to help software developers locate and manage scattered concerns use a representation based on lines of source code, complicating the analysis of ..."
Abstract
-
Cited by 145 (10 self)
- Add to MetaCart
Many maintenance tasks address concerns, or features, that are not well modularized in the source code comprising a system. Existing approaches available to help software developers locate and manage scattered concerns use a representation based on lines of source code, complicating the analysis of the concerns. In this paper, we introduce the Concern Graph representation that abstracts the implementation details of a concern and makes explicit the relationships between different parts of the concern. The abstraction used in a Concern Graph has been designed to allow an obvious and inexpensive mapping back to the corresponding source code. To investigate the practical tradeoffs related to this approach, we have built the Feature Exploration and Analysis tool (FEAT) that allows a developer to manipulate a concern representation extracted from a Java system, and to analyze the relationships of that concern to the code base. We have used this tool to find and describe concerns related to software change tasks. We have performed case studies to evaluate the feasibility, usability, and scalability of the approach. Our results indicate that Concern Graphs can be used to document a concern for change, that developers unfamiliar with Concern Graphs can use them effectively, and that the underlying technology scales to industrial-sized programs.
Pad++: A zoomable graphical sketchpad for exploring alternate interface physics
, 1996
"... user interface management system (UIMS). We describe Pad++, a zoomable graphical sketchpad that we are exploring as an alternative to traditional window and icon-based interfaces. We discuss the motivation for Pad++, describe the implementation, and present prototype applications. In addition, we in ..."
Abstract
-
Cited by 130 (30 self)
- Add to MetaCart
user interface management system (UIMS). We describe Pad++, a zoomable graphical sketchpad that we are exploring as an alternative to traditional window and icon-based interfaces. We discuss the motivation for Pad++, describe the implementation, and present prototype applications. In addition, we introduce an informational physics strategy for interface design and briefly contrast it with current design strategies. We envision a rich world of dynamic persistent informational entities that operate according to multiple physics specifically designed to provide cognitively facile access and serve as the basis for design of new computationally-based work materials. 1 To appear in the Journal of Visual Languages and Computing.
UMLDiff: An Algorithm for Object-Oriented Design Differencing
, 2005
"... This paper presents UMLDiff, an algorithm for automatically detecting structural changes between the designs of subsequent versions of object-oriented software. It takes as input two class models of a Java software system, reverse engineered from two corresponding code versions. It produces as outpu ..."
Abstract
-
Cited by 43 (4 self)
- Add to MetaCart
This paper presents UMLDiff, an algorithm for automatically detecting structural changes between the designs of subsequent versions of object-oriented software. It takes as input two class models of a Java software system, reverse engineered from two corresponding code versions. It produces as output a change tree, i.e., a tree of structural changes, that reports the differences between the two design versions in terms of (a) additions, removals, moves, renamings of packages, classes, interfaces, fields and methods, (b) changes to their attributes, and (c) changes of the dependencies among these entities. UMLDiff produces an accurate report of the design evolution of the software system, and enables subsequent design-evolution analyses from multiple perspectives in support of various evolution activities. UMLDiff and the analyses it enables can assist software engineers in their tasks of understanding the rationale of design evolution of the software system and planning future development and maintenance activities. We evaluate UM-LDiff’s correctness and robustness through a real-world case study.
FASTDash: A Visual Dashboard for Fostering Awareness
- in Software Teams. SIGCHI conference on Human Factors in computing systems
, 2007
"... Software developers spend significant time gaining and maintaining awareness of fellow developers ’ activities. FASTDash is a new interactive visualization that seeks to improve team activity awareness using a spatial representation of the shared code base that highlights team members ’ current acti ..."
Abstract
-
Cited by 42 (3 self)
- Add to MetaCart
Software developers spend significant time gaining and maintaining awareness of fellow developers ’ activities. FASTDash is a new interactive visualization that seeks to improve team activity awareness using a spatial representation of the shared code base that highlights team members ’ current activities. With FASTDash, a developer can quickly determine which team members have source files checked out, which files are being viewed, and what methods and classes are currently being changed. The visualization can be annotated, allowing programmers to supplement activity information with additional status details. It provides immediate awareness of potential conflict situations, such as two programmers editing the same source file. FASTDash was developed through usercentered design, including surveys, team interviews, and in situ observation. Results from a field study show that FASTDash improved team awareness, reduced reliance on shared artifacts, and increased project-related communication. Additionally, the team that participated in our field study continues to use FASTDash.
SNIAFL: Towards a static non-interactive approach to feature location
- In Proceedings of the 26th International Conference on Software Engineering
, 2004
"... To facilitate software maintenance and evolution, a helpful step is to locate features concerned in a particular maintenance task. In the literature, both dynamic and interactive approaches have been proposed for feature location. In this paper, we present a static and non-interactive method for ach ..."
Abstract
-
Cited by 36 (0 self)
- Add to MetaCart
To facilitate software maintenance and evolution, a helpful step is to locate features concerned in a particular maintenance task. In the literature, both dynamic and interactive approaches have been proposed for feature location. In this paper, we present a static and non-interactive method for achieving this objective. The main idea of our approach is to use the information retrieval (IR) technology to reveal the basic connections between features and computational units in source code. Due to the characteristics of the retrieved connections, we use a static representation of the source code named BRCG to further recover both the relevant and the specific computational units for each feature. Furthermore, we recover the relationships among the relevant units for each feature. A premise of our approach is that programmers should use meaningful names as identifiers. We perform an experimental study based on a GNU system to evaluate our approach. In the experimental study, we present the detailed quantitative experimental data and give the qualitative analytical results. 1.
Supporting the Restructuring of Data Abstractions through Manipulation of a Program Visualization
- ACM Transactions on Software Engineering and Methodology
, 1995
"... ions through Manipulation of a Program Visualization A dissertation submitted in partial satisfaction of the requirements for the degree Doctor of Philosophy in Computer Science by Robert William Bowdidge Committee in charge: Professor William G. Griswold, Chair Professor Edwin Hutchins Professor Ke ..."
Abstract
-
Cited by 34 (7 self)
- Add to MetaCart
ions through Manipulation of a Program Visualization A dissertation submitted in partial satisfaction of the requirements for the degree Doctor of Philosophy in Computer Science by Robert William Bowdidge Committee in charge: Professor William G. Griswold, Chair Professor Edwin Hutchins Professor Keith Marzullo Professor Joseph Pasquale Professor Richard N. Taylor Copyright Robert William Bowdidge, 1995 All rights reserved. The dissertation of Robert William Bowdidge is approved, and it is acceptable in quality and form for publication on microfilm: Chair University of California, San Diego 1995 iii For Christine iv TABLE OF CONTENTS Signature Page : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : iii Dedication : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : iv Table of Contents : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : v List of Figures : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : ix List of Tabl...
Tool Support for Planning the Restructuring of Data Abstractions in Large Systems
, 1998
"... Restructuring software to improve its design can lower software maintenance costs. One problem in restructuring is planning out the redesign. The star diagram manipulable visualization can help a programmer redesign a program based on abstract data types. However, the underlying meaning-preserving t ..."
Abstract
-
Cited by 31 (13 self)
- Add to MetaCart
Restructuring software to improve its design can lower software maintenance costs. One problem in restructuring is planning out the redesign. The star diagram manipulable visualization can help a programmer redesign a program based on abstract data types. However, the underlying meaning-preserving transformational support for restructuring is costly to provide.
Space-filling software visualization
- Journal of Visual Languages and Computing
, 1995
"... SeeSys TM is a system embodying a technique for visualizing statis-tics associated with code that is divided hierarchically into subsystems, directories, and les. This technique can display therelative sizes of the components in the system, the relative stability of the components, the location of n ..."
Abstract
-
Cited by 31 (0 self)
- Add to MetaCart
SeeSys TM is a system embodying a technique for visualizing statis-tics associated with code that is divided hierarchically into subsystems, directories, and les. This technique can display therelative sizes of the components in the system, the relative stability of the components, the location of new functionality, and the location of error-prone code with many bug xes. Using animation, it can display the historical evolution of the code. Applying this technique, the source code from amulti-million line production software product is visualized.
Visualizing Application Behavior on Superscalar Processors
- IN INFOVIS
, 1999
"... The advent of superscalar processors with out-of-order execution makes it increasingly difficult to determine how well an application is utilizing the processor and how to adapt the application to improve its performance. In this paper, we describe a visualization system for the analysis of applicat ..."
Abstract
-
Cited by 13 (1 self)
- Add to MetaCart
The advent of superscalar processors with out-of-order execution makes it increasingly difficult to determine how well an application is utilizing the processor and how to adapt the application to improve its performance. In this paper, we describe a visualization system for the analysis of application behavior on superscalar processors. Our system provides an overview-plus-detail display of the application's execution. A timeline view of pipeline performance data shows the overall utilization of the pipeline, indicating regions of poor instruction throughput. This information is displayed using multiple time scales, enabling the user to drill down from a high-level application overview to a focus region of hundreds of cycles. This region of interest is displayed in detail using an animated cycle-by-cycle view of the execution. This view shows how instructions are reordered and executed and how functional units are being utilized. Additional context views correlate instructions in this detailed view with the relevant source code for the application. This allows the user to discover the root cause of the poor pipeline utilization and make changes to the application to improve its performance. This
Exploring erotics in Emily Dickinson's correspondence with text mining and visual interfaces
- Proceedings of the 6th ACM/IEEE-CS joint conference on Digital libraries (JCDL'06), Chapel
, 2006
"... This paper describes a system to support humanities scholars in their interpretation of literary work. It presents a user interface and web architecture that integrates text mining, a graphical user interface and visualization, while attempting to remain easy to use by non specialists. Users can int ..."
Abstract
-
Cited by 10 (2 self)
- Add to MetaCart
This paper describes a system to support humanities scholars in their interpretation of literary work. It presents a user interface and web architecture that integrates text mining, a graphical user interface and visualization, while attempting to remain easy to use by non specialists. Users can interactively read and rate documents found in a digital libraries collection, prepare training sets, review results of classification algorithms and explore possible indicators and explanations. Initial evaluation steps suggest that there is a rationale for “provocational ” text mining in literary interpretation.

