The paper describes the process of program comprehension from the point of view of constructivist theory of learning. According to this view, program comprehension starts with the...
Program comprehension is an important part of software maintenance, especially when program structure is complex and documentation is unavailable or outdated. Data mining can prod...
Traditional approaches for program comprehension use static program analysis or dynamic program analysis in the form of execution traces. Our approach, however, makes use of runti...
Thomas Gschwind, Johann Oberleitner, Martin Pinzge...
A context-sensitive analysis is an analysis in which program elements are assigned sets of properties that depend upon the context in which they occur. For analyses on imperative ...
Understanding and maintenance of complex information spaces is often supported through visual interfaces. These interfaces must be highly flexible in order to adapt to both the u...
Large software projects often require a programmer to make changes to unfamiliar source code. This paper describes a set of tools, called Team Tracks, designed to ease program com...
Robert DeLine, Mary Czerwinski, George G. Robertso...
Program comprehension research can be characterized by both the theories that provide rich explanations about how programmers comprehend software, as well as the tools that are us...
Previous studies have shown that novices do not tend to extract or use data-flow information during program comprehension. However, for impact analysis and similar tasks, data-ï¬...
Well-designed object-oriented programs typically consist of a few key classes that work tightly together to provide the bulk of the functionality. As such, these key classes are e...
Andy Zaidman, Toon Calders, Serge Demeyer, Jan Par...
Software maintenance and evolution can be made easier if program comprehension techniques are used. Understanding a software system would typically necessitate a combination of st...