The change history of a software project contains a rich collection of code changes that record previous development experience. Changes that fix bugs are especially interesting, ...
Software systems of today are frequently composed from prefabricated, heterogeneous components that provide complex functionality and engage in complex interactions. Existing rese...
The use of pointers presents serious problems for software productivity tools for software understanding, restructuring, and testing. Pointers enable indirect memory accesses thro...
With the ongoing trend towards the globalization of software systems and their development, components in these systems might not only work together, but may end up evolving indep...
A large software project may be distributed over multiple sites when the organization believes that there are not enough people to staff a single collocated team. However, previou...