Models and theories of programming strategy
International Journal of Man-Machine Studies
The effects of naming style and expertise on program comprehension
International Journal of Human-Computer Studies
The mythical man-month (anniversary ed.)
The mythical man-month (anniversary ed.)
The reuse of uses in Smalltalk programming
ACM Transactions on Computer-Human Interaction (TOCHI)
Programming on an already full brain
Communications of the ACM
International Journal of Human-Computer Studies
Leveraging Legacy System Dollars for E-Business
IT Professional
Precise dynamic slicing algorithms
Proceedings of the 25th International Conference on Software Engineering
Design Pattern Recovery in Object-Oriented Software
IWPC '98 Proceedings of the 6th International Workshop on Program Comprehension
Simple and Efficient Relational Querying of Software Structures
WCRE '03 Proceedings of the 10th Working Conference on Reverse Engineering
"Constant, constant, multi-tasking craziness": managing multiple working spheres
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Designing the whyline: a debugging interface for asking questions about program behavior
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
A framework and methodology for studying the causes of software errors in programming systems
Journal of Visual Languages and Computing
Design requirements for more flexible structured editors from a study of programmers' text editing
CHI '05 Extended Abstracts on Human Factors in Computing Systems
Citrus: a language and toolkit for simplifying the creation of structured editors for code and data
Proceedings of the 18th annual ACM symposium on User interface software and technology
Fewer clicks and less frustration: reducing the cost of reaching the right folder
Proceedings of the 11th international conference on Intelligent user interfaces
Relo: helping users manage context during interactive exploratory visualization of large codebases
eclipse '05 Proceedings of the 2005 OOPSLA workshop on Eclipse technology eXchange
Towards supporting on-demand virtual remodularization using program graphs
Proceedings of the 5th international conference on Aspect-oriented software development
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Debugging by asking questions about program output
Proceedings of the 28th international conference on Software engineering
Methods and tools for exploring novice compilation behaviour
Proceedings of the second international workshop on Computing education research
How Are Java Software Developers Using the Eclipse IDE?
IEEE Software
Questions programmers ask during software evolution tasks
Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
Let's go to the whiteboard: how and why software developers use drawings
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Simplifying cyber foraging for mobile devices
Proceedings of the 5th international conference on Mobile systems, applications and services
The SEXTANT Software Exploration Tool
IEEE Transactions on Software Engineering
Student Proof Exercises Using MathsTiles and Isabelle/HOL in an Intelligent Book
Journal of Automated Reasoning
A Type System Based on End-User Vocabulary
VLHCC '07 Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing
Exploring the neighborhood with dora to expedite software maintenance
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
Software Engineering Using RATionale
Journal of Systems and Software
Investigating statistical machine learning as a tool for software development
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Using information scent to model the dynamic foraging behavior of programmers in maintenance tasks
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
A study of student strategies for the corrective maintenance of concurrent software
Proceedings of the 30th international conference on Software engineering
Creating a cognitive metric of programming task difficulty
Proceedings of the 2008 international workshop on Cooperative and human aspects of software engineering
A sketch of the programmer's coach: making programmers more effective
Proceedings of the 2008 international workshop on Cooperative and human aspects of software engineering
Developing natural language-based program analyses and tools to expedite software maintenance
Companion of the 30th international conference on Software engineering
Change-Enabled Software Systems
Software-Intensive Systems and New Computing Paradigms
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Improving API documentation usability with knowledge pushing
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Listening to programmers Taxonomies and characteristics of comments in operating system code
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Codetrail: Connecting source code and web resources
Journal of Visual Languages and Computing
Co-evolving code and design with intensional views
Computer Languages, Systems and Structures
Exploring the design space of proactive tool support for copy-and-paste programming
CASCON '09 Proceedings of the 2009 Conference of the Center for Advanced Studies on Collaborative Research
Evaluating cues for resuming interrupted programming tasks
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Interaction and visualization techniques for programming
INTERACT'07 Proceedings of the 11th IFIP TC 13 international conference on Human-computer interaction - Volume Part II
Developers ask reachability questions
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
Piles, tabs and overlaps in navigation among documents
Proceedings of the 6th Nordic Conference on Human-Computer Interaction: Extending Boundaries
Human-centric software engineering
Proceedings of the FSE/SDP workshop on Future of software engineering research
FolderPredictor: Reducing the cost of reaching the right folder
ACM Transactions on Intelligent Systems and Technology (TIST)
Improving program navigation with an active help system
Proceedings of the 2010 Conference of the Center for Advanced Studies on Collaborative Research
Resumption strategies for interrupted programming tasks
Software Quality Control
A controlled experiment in assessing and estimating software maintenance tasks
Information and Software Technology
Digitally annexing desk space for software development (NIER track)
Proceedings of the 33rd International Conference on Software Engineering
Capturing and analyzing low-level events from the code editor
Proceedings of the 3rd ACM SIGPLAN workshop on Evaluation and usability of programming languages and tools
Using metaphors from natural discussion to improve the design of arcum
Proceedings of the 3rd ACM SIGPLAN workshop on Evaluation and usability of programming languages and tools
Designing useful tools for developers
Proceedings of the 3rd ACM SIGPLAN workshop on Evaluation and usability of programming languages and tools
Dimensions of Concern: A Method to Use Cognitive Dimensions to Evaluate Interfaces
ACM Transactions on Computer-Human Interaction (TOCHI)
RefactorPad: editing source code on touchscreens
Proceedings of the 5th ACM SIGCHI symposium on Engineering interactive computing systems
Hi-index | 0.00 |
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.