Abstract
To improve the quality of software systems, one of the widely used techniques is refactoring defined as the process of improving the design of an existing system by changing its internal structure without altering the external behavior. The majority of existing refactoring work focuses mainly on the source code level. The suggestion of refactorings at the model level is more challenging due to the difficulty to evaluate: (a) the impact of the suggested refactorings applied to a diagram on other related diagrams to improve the overall system quality, (b) their feasibility, and (c) interdiagram consistency. We propose, in this paper, a novel framework that enables software designers to apply refactoring at the model level. To this end, we used a multi-objective evolutionary algorithm to find a trade-off between improving the quality of class and activity diagrams. The proposed multi-objective approach provides a multi-view for software designers to evaluate the impact of suggested refactorings applied to class diagrams on related activity diagrams in order to evaluate the overall quality, and check their feasibility and behavior preservation. The statistical evaluation performed on models extracted from four open-source systems confirms the efficiency of our approach.
| Originalsprache | Englisch |
|---|---|
| Seiten (von - bis) | 473-501 |
| Seitenumfang | 29 |
| Fachzeitschrift | Software Quality Journal |
| Volume | 25 |
| Ausgabenummer | 2 |
| DOIs | |
| Publikationsstatus | Veröffentlicht - 01 Juni 2017 |
Wissenschaftszweige
- 202005 Computer Architektur
- 202017 Embedded Systems
- 102 Informatik
- 102002 Augmented Reality
- 102006 Computer Supported Cooperative Work (CSCW)
- 102015 Informationssysteme
- 102022 Softwareentwicklung
- 201305 Verkehrstechnik
- 502032 Qualitätsmanagement
- 502050 Wirtschaftsinformatik
JKU-Schwerpunkte
- Digital Transformation
Dieses zitieren
- APA
- Author
- BIBTEX
- Harvard
- Standard
- RIS
- Vancouver