Over time, software systems architecture eventually deviates from the original designers intent and degrades through unplanned introduction of changes that invalidate original design decisions. Architectural degradation increases the cost of making new modifications and decreases systems reliability, until engineers are no longer able to effectively evolve the system. At that point, the systems actual architecture may have to be recovered from the implementation artifacts, but this is a time-consuming and error-prone process, and leaves critical issues unresolved: the problems caused by architectural degradation will likely be obfuscated by the systems many elements and their interrelationships, thus risking further degradation.

This collaborative project aims at pinpointing locations in software systems architecture that reflect architectural degradation. The proposed research comprises four integrated research tasks: (1) Develop a catalog of commonly occurring symptoms of degradation. (2) Develop an architecture recovery technique that automatically extracts both systems major building blocks and the concerns that influence, drive, and interact with these building blocks. (3) Devise a technique for formally capturing the recovered architectural design decisions, their involving concerns, and the identified causes of degradation. (4) Devise a suite of techniques that leverage the catalog to automatically identify system-specific instances of degradation. As a result, this project will have a potential for broad impact by providing a rigorous, scientific basis for software engineers to streamline the currently prohibitively expensive and error-prone system maintenance and evolution tasks.

Project Start
Project End
Budget Start
2011-08-01
Budget End
2015-07-31
Support Year
Fiscal Year
2011
Total Cost
$196,245
Indirect Cost
Name
Drexel University
Department
Type
DUNS #
City
Philadelphia
State
PA
Country
United States
Zip Code
19102