A Study about the Life Cycle of Code Anomalies

  • Wallace Ribeiro UFF
  • Vanessa Braganholo UFF
  • Leonardo Murta UFF

Resumo


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.
Palavras-chave: Software, Surgery, Computer architecture, Google, Electronic mail, Couplings, Nanoelectromechanical systems, code anomalies, Shotgun Surgery, God Method, God Package, Misplaced Class, Feature Envy
Publicado
19/09/2016
RIBEIRO, Wallace; BRAGANHOLO, Vanessa; MURTA, Leonardo. A Study about the Life Cycle of Code Anomalies. In: SIMPÓSIO BRASILEIRO DE COMPONENTES, ARQUITETURAS E REUTILIZAÇÃO DE SOFTWARE (SBCARS), 10. , 2016, Maringá/PR. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2016 . p. 71-80.