Software is multidimensional but the tools that support it are not. The lack of tool support causes the software artifacts representing different dimensions to evolve independentl...
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...