As an object-oriented system evolves, its architecture tends to drift away from the original design. Knowledge of how the system has changed at coarse-grained levels is key to und...
Modern software has to evolve to meet the needs of stakeholders; but the nature and scope of this evolution is difficult to anticipate and manage. In this paper, we examine techn...
One of the important activities in re-engineering process is detecting design flaws. Such design flaws prevent an efficient maintenance, and further development of a system. Th...
The concept of a software product line is a promising approach for increasing planned reusability in industry. For planning future requirements, the integration of domain analysis ...
Abstract. The Unified Modeling Language (UML) favors the construction of models composed of several submodels, modeling the system comunder development at different levels of abs...