Programmers use slices when debugging
Communications of the ACM
Software design---cognitive aspects
Software design---cognitive aspects
An examination of software engineering work practices
CASCON '97 Proceedings of the 1997 conference of the Centre for Advanced Studies on Collaborative research
Proceedings of the 27th international conference on Software engineering
Maintaining mental models: a study of developer work habits
Proceedings of the 28th international conference on Software engineering
IEEE Transactions on Software Engineering
Information Needs in Collocated Software Development Teams
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation
Does a programmer's activity indicate knowledge of code?
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Program comprehension as fact finding
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Building an Ecologically valid, Large-scale Diagram to Help Developers Stay Oriented in Their Code
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
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 Realistic Empirical Evaluation of the Costs and Benefits of UML in Software Maintenance
IEEE Transactions on Software Engineering
A survey and evaluation of tool features for understanding reverse-engineered sequence diagrams
Journal of Software Maintenance and Evolution: Research and Practice - Special Issue on Program Comprehension through Dynamic Analysis (PCODA)
Asking and Answering Questions during a Programming Change Task
IEEE Transactions on Software Engineering
Proceedings of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications
Proceedings of 2010 ICSE Workshop on Search-driven Development: Users, Infrastructure, Tools and Evaluation
On the importance of understanding the strategies that developers use
Proceedings of the 2010 ICSE Workshop on Cooperative and Human Aspects of Software Engineering
Hard-to-answer questions about code
Evaluation and Usability of Programming Languages and Tools
Searching, selecting, and synthesizing source code
Proceedings of the 33rd International Conference on Software Engineering
Finding relevant functions in millions of lines of code
Proceedings of the 33rd International Conference on Software Engineering
Stacksplorer: call graph navigation helps increasing code maintenance efficiency
Proceedings of the 24th annual ACM symposium on User interface software and technology
On the impact of feature dependencies when maintaining preprocessor-based software product lines
Proceedings of the 10th ACM international conference on Generative programming and component engineering
Designing useful tools for developers
Proceedings of the 3rd ACM SIGPLAN workshop on Evaluation and usability of programming languages and tools
Blaze: supporting two-phased call graph navigation in source code
CHI '12 Extended Abstracts on Human Factors in Computing Systems
Impact analysis for distributed event-based systems
Proceedings of the 6th ACM International Conference on Distributed Event-Based Systems
Proceedings of the 34th International Conference on Software Engineering
Proceedings of the ACM international symposium on New ideas, new paradigms, and reflections on programming and software
How do software engineers understand code changes?: an exploratory study in industry
Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering
An Information Foraging Theory Perspective on Tools for Debugging, Refactoring, and Reuse Tasks
ACM Transactions on Software Engineering and Methodology (TOSEM)
How tools in IDEs shape developers' navigation behavior
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Theseus: understanding asynchronous code
CHI '13 Extended Abstracts on Human Factors in Computing Systems
Query quality prediction and reformulation for source code search: the refoqus tool
Proceedings of the 2013 International Conference on Software Engineering
Identifying message flow in distributed event-based systems
Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering
Assisting comprehension of animation programs through interactive code visualization
Journal of Visual Languages and Computing
Hi-index | 0.00 |
A reachability question is a search across feasible paths through a program for target statements matching search criteria. In three separate studies, we found that reachability questions are common and often time consuming to answer. In the first study, we observed 13 developers in the lab and found that half of the bugs developers inserted were associated with reachability questions. In the second study, 460 professional software developers reported asking questions that may be answered using reachability questions more than 9 times a day, and 82% rated one or more as at least somewhat hard to answer. In the third study, we observed 17 developers in the field and found that 9 of the 10 longest activities were associated with reachability questions. These findings suggest that answering reachability questions is an important source of difficulty understanding large, complex codebases.