Font Size: a A A

A Unified Framework for Studying Architectural Decay of Software Systems

Posted on:2015-01-20Degree:Ph.DType:Dissertation
University:University of Southern CaliforniaCandidate:Garcia, JoshuaFull Text:PDF
GTID:1478390020452296Subject:Computer Science
Abstract/Summary:
The effort and cost of software maintenance tends to dominate other activities in a software system's lifecycle. A critical aspect of maintenance is understanding and updating a software system's architecture. However, the maintenance of a system's architecture is exacerbated by the related phenomena of architectural drift and erosion---collectively called architectural decay---which are caused by careless, unintended addition, removal, and/or modification of architectural design decisions. These phenomena make the architecture more difficult to understand and maintain and, in more severe cases, can lead to errors that result in wasted effort or loss of time or money. To deal with architectural decay, an engineer must be able to obtain (1) the current architecture of her system and understand (2) the symptoms of decay that may occur in a software system and (3) the manner in which architectures tend to change and the decay it often causes.;The high-level contribution of this dissertation is a unified framework for addressing different aspects of architectural decay in software systems. This framework includes a catalog comprising an expansive list of architectural smells (i.e., architectural-decay instances) and a means of identifying such smells in software architectures; a framework for constructing ground-truth architectures to aid the evaluation of automated recovery techniques; ARC, a novel recovery approach that is accurate and extracts rich architectural abstractions; and ARCADE, a framework for the study of architectural change and decay. Together, these aspects of the unified framework are a comprehensive means of addressing the different problems that arise due to architectural decay.;This dissertation provides several evaluations of its different contributions: it presents case studies of architectural smells, describes lessons learned from applying the ground-truth recovery framework, compares architecture-recovery techniques along multiple accuracy measures, and contributes the most extensive empirical study of architectural change and decay to date. This dissertation's comparative analysis of architecture-recovery techniques addresses several shortcomings of previous analyses, including the quality of ground truth utilized, the selection of recovery techniques to be analyzed, and the limited number of perspectives from which the techniques are evaluated. The empirical study of architectural change and decay in this dissertation is the largest empirical study to date of its kind in long-lived software systems; the study comprises over 112 million source-lines-of-code and 460 system versions from a dozen software systems.
Keywords/Search Tags:Software, Architectural, Decay, Unified framework
Related items