Dissertation/Thesis Abstract

Assessing code decay by detecting software architecture violations
by Bandi, Ajay, Ph.D., Mississippi State University, 2014, 194; 3665453
Abstract (Summary)

Code decay is a gradual process that negatively impacts the quality of a software system. Developers need trusted measurement techniques to evaluate whether their systems have decayed. This dissertation aims to assess code decay by discovering software architectural violations. Our methodology uses Lightweight Sanity Check for Implemented Architectures to derive architectural constraints represented by can-use and cannot-use phrases. Our methodology also uses Lattix to discover architectural violations. We also introduce measures that indicate code decay in a software system. We conducted two case studies of proprietary systems (9 versions of System A and 14 versions of System B) to demonstrate our methodology for assessing code decay. Resulting architectural constraints and architectural violations were validated by the expert of each system. Our results show that the net violations of System A increased from one version to other version even though there were architecture changes. However, in System B, the number of net violations decreased after changes in the architecture.

The proposed code decay metrics can give managers insight into the process of software development, the history of the software product, and the status of unresolved violations. Our results and qualitative analysis showed that the methodology was effective and required a practical level of effort for moderate sized software systems. Code decay values increase because of an increase in the number of violations over multiple versions.

We compared our code decay measures with definitions in the literature, namely coupling metrics. In addition, our empirical results showed that coupling is qualitatively correlated with the size of a system as expected. We note that coupling is an opportunity for architectural violations. We concluded that coupling is not consistently related to violations.

Indexing (document details)
Advisor: Bandi, Ajay
Commitee: Allen, Edward B., Hansen, Eric, Haupt, Tomasz, Williams, Byron J.
School: Mississippi State University
Department: Computer Science and Engineering
School Location: United States -- Mississippi
Source: DAI-B 76/04(E), Dissertation Abstracts International
Source Type: DISSERTATION
Subjects: Computer science
Keywords: Architectural constraints, Architectural violations, Code decay, Coupling, Maintainability, Software evolution
Publication Number: 3665453
ISBN: 9781321379846