Design patterns are solutions to recurring design problems, conceived to increase benefits in terms of reuse, code quality and, above all, maintainability and resilience to change...
Lerina Aversano, Gerardo Canfora, Luigi Cerulo, Co...
Aspects are defined as well-modularized crosscutting concerns. Despite being a core tenet of Aspect Oriented Programming, little research has been done in characterizing and measur...
Literature on the topic of code cloning often asserts that duplicating code within a software system is a bad practice, that it causes harm to the system's design and should b...
During software evolution, programmers spend a lot of time and effort in the comprehension of the internal code structure. Such an activity is often required because the available...
Concept location is a critical activity during software evolution as it produces the location where a change is to start in response to a modification request, such as, a bug repo...
Gregory Gay, Sonia Haiduc, Andrian Marcus, Tim Men...