|dc.description.abstract||In recent years, many aspect-oriented languages and methods have been proposed in the literature to support separation of concerns that can be spread throughout a software system and its components and to facilitate post-development and unpredictable system changes in the code of these systems. These languages and methods provide new abstraction and composition mechanisms to deal with some special concerns, which are called cross-cutting concerns. Cross-cutting concerns, by nature, encode structures that represent changes related to many different system modules, and are often difficult to understand. Also, the provision and support for metrics that can give quantitative estimates related to various software quality features had been a challenge. Because of the complexity and intricate relationships with the base code, techniques for more rigorous analysis are crucially needed to check whether, for instance, some aspects are interfering with other aspects in an undesirable way or not behaving according to the systems requirements and expected behaviour.
In this thesis we advocate that by extending the metrics and analysis capabilities of current approaches, which are often restricted to code-level evaluations, we can (i) define an approach to analyze aspect-oriented systems based on design and architecture-level quality criteria and metrics, (ii) implement tool support for our approach and (iii) provided experimental support based on case studies indicating the usefulness and impact of the approach.||en