Results 1 - 10
of
15
Eliciting Design Requirements for Maintenance-Oriented IDEs: A Detailed Study of Corrective and Perfective Maintenance Tasks
- Proceeding of the 27th International Conference on Software Engineering (ICSE). To Appear
, 2005
"... Recently, several innovative tools have found their way into mainstream use in modern development environments. However, most of these tools have focused on creating and modifying code, despite evidence that most of programmers' time is spent understanding code as part of maintenance tasks. If new t ..."
Abstract
-
Cited by 67 (13 self)
- Add to MetaCart
Recently, several innovative tools have found their way into mainstream use in modern development environments. However, most of these tools have focused on creating and modifying code, despite evidence that most of programmers' time is spent understanding code as part of maintenance tasks. If new tools were designed to directly support these maintenance tasks, what types would be most helpful? To find out, a study of expert Java programmers using Eclipse was performed. The study suggests that maintenance work consists of three activities: (1) forming a working set of task-relevant code fragments; (2) navigating the dependencies within this working set; and (3) repairing or creating the necessary code. The study identified several trends in these activities, as well as many opportunities for new tools that could save programmers up to 35% of the time they currently spend on maintenance tasks.
How Effective Developers Investigate Source Code: An Exploratory Study
- IEEE Transactions on Software Engineering
, 2004
"... ©2004 IEEE. Personal use of this material is permitted. However, permission to reprint/republish this material for advertising or promotional purposes or for creating new collective works for resale or redistribution to servers or lists, or to reuse any copyrighted component of this work in other wo ..."
Abstract
-
Cited by 60 (11 self)
- Add to MetaCart
©2004 IEEE. Personal use of this material is permitted. However, permission to reprint/republish this material for advertising or promotional purposes or for creating new collective works for resale or redistribution to servers or lists, or to reuse any copyrighted component of this work in other works must be obtained from the IEEE.
An Exploratory Study of How Developers Seek, Relate, and Collect Relevant Information during Software Maintenance Tasks
- IEEE TRANSACTIONS ON SOFTWARE ENGINEERING
, 2006
"... Much of software developers’ time is spent understanding unfamiliar code. To better understand how developers gain this understanding and how software development environments might be involved, a study was performed in which developers were given an unfamiliar program and asked to work on two debug ..."
Abstract
-
Cited by 44 (12 self)
- Add to MetaCart
Much of software developers’ time is spent understanding unfamiliar code. To better understand how developers gain this understanding and how software development environments might be involved, a study was performed in which developers were given an unfamiliar program and asked to work on two debugging tasks and three enhancement tasks for 70 minutes. The study found that developers interleaved three activities. They began by searching for relevant code both manually and using search tools; however, they based their searches on limited and misrepresentative cues in the code, environment, and executing program, often leading to failed searches. When developers found relevant code, they followed its incoming and outgoing dependencies, often returning to it and navigating its other dependencies; while doing so, however, Eclipse’s navigational tools caused significant overhead. Developers collected code and other information that they believed would be necessary to edit, duplicate, or otherwise refer to later by encoding it in the interactive state of Eclipse’s package explorer, file tabs, and scroll bars. However, developers lost track of relevant code as these interfaces were used for other tasks, and developers were forced to find it again. These issues caused developers to spend, on average, 35 percent of their time performing the mechanics of navigation within and between source files. These observations suggest a new model of program understanding grounded in theories of information foraging and suggest ideas for tools that help developers seek, relate, and collect information in a more effective and explicit manner.
Individual Differences in Program Comprehension Strategies in an Unfamiliar Programming System
- at International Workshop on Program Comprehension
, 2003
"... This study examines the effect of individual differences on the program comprehension strategies of users working with an unfamiliar programming system. Participants of varying programming expertise were given a battery of psychological tests, a brief introduction to a statistical programming enviro ..."
Abstract
-
Cited by 3 (1 self)
- Add to MetaCart
This study examines the effect of individual differences on the program comprehension strategies of users working with an unfamiliar programming system. Participants of varying programming expertise were given a battery of psychological tests, a brief introduction to a statistical programming environment, and a 20-minute debugging task. Our data show three distinct comprehension strategies that were related to programming experience, but individuals with stronger domain knowledge for specific bugs tended to succeed. 1.
Studying Development and Debugging to Help Create a Better Programming Environment
- For the: CHI 2003 Workshop on Perspectives in End User Development
, 2003
"... The event-based style is increasingly common in modern end-user programming languages. Visual Basic, Macromedia’s Director, web scripting languages, as well as many recent novice-geared research prototypes such as ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
The event-based style is increasingly common in modern end-user programming languages. Visual Basic, Macromedia’s Director, web scripting languages, as well as many recent novice-geared research prototypes such as
A Wittgenstein approach to the learning of OO modelling
- Computer Science Education
, 2004
"... The paper uses Ludwig Wittgenstein’s theories about the relationship between thought, language, and objects of the world to explore the assumption that OO-thinking resembles natural thinking. The paper imports from research in linguistic philosophy to computer science education research. I show how ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
The paper uses Ludwig Wittgenstein’s theories about the relationship between thought, language, and objects of the world to explore the assumption that OO-thinking resembles natural thinking. The paper imports from research in linguistic philosophy to computer science education research. I show how UML class diagrams (i.e., an artificial context-free language) correspond to the logically perfect languages described in Tractatus Logico-Philosophicus. In Philosophical Investigations Wittgenstein disputes his previous theories by showing that natural languages are not constructed by rules of mathematical logic, but are language games where the meaning of a word is constructed through its use in social contexts. Contradicting the claim that OO-thinking is easy to learn because of its similarity to natural thinking, I claim that OO-thinking is difficult to learn because of its differences from natural thinking. The nature of these differences is not currently well known or appreciated. I suggest how explicit attention to the nature and implications of different language games may improve the teaching and learning of OO-modeling as well as programming. 1.
Metaphors of Human Thinking in HCI: Habit, Stream of Thought, Awareness, Utterance, and Knowing
- In Proceedings of HF2002/OzCHI 2002
, 2002
"... Understanding human thinking is crucial in the design and evaluation of human-computer interaction. Inspired by introspective psychology, we present five metaphors of human thinking. The aim of the metaphors is to help designers to consider important traits of human thinking when designing. The meta ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
Understanding human thinking is crucial in the design and evaluation of human-computer interaction. Inspired by introspective psychology, we present five metaphors of human thinking. The aim of the metaphors is to help designers to consider important traits of human thinking when designing. The metaphors capture aspects of human thinking virtually absent in recent years of HCI literature. As an example of the utility of the metaphors, we show how a selection of good and poor user interfaces can be appreciated in terms of the metaphors. The metaphors are also used to reinterpret central notions in human-computer interaction, such as consistency and information scent, in terms of human thinking. Further, we suggest the metaphors be used for evaluating interfaces. 1.
AIDES EN LIGNE A L’UTILISATION DE LOGICIELS GRAND PUBLIC: PROBLEMES SPECIFIQUES DE CONCEPTION ET SOLUTIONS POTENTIELLES
"... l'utilisation des logiciels grand public sont rarement consultées par les utilisateurs novices. Pourtant, si les recherches sur l'aide en ligne suscitent moins d'intérêt depuis quelques années, les systèmes d'aide à l'utilisation des logiciels grand public commercialisés ont évolué considérablement ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
l'utilisation des logiciels grand public sont rarement consultées par les utilisateurs novices. Pourtant, si les recherches sur l'aide en ligne suscitent moins d'intérêt depuis quelques années, les systèmes d'aide à l'utilisation des logiciels grand public commercialisés ont évolué considérablement au cours des vingt dernières années. Ce chapitre prend d'abord position en faveur de la nécessité d'une assistance en ligne à l'utilisation d'un nouveau logiciel, dans le débat de fond qui divise la communauté scientifique en interaction homme-machine sur la question fondamentale suivante: les aides en ligne sontelles un pis-aller, un simple remède aux défauts actuels de conception des logiciels et des interfaces utilisateur, ou bien sont-elles une assistance d'une nécessité absolue pour acquérir la maîtrise de l'utilisation d'un nouveau logiciel? La discussion s'appuie à la fois sur les résultats d'études empiriques ou expérimentales et sur des arguments théoriques. La seconde partie analyse les obstacles et les difficultés spécifiques auxquels se heurte la conception d'aides en ligne à l'intention du grand public, afin de comprendre pourquoi les aides en ligne sont ignorées des utilisateurs en dépit de leur nécessité. Dans la dernière partie, les contributions potentielles de diverses approches à la résolution de
Acknowledgements
, 2004
"... First and foremost I would like to thank my advisor, Alex Kirlik. As this project has traveled through numerous literatures and tried to find a balance between cognitive psychology and software engineering, he has really helped to get to the bottom of what matters and is important. He has always had ..."
Abstract
- Add to MetaCart
First and foremost I would like to thank my advisor, Alex Kirlik. As this project has traveled through numerous literatures and tried to find a balance between cognitive psychology and software engineering, he has really helped to get to the bottom of what matters and is important. He has always had something useful to provide despite not having a background in software engineering or the psychology of programming, and his perspectives have shaped this project. I would like to thank Ralph Johnson for providing advice and suggestions and for inspiring me to be interested in software design and the topic of this thesis. I would like to thank my roommates for helping me practice presentations, proof materials, figure out statistics, and whatever else I needed help with at a moments notice. I would like to thank my all of my friends who were willing to be participants, especially the two willing to be unpaid pilot participants. I would like to thank Susan Garnsey for teaching me what a research life is like and for always having something kind, understanding, and constructive to say no matter what the situation. I would like to Colleen Conley for having a handout for every question and all of the psych honors students for being good comrades. And finally I would like to thank my parents for always being supportive of everything I do.
Usability of Information Visualization: Reading and Interaction Processes
, 2001
"... The usability of information visualizations is investigated in empirical studies of information retrieval, map navigation, and reading of electronic documents. Overall, subjects prefer using interfaces with overviews. However, analysis of the interaction processes show that subjects use mental and m ..."
Abstract
- Add to MetaCart
The usability of information visualizations is investigated in empirical studies of information retrieval, map navigation, and reading of electronic documents. Overall, subjects prefer using interfaces with overviews. However, analysis of the interaction processes show that subjects use mental and motor effort in switching to the overviews and that the overview occasionally distract the subjects. For some tasks, subjects using the overview are therefore slower. Zoomable user interfaces are faster than interfaces with overviews when subjects navigate on maps organized in multiple levels. We argue that reading of electronic documents is crucial for information access and use, and therefore aim at supporting that activity. An overview+detail interface for electronic documents improves the quality of essays that subjects write. Through visualizations of reading processes we describe how reading progresses and what parts of the documents subjects attend to. Subjects use an overview-oriented reading style to read electronic documents presented by a fisheye interface. Sections that the fisheye algorithm treats as unimportant are visible for a shorter time than in the other interfaces, although subjects

