1. Introduction
Architecture degradation [37] is a direct consequence of the progressive insertion of anomalies
Implementation anomalies are also well-known as code smells [9]
in the source code as the system evolves [4] [5] [6]. The removal of an anomaly is of high priority in source code review if it is seen as harmful to the architecture design [3]. However, a high proportion of implementation anomalies, detected by source code analysis are not harmful to architecture design. Therefore, a crucial activity to ensure the software project longevity is to consistently distinguish, prioritize and remove architecturally-relevant code anomalies [4] [6].