Characterizing software architecture changes: A systematic review
Information and Software Technology
Incremental quality improvement in web applications using web model refactoring
WISE'07 Proceedings of the 2007 international conference on Web information systems engineering
Web application evaluation and refactoring: a qualityoriented improvement approach
Journal of Web Engineering
Legacy transformations for extracting service components
Rigorous software engineering for service-oriented systems
Controlling software architecture erosion: A survey
Journal of Systems and Software
Towards extensive software architecture erosion repairs
ECSA'13 Proceedings of the 7th European conference on Software Architecture
Hi-index | 0.00 |
Software-intensive systems evolve continuously under the pressure of new and changing requirements, generally leading to an increase in overall system complexity. In this respect, to improve quality and decrease complexity, software artifacts need to be restructured and refactored throughout their lifecycle. Since software architecture artifacts represent the highest level of implementation abstraction, and constitute the first step in mapping requirements to design, architecture refactorings can be considered as the first step in the quest of maintaining system quality during evolution. In this paper, we introduce an approach for refactoring software architecture artifacts using model transformations and quality improvement semantic annotations. First, the conceptual architecture view is represented as a UML 2.0 profile with corresponding stereotypes. Second, instantiated architecture models are annotated using elements of the refactoring context, including soft-goals, metrics, and constraints. Finally, the actions that are most suitable for the given refactoring context are applied after being selected from a set of possible refactorings. The approach is applied to a simple example, demonstrating refactoring transformations for improved maintainability, performance, and security.