As a software system evolves to accommodate new features and repair bugs, changes are needed. Software components are interdependent, changes made to one component can require cha...
Creating and maintaining software systems is a knowledge intensive task. One needs to have a good understanding of the application domain, the problem to solve and all its require...
A long-standing goal of software engineering is to construct software that is easily modified and extended. Recent advances in software design techniques, such as aspect-oriented ...
Distribution of effort in software engineering process has been the basis for facilitating more reasonable software project planning. This paper reports empirical results on activ...
The conceptual structure of existing software systems is often implicit or non-existing in the source code. We prolightweight abstraction of intentional source-code views as a mea...