SUITE '09 Proceedings of the 2009 ICSE Workshop on Search-Driven Development-Users, Infrastructure, Tools and Evaluation
Extraction and visualization of traceability relationships between documents and source code
Proceedings of the IEEE/ACM international conference on Automated software engineering
Human-centric software engineering
Proceedings of the FSE/SDP workshop on Future of software engineering research
An introduction to program comprehension for computer science educators
Proceedings of the 2010 ITiCSE working group reports
A bottom-up approach to understand functional programs
Proceedings of The Fourth International C* Conference on Computer Science and Software Engineering
Proceedings of the 12th Koli Calling International Conference on Computing Education Research
Information and Software Technology
Extracting UML class diagrams from object-oriented Fortran: ForUML
SE-HPCCSE '13 Proceedings of the 1st International Workshop on Software Engineering for High Performance Computing in Computational Science and Engineering
The DynaRIA tool for the comprehension of Ajax web applications by dynamic analysis
Innovations in Systems and Software Engineering
Hi-index | 0.00 |
Program comprehension research can be characterized by both the theories that provide rich explanations about how programmers understand software, as well as the tools that are used to assist in comprehension tasks. In this paper, I review some of the key cognitive theories of program comprehension that have emerged over the past thirty years. Using these theories as a canvas, I then explore how tools that are commonly used today have evolved to support program comprehension. Specifically, I discuss how the theories and tools are related and reflect on the research methods that were used to construct the theories and evaluate the tools. The reviewed theories and tools are distinguished according to human characteristics, program characteristics, and the context for the various comprehension tasks. Finally, I predict how these characteristics will change in the future and speculate on how a number of important research directions could lead to improvements in program comprehension tool development and research methods.