Code completion is a widely used productivity tool. It takes away the burden of remembering and typing the exact names of methods or classes: As a developer starts typing a name, ...
Aspect mining identifies cross-cutting concerns in a program to help migrating it to an aspect-oriented design. Such concerns may not exist from the beginning, but emerge over ti...
We analyze the version history of 7 software systems to predict the most fault prone entities and files. The basic assumption is that faults do not occur in isolation, but rather ...
Sunghun Kim, Thomas Zimmermann, E. James Whitehead...
During software maintenance tasks, developers often spend an important amount of effort investigating source code. This effort can be reduced if tools are available to help develo...
As a more diverse population of users moves online, understanding how to help those groups work together and leverage their diverse skills poses a significant challenge for human-...