Title
Blending and reusing rules for architectural degradation prevention
Abstract
As software systems are maintained, their architecture often de-grades through the processes of architectural drift and erosion. These processes are often intertwined and the same modules in the code become the locus of both drift and erosion symptoms. Thus, architects should elaborate architecture rules for detecting occur-rences of both degradation symptoms. While the specification of such rules is time-consuming, they are similar across software projects adhering to similar architecture decompositions. Unfortu-nately, existing anti-degradation techniques are limited as they focus only on detecting either drift or erosion symptoms. They also do not support the reuse of recurring anti-degradation rules. In this context, the contribution of this paper is twofold. First, it presents TamDera, a domain-specific language for: (i) specifying rule-based strategies to detect both erosion and drift symptoms, and (ii) promoting the hierarchical and compositional reuse of design rules across multiple projects. The language was designed with usual concepts from programming languages in mind such as, inheritance and modularization. Second, we evaluated to what extent developers would benefit from the definition and reuse of hybrid rules. Our study involved 21 versions pertaining to 5 software projects, and more than 600 rules. On average 45% of classes that had drift symptoms in first versions presented inter-related erosion problems in latter versions or vice-versa. Also, up to 72% of all the TamDera rules in a project are from a pre-defined library of reusable rules. They were responsible for detecting on average of 73% of the inter-related degradation symptoms across the projects.
Year
DOI
Venue
2014
10.1145/2577080.2577087
MODULARITY
Keywords
Field
DocType
software system,similar architecture decomposition,tamdera rule,software project,erosion symptom,reusing rule,architectural drift,compositional reuse,drift symptom,architecture rule,inter-related erosion problem,architectural degradation prevention,design rules,reuse
Architecture,Software engineering,Systems engineering,Reuse,Software system,Software,Modular programming,Engineering
Conference
Citations 
PageRank 
References 
10
0.53
16
Authors
7
Name
Order
Citations
PageRank
Alessandro Gurgel1181.34
Isela Macia21245.27
Alessandro Garcia32231143.70
Arndt Von Staa458434.22
Mira Mezini53171211.04
Michael Eichberg634828.34
Ralf Mitschke7905.18