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 kn...
When software developers want to understand the reason for a program's behavior, they must translate their questions about the behavior into a series of questions about code,...
Identifiers represent an important source of information for programmers understanding and maintaining a system. Self-documenting identifiers reduce the time and effort necessa...
Keeping requirements specification up-to-date during the evolution of a software system is an expensive task. Consequently, specifications are usually not updated and rapidly beco...
The practice of software development can likely be improved if an externalized model of each programmer's knowledge of a particular code base is available. Some tools already...