Software maintenance tasks typically involve an important amount of program investigation effort on the part of software developers. To what extent can we benefit from prior prog...
Reusing syntax specifications without embedded arbitrary semantic actions is straightforward because the semantic analysis phases of new applications can feed off trees or other ...
Modern software systems are typically large and complex, making comprehension of these systems extremely difficult. Experienced programmers comprehend code by seamlessly processi...
Giriprasad Sridhara, Emily Hill, Lori L. Pollock, ...
Developers rely on the mechanisms provided by their IDE to browse and navigate a large software system. These mechanisms are usually based purely on a system’s static source cod...
Over the last decade many techniques for software clone detection have been proposed. In this paper, we provide a comprehensive survey of the capabilities of currently available c...
As libraries are the most widespread form of software reuse, the usability of their APIs substantially influences the productivity of programmers in all software development phas...