Cognitive processes in program comprehension
Papers presented at the first workshop on empirical studies of programmers on Empirical studies of programmers
Cognitive processes in program comprehension
Journal of Systems and Software
Preserving knowledge in design projects: what designers need to know
INTERCHI '93 Proceedings of the INTERCHI '93 conference on Human factors in computing systems
Cognitive design elements to support the construction of a mental model during software exploration
Journal of Systems and Software
How do program understanding tools affect how programmers understand programs?
Science of Computer Programming - Special issue on WCRE 97
Interactive Explanation of Software Systems
Automated Software Engineering
Strengthening the Case for Pair Programming
IEEE Software
Task Oriented Software Understanding
ASE '98 Proceedings of the 13th IEEE international conference on Automated software engineering
Interactive explanation of software systems
KBSE '95 Proceedings of The 10th Knowledge-Based Software Engineering Conference
Early field experience with the Software Reconnaissance technique for program comprehension
WCRE '96 Proceedings of the 3rd Working Conference on Reverse Engineering (WCRE '96)
Partial Comprehension of Complex Programs (enough to perform maintenance)
IWPC '98 Proceedings of the 6th International Workshop on Program Comprehension
How Effective Developers Investigate Source Code: An Exploratory Study
IEEE Transactions on Software Engineering
Towards understanding programs through wear-based filtering
SoftVis '05 Proceedings of the 2005 ACM symposium on Software visualization
Proceedings of the 27th international conference on Software engineering
Editorial: For the Special issue on Qualitative Software Engineering Research
Information and Software Technology
Information Needs in Collocated Software Development Teams
ICSE '07 Proceedings of the 29th international conference on Software Engineering
PASTE '07 Proceedings of the 7th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Architecture and Design Intent: An Experience Report
SHARK-ADI '07 Proceedings of the Second Workshop on SHAring and Reusing architectural Knowledge Architecture, Rationale, and Design Intent
Recovering and using use-case-diagram-to-source-code traceability links
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Toward a task model of concurrent software maintenance
Proceedings of the 1st ACM international workshop on Empirical assessment of software engineering languages and technologies: held in conjunction with the 22nd IEEE/ACM International Conference on Automated Software Engineering (ASE) 2007
Answering conceptual queries with Ferret
Proceedings of the 30th international conference on Software engineering
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
Answering common questions about code
Companion of the 30th international conference on Software engineering
Deep intellisense: a tool for rehydrating evaporated information
Proceedings of the 2008 international working conference on Mining software repositories
More natural end-user software engineering
Proceedings of the 4th international workshop on End-user software engineering
Answering control flow questions about code
Companion to the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
Finding causes of program output with the Java Whyline
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
SUITE '09 Proceedings of the 2009 ICSE Workshop on Search-Driven Development-Users, Infrastructure, Tools and Evaluation
Darwin: an approach for debugging evolving programs
Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Information needs in bug reports: improving cooperation between developers and users
Proceedings of the 2010 ACM conference on Computer supported cooperative work
Patterns for understanding frameworks
Proceedings of the 15th Conference on Pattern Languages of Programs
Recommending change clusters to support software investigation: an empirical study
Journal of Software Maintenance and Evolution: Research and Practice - Working Conference on Reverse Engineering (WCRE 2008)
Supporting developers with natural language queries
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
Using information fragments to answer the questions developers ask
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
Enhancing static source code search with dynamic data
Proceedings of 2010 ICSE Workshop on Search-driven Development: Users, Infrastructure, Tools and Evaluation
Code canvas: zooming towards better development environments
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2
SOFAS: software analysis services
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2
Replaying past changes in multi-developer projects
Proceedings of the Joint ERCIM Workshop on Software Evolution (EVOL) and International Workshop on Principles of Software Evolution (IWPSE)
Analytics for software development
Proceedings of the FSE/SDP workshop on Future of software engineering research
Supporting software history exploration
Proceedings of the 8th Working Conference on Mining Software Repositories
Portfolio: finding relevant functions and their usage
Proceedings of the 33rd International Conference on Software Engineering
Identifying program, test, and environmental changes that affect behaviour
Proceedings of the 33rd International Conference on Software Engineering
Software systems as cities: a controlled experiment
Proceedings of the 33rd International Conference on Software Engineering
How do programmers ask and answer questions on the web? (NIER track)
Proceedings of the 33rd International Conference on Software Engineering
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
Querying source code with natural language
ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering
Mendel: Source code recommendation based on a genetic metaphor
ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
DARWIN: An approach to debugging evolving programs
ACM Transactions on Software Engineering and Methodology (TOSEM)
Analyzing and mining a code search engine usage log
Empirical Software Engineering
A human study of patch maintainability
Proceedings of the 2012 International Symposium on Software Testing and Analysis
How do professional developers comprehend software?
Proceedings of the 34th International Conference on Software Engineering
Proceedings of the 34th International Conference on Software Engineering
Information needs for software development analytics
Proceedings of the 34th International Conference on Software Engineering
Facilitating communication between engineers with CARES
Proceedings of the 34th International Conference on Software Engineering
Understanding Ajax applications by connecting client and server-side execution traces
Empirical Software Engineering
Answering software evolution questions: An empirical evaluation
Information and Software Technology
The whats and hows of programmers' foraging diets
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Automatic patch generation learned from human-written patches
Proceedings of the 2013 International Conference on Software Engineering
Fostering software quality assessment
Proceedings of the 2013 International Conference on Software Engineering
Categorizing developer information needs in software ecosystems
Proceedings of the 2013 International Workshop on Ecosystem Architectures
Evaluating a query framework for software evolution data
ACM Transactions on Software Engineering and Methodology (TOSEM) - Testing, debugging, and error handling, formal methods, lifecycle concerns, evolution and maintenance
Assisting comprehension of animation programs through interactive code visualization
Journal of Visual Languages and Computing
Thematic review and analysis of grounded theory application in software engineering
Advances in Software Engineering
Topology analysis of software dependencies
ACM Transactions on Software Engineering and Methodology (TOSEM)
Hi-index | 0.00 |
Though many tools are available to help programmers working on change tasks, and several studies have been conducted to understand how programmers comprehend systems, little is known about the specific kinds of questions programmers ask when evolving a code base. To fill this gap we conducted 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 medium-sized code base. The other study involved industrial programmers working on their own change tasks on 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 howthey go about discovering that information. Based on this analysis we catalog and categorize 44 different kinds of questions asked by our participants. We also describe important context for how those questions were answered by our participants, including their use of tools.