Toward a Catalogue of Architectural Bad Smells

  • Authors:
  • Joshua Garcia;Daniel Popescu;George Edwards;Nenad Medvidovic

  • Affiliations:
  • University of Southern California, Los Angeles, USA;University of Southern California, Los Angeles, USA;University of Southern California, Los Angeles, USA;University of Southern California, Los Angeles, USA

  • Venue:
  • QoSA '09 Proceedings of the 5th International Conference on the Quality of Software Architectures: Architectures for Adaptive Software Systems
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

An architectural bad smell is a commonly (although not always intentionally) used set of architectural design decisions that negatively impacts system lifecycle properties, such as understandability, testability, extensibility, and reusability. In our previous short paper, we introduced the notion of architectural bad smells and outlined a few common smells. In this paper, we significantly expand upon that work. In particular, we describe in detail four representative architectural smells that emerged from reverse-engineering and re-engineering two large industrial systems and from our search through case studies in research literature. For each of the four architectural smells, we provide illustrative examples and demonstrate the smell's impact on system lifecycle properties. Our experiences indicate the need to identify and catalog architectural smells so that software architects can discover and eliminate them from system designs.