Hotspot Patterns: The Formal Definition and Automatic Detection of Architecture Smells

Abstract

In this paper, we propose and empirically validate a suite of hotspot patterns: recurring architecture problems that occur in most complex systems and incur high maintenance costs. In particular, we introduce two novel hotspot patterns, Unstable Interface and Implicit Cross-module Dependency. These patterns are defined based on Baldwin and Clark's design rule theory, and detected by the combination of history and architecture information. Through our tool-supported evaluations, we show that these patterns not only identify the most error-prone and changeprone files, they also pinpoint specific architecture problems that may be the root causes of bugginess and change proneness. Significantly, we show that 1) these structure-history integrated patterns contribute more to error- and change-proneness than other hotspot patterns, and 2) the more hotspot patterns a file is involved in, the more error- and change-prone it is. Finally, we report on an industrial case study to demonstrate the practicality of these hotspot patterns. The architect and developers confirmed that our hotspot detector discovered the majority of the architecture problems causing maintenance pain, and they have started to improve the system's maintainability by refactoring and fixing the identified architecture issues.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Jan 15, 2015
Accession Number
ADA621415

Entities

People

  • Lu Xiao
  • Ran Mo
  • Rick Kazman
  • Yuanfang Cai

Organizations

  • Carnegie Mellon University

Tags

DTIC Thesaurus Topics

  • Algorithms
  • Case Studies
  • Clustering
  • Computer Programs
  • Control Systems
  • Correlation Analysis
  • Databases
  • Detection
  • Detectors
  • Information Science
  • Maintenance
  • Maintenance Costs
  • Observers
  • Software Design
  • Software Development
  • Statistical Analysis
  • Technical Debt

Fields of Study

  • Computer science
  • Engineering

Readers

  • Aviation Safety Risk Assessment.
  • Software Engineering.