-
PhD Defense - Joshua Garcia
Wed, May 14, 2014 @ 01:00 PM - 03:00 PM
Thomas Lord Department of Computer Science
University Calendar
Title:
A Unified Framework for Identifying and Studying Architectural Decay of Software Systems
Ph.D Candidate: Joshua Garcia
Time: 1:00pm
Date: May 14, 2014
Location: PHE 223
Committee:
Nenad Medvidovic (Chair)
William G.J. Halfond
Stan Settles (Outside Member)
Abstract:
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 possible types 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.
Location: Charles Lee Powell Hall (PHE) - 223
Audiences: Everyone Is Invited
Contact: Lizsl De Leon