Cognitive processes in program comprehension
Papers presented at the first workshop on empirical studies of programmers on Empirical studies of programmers
Mental models and software maintenance
Papers presented at the first workshop on empirical studies of programmers on Empirical studies of programmers
Expert problem solving strategies for program comprehension
CHI '91 Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Pair Programming Illuminated
Concern graphs: finding and describing concerns using structural program dependencies
Proceedings of the 24th International Conference on Software Engineering
Hipikat: recommending pertinent software development artifacts
Proceedings of the 25th International Conference on Software Engineering
The Role of Concepts in Program Comprehension
IWPC '02 Proceedings of the 10th International Workshop on Program Comprehension
Observing and Measuring Cognitive Support: Steps Toward Systematic Tool Evaluation and Engineering
IWPC '03 Proceedings of the 11th IEEE International Workshop on Program Comprehension
Customizing lotus notes to build software engineering tools
CASCON '03 Proceedings of the 2003 conference of the Centre for Advanced Studies on Collaborative research
"Constant, constant, multi-tasking craziness": managing multiple working spheres
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Theories, Methods and Tools in Program Comprehension: Past, Present and Future
IWPC '05 Proceedings of the 13th International Workshop on Program Comprehension
NavTracks: Supporting Navigation in Software Maintenance
ICSM '05 Proceedings of the 21st IEEE International Conference on Software Maintenance
ConcernMapper: simple view-based separation of scattered concerns
eclipse '05 Proceedings of the 2005 OOPSLA workshop on Eclipse technology eXchange
Waypointing and social tagging to support program navigation
CHI '06 Extended Abstracts on Human Factors in Computing Systems
Hi-index | 0.00 |
Many software maintenance and enhancement tasks require considerable developer knowledge and experience in order to be efficiently completed on today's large and complex systems. Preserving explicit forms of documentation that are accessible by large development teams with regular developer turnover is a difficult problem. This problem can result in temporal and spatial miscommunication, an easily lost cognitive work context, and largely unmaintainable software. The research described in this paper hypothesizes that the problem may be addressed by a semi-structured goal-question-evidence methodology for program comprehension that has three primary aspects. First, a redocumentation system should function in parallel with the development process by integrating into the user's usual tool environment and development workflow. Second, knowledge should be dispersed throughout a development team as soon as it is discovered so that comprehension is not merely confined to the mind of one individual. Finally, the developer should be made peripherally aware of their work objectives and the surrounding collaborative environment, reducing time spent on task reorientation, context reconstruction, and duplicative work. We present an observational study conducted on pair program comprehension and use the analyzed results to drive the formation of tool requirements for a collaborative comprehension tool. A prototype tool has been developed, showing promise for the methodology.