posted on 2014-08-18, 15:19authored byMatthias Mair, Sebastian Herold, Andreas Rausch
Uncontrolled software architecture erosion can lead to a de-
gradation of the quality of a software system. It is hence
of great importance to repair erosion e ciently. Refactor-
ings can help to systematically reverse software architecture
erosion through applying them in the system where archi-
tectural violations have been detected. However, existing
refactoring approaches do not address architecture erosion
holistically.
In this paper, we describe and formalize the theoreti-
cal problem of repairing eroded software systems by nd-
ing optimal repair sequences. Furthermore, we investigate
the applicability and limitations of existing refactoring ap-
proaches. We argue, true to the motto \more knowledge
means less search" that using formalized and explicit knowl-
edge of software engineers|modeled as fault patterns and
repair strategies|combined with heuristic search techniques
could overcome those limitations.
This paper outlines a new approach|analog to a patient
history in medicine|we have been starting to investigate in
our recent research and also aims at stimulating a discus-
sion about further research challenges in repairing eroded
software systems.
History
Publication
Working IEEE/IFIP Conference on Software Architecture (WICSA);article 9i