Are automatically-detected code anomalies relevant to architectural modularity?: an exploratory analysis of evolving systems

  • Authors:
  • Isela Macia;Joshua Garcia;Daniel Popescu;Alessandro Garcia;Nenad Medvidovic;Arndt von Staa

  • Affiliations:
  • Pontifical Catholic University of Rio de Janeiro, Rio de Janeiro, Brazil;University of Southern California, Los Angeles, CA, USA;University of Southern California, Los Angeles, CA, USA;Pontifical Catholic University of Rio de Janeiro, Rio de Janeiro, Brazil;University of Southern California, Los Angeles, CA, USA;Pontifical Catholic University of Rio de Janeiro, Rio de Janeiro, Brazil

  • Venue:
  • Proceedings of the 11th annual international conference on Aspect-oriented Software Development
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

As software systems are maintained, their architecture modularity often degrades through architectural erosion and drift. More directly, however, the modularity of software implementations degrades through the introduction of code anomalies, informally known as code smells. A number of strategies have been developed for supporting the automatic identification of implementation anomalies when only the source code is available. However, it is still unknown how reliable these strategies are when revealing code anomalies related to erosion and drift processes. In this paper, we present an exploratory analysis that investigates to what extent the automatically-detected code anomalies are related to problems that occur with an evolving system's architecture. We analyzed code anomaly occurrences in 38 versions of 5 applications using existing detection strategies. The outcome of our evaluation suggests that many of the code anomalies detected by the employed strategies were not related to architectural problems. Even worse, over 50% of the anomalies not observed by the employed techniques (false negatives) were found to be correlated with architectural problems.