A Study about the Life Cycle of Code Anomalies - Ribeiro, Wallace; Braganholo, Vanessa; Murta, Leonardo (Anais do Simpósio Brasileiro de Componentes, Arquiteturas e Reutilização de Software (SBCARS); 2016: Anais do X Simpósio Brasileiro de Componentes, Arquiteturas e Reutilização de Software, 2016)
Software projects usually follow key architectural principles, such as modularity, high cohesion, low coupling, etc. However, during software evolution, sometimes developers introduce changes that are not compatible with these principles, called code anomalies. Some approaches aim at detecting and fixing code anomalies, but they miss a deeper discussion about the introduction patterns and life cycle of such code anomalies. In this paper we analyze several projects to understand the incidence of code anomalies and their life cycle. In addition, we correlate code anomalies with some project characteristics and with other code anomalies. For example, we could observe that Shotgun Surgery and God Method anomalies never happen together. Moreover, we observed that Shotgun Surgery, God Package, and Misplaced Class anomaly life cycles are closely correlated.