Software evolution is an inevitable process when developing a system of any notable size and is the most costly stage in the life cycle of a system. Automating parts of this proces...
Aspect oriented programming has been proposed as a way to improve modularity of software systems by allowing encapsulation of cross-cutting concerns. To do so, aspects specify whe...
One of the issues in software evolution is debugging. Debugging large and complex software systems evolved requires a lot of effort since it is very difficult to localize and ide...
Software product line engineering aims at producing functionally similar software systems as a family of products. In this process, the development life cycle has been shifted from...
A 1968 study of the software process led, inter alia, to the observation that the software process constitutes a feedback system. Attempts at its management and improvement must t...