Back to results

The University of Western Ontario

Characterizing and Diagnosing Architectural Degeneration of Software Systems from Defect Perspective

Abstract

dc:description.abstract

The architecture of a software system is known to degrade as the system evolves over time due to change upon change, a phenomenon that is termed architectural degeneration. Previous research has focused largely on structural "deviations" of an architecture from its baseline. However, another angle to observe architectural degeneration is software defects, especially those that are architecturally related. Such an angle has not been scientifically explored until now. Here, we ask two relevant questions: (1) What do defects indicate about architectural degeneration? and (2) How can architectural degeneration be diagnosed from the defect perspective? To answer question (1), we conducted an exploratory case study analyzing defect data over six releases of a large legacy system (of size approximately 20 million source lines of code and age over 20 years). The relevant defects here are those that span multiple components in the system (called multiple-component defects - MCDs). This case study found that MCDs require more changes to fix and are more persistent across development phases and releases than other types of defects. To answer question (2), we developed an approach (called Diagnosing Architectural Degeneration - DAD) from the defect perspective, and validated it in another, confirmatory, case study involving three releases of a commercial system (of size over 1.5 million source lines of code and age over 13 years). This case study found that components of the system tend to persistently have an impact on architectural degeneration over releases. Especially, such impact of a few components is substantially greater than that of other components. These results are new and they add to the current knowledge on architectural degeneration. The key conclusions from these results are: (i) analysis of MCDs is a viable approach to characterizing architectural degeneration; and (ii) a method such as DAD can be developed for diagnosing architectural degeneration.

Degree

thesis:*
Name thesis:degree_name
Ph D
Discipline thesis:degree_discipline
Computer Science
Grantor dc:publisher
The University of Western Ontario
Year dc:date.issued
2010

Author and committee

dc:creator, dc:contributor.*
Author dc:creator
  • Li, Zude
Advisor dc:contributor.advisor
  • Nazim H. Madhavji

Subjects

dc:subject × 7

Rights

Language dc:language.iso
en_ca

Identifiers

dc:identifier.*
OAI identifier oai:identifier
oai:uwo.scholaris.ca:20.500.14721/35960

Chain of custody

source
Harvested from
Western University
Base URL
uwo.scholaris.ca/server/oai/request
Last updated
2026-07-27
Source record
OAI-PMH GetRecord
citation

Li, Zude. Characterizing and Diagnosing Architectural Degeneration of Software Systems from Defect Perspective. The University of Western Ontario, 2010. https://hdl.handle.net/20.500.14721/35960