Design patterns are applied in software development to decouple individual concerns, so that a change in a design decision is isolated to one location of the code base. However, m...
Abstract—Developers introduce novel and undocumented micro-architectures when performing evolution tasks on object-oriented applications. We are interested in understanding wheth...
Coping with huge amounts of data is one of the major problems in the context of software evolution. Current approaches reduce this complexity by filtering out irrelevant informatio...
One of the main promises of aspect-oriented programming (AOP) is to promote improved modularization of crosscutting concerns, thereby enhancing the software stability in the prese...
The design and implementation of complex software systems ly spans multiple levels of abstractions. The concepts of el of abstractions and their interplay are represented by forma...