Results 1 - 10
of
51
Exploiting the map metaphor in a tool for software evolution
- In ICSE ’01: Proceedings of the 23rd International Conference on Software Engineering
, 2001
"... Software maintenance and evolution are the dominant activities in the software lifecycle. Modularization can separate design decisions and allow them to be independently evolved, but modularization often breaks down and complicated global changes are required. Tool support can reduce the costs of th ..."
Abstract
-
Cited by 67 (3 self)
- Add to MetaCart
Software maintenance and evolution are the dominant activities in the software lifecycle. Modularization can separate design decisions and allow them to be independently evolved, but modularization often breaks down and complicated global changes are required. Tool support can reduce the costs of these unfortunate changes, but current tools are limited in their ability to manage information for large-scale software evolution. In this paper we argue that the map metaphor can serve as an organizing principle for the design of effective tools for performing global software changes. We describe the design of Aspect Browser, developed around the map metaphor, and discuss a case study of removing a feature from a 500,000 line program written in Fortran and C. 1
The Role Of Grounding In Collaborative Learning Tasks
, 1999
"... Collaborative learning tasks involve interaction between multiple participants, who thus need to maintain some degree of mutual understanding. The process by which this is accomplished is termed grounding. The way in which collaboration, grounding and learning take place is largely determined by the ..."
Abstract
-
Cited by 39 (1 self)
- Add to MetaCart
Collaborative learning tasks involve interaction between multiple participants, who thus need to maintain some degree of mutual understanding. The process by which this is accomplished is termed grounding. The way in which collaboration, grounding and learning take place is largely determined by the task, the situation and the tools available. This paper discusses relations between grounding, collaboration and learning, drawing on research from two main areas: the Language Sciences and Cultural-Historical Activity Theory ("CHAT"). We build a unifying perspective of mutual understanding mediated by material and semiotic tools that can be used for analysis as well as for design of collaborative learning tasks, especially those that are carried out via computer-mediated communication. We illustrate the perspective with reference to a particular computermediated collaborative learning situation in the domain of physics. 1. Introduction Collaborative learning is a complex phenomenon that c...
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.
The Cognitive Ergonomics of Knowledge-Based Design Support Systems
- Human Factors in Computing Systems (CHI '97
, 1997
"... Critiquing systems are a type of active, knowledge-based design support system. They propose to positively influence designers' cognitive processes by pointing out potential problems and contentious issues while designers work. To investigate the effects such systems have on the activities of profes ..."
Abstract
-
Cited by 31 (7 self)
- Add to MetaCart
Critiquing systems are a type of active, knowledge-based design support system. They propose to positively influence designers' cognitive processes by pointing out potential problems and contentious issues while designers work. To investigate the effects such systems have on the activities of professional designers, a design environment containing a critiquing system was designed, built, and evaluated for a specific area: phone-based interface design. Four professional designers were observed using the environment to solve realistic design tasks. Our protocol analyses indicate that such systems do influence the behaviour of designers, but often indirectly. Designers were observed anticipating the activity of the system and taking preventative steps to avoid it. Differential effects depending on the designers' level of domain experience were also observed. Overall, the system was better suited to the needs of highly experienced designers. Keywords : Critiquing Systems, Cognitive Ergono...
Interpretation in Design: The Problem Of Tacit And Explicit . . .
, 1993
"... This work analyzes the central role of interpretation in non-routine design. Based on this analysis, a theory of computer support for interpretation in cooperative design is constructed. The theory is grounded in studies of design and interpretation. It is illustrated by mechanisms provided by a sof ..."
Abstract
-
Cited by 27 (13 self)
- Add to MetaCart
This work analyzes the central role of interpretation in non-routine design. Based on this analysis, a theory of computer support for interpretation in cooperative design is constructed. The theory is grounded in studies of design and interpretation. It is illustrated by mechanisms provided by a software substrate for computer-based design environments, applied to a sample task of lunar habitat design. Computer support of
Increasing interactivity in lectures using an electronic voting system
"... Increasing interactivity in lectures using an ..."
Asking and answering questions during a programming change task
- In Transactions on Software Engineering (TSE
, 2008
"... Despite significant existing empirical work, little is known about the specific kinds of questions programmers ask when evolving a code base. Understanding precisely what information a programmer needs about the code base as they work is key to determining how to better support the activity of progr ..."
Abstract
-
Cited by 20 (2 self)
- Add to MetaCart
Despite significant existing empirical work, little is known about the specific kinds of questions programmers ask when evolving a code base. Understanding precisely what information a programmer needs about the code base as they work is key to determining how to better support the activity of programming. The goal of this research is to provide an empirical foundation for tool design based on an exploration of what programmers need to understand about a code base and of how they use tools to discover that information. To this end, we undertook two qualitative studies of programmers performing change tasks to medium to large sized programs. One study involved newcomers working on assigned change tasks to a mediumsized code base. The other study involved industrial programmers working on their own change tasks to code with which they had experience. The focus of our analysis has been on what information a programmer needs to know about a code base while performing a change task and also on how they go about discovering that information. Based on a systematic analysis of the data from these user studies as well as an analysis of the support that current programming tools provide for these activities, this research makes four key contributions: (1) a catalog of 44 types of questions programmers ask, (2) a categorization of those questions into four categories based on the kind and scope of information needed to answer a question, (3) a description of important context for the process of answering questions, and (4) a description of support that is missing from current programming tools.
The misunderstood limits of folk science: an illusion of explanatory depth
- Cognitive Science
, 2002
"... People feel they understand complex phenomena with far greater precision, coherence, and depth than they really do; they are subject to an illusion—an illusion of explanatory depth. The illusion is far stronger for explanatory knowledge than many other kinds of knowledge, such as that for facts, pro ..."
Abstract
-
Cited by 18 (1 self)
- Add to MetaCart
People feel they understand complex phenomena with far greater precision, coherence, and depth than they really do; they are subject to an illusion—an illusion of explanatory depth. The illusion is far stronger for explanatory knowledge than many other kinds of knowledge, such as that for facts, procedures or narratives. The illusion for explanatory knowledge is most robust where the environment supports real-time explanations with visible mechanisms. We demonstrate the illusion of depth with explanatory knowledge in Studies 1–6. Then we show differences in overconfidence about knowledge across different knowledge domains in Studies 7–10. Finally, we explore the mechanisms behind the initial confidence and behind overconfidence in Studies 11 and 12, and discuss the implications of our findings for the roles of intuitive theories in concepts and cognition.
Toward Empirically-Based Software Visualization Languages
- IN: PROCEEDINGS OF THE 11TH IEEE SYMPOSIUM ON VISUAL LANGUAGES IEEE COMPUTER SOCIETY PRESS, LOS ALAMITOS, CA
, 1995
"... Single-user software visualization (SV) systems purport to empower people without expertise in graphics programming to develop their own visualizations interactively, and within minutes. Underlying any single-user SV system is a visualization language onto which its users must map the computations t ..."
Abstract
-
Cited by 16 (8 self)
- Add to MetaCart
Single-user software visualization (SV) systems purport to empower people without expertise in graphics programming to develop their own visualizations interactively, and within minutes. Underlying any single-user SV system is a visualization language onto which its users must map the computations they would like to visualize with the system. We hypothesize that the usability of such systems turns on their ability to provide an underlying visualization language that accords with the ways in which their users conceptualize the computations to be visualized. To explore the question of how to design visualization languages grounded in human conceptualization, we present an empirical study that made use of a research method called visualization storyboarding to investigate the human conceptualization of the bubblesort algorithm. Using an analytical framework based on entities, attributes, and transformations, we derive a semantic -level visualization language for bubblesort, in terms of which all visualizations observed in our study can be expressed. Our empirically-based visualization language provides a framework for predicting the usability of the visualization language defined by Lens [11,12], a prototypical single-user SV system. We draw from a follow-up usability study of Lens to substantiate our predictions.

