As systems evolve, they become harder to understand because the implementation of concepts (e.g. business rules) becomes less coherent. To preserve source code comprehensibility, ...
Avoiding architectural erosion helps extend the lifetime of an evolving software system. Erosion can be reduced by ensuring that (i) developers share a good understanding of a sys...
Ciaran O'Reilly, Philip J. Morrow, David W. Bustar...
Evaluating the design of a distributed application is di cult but provides useful information for program development and maintenance. In distributed debugging, for example, proce...
A code clone represents a sequence of statements that are duplicated in multiple locations of a program. Clones often arise in source code as a result of multiple cut/paste operat...
During the development and maintenance of ObjectOriented (OO) software, the information on the classes which are more prone to be changed is very useful. Developers and maintainer...