Upload
lane-levy
View
28
Download
1
Tags:
Embed Size (px)
DESCRIPTION
Cataloging and Detecting Architectural Bad Smells. Joshua Garcia, Daniel Popescu, and Nenad Medvidovic, University of Southern California Yuanfang Cai, Drexel University. Motivation – Refactoring Architecture. Successful systems are maintained over multiple years - PowerPoint PPT Presentation
Citation preview
Cataloging and Detecting Architectural Bad Smells
Joshua Garcia, Daniel Popescu, and
Nenad Medvidovic, University of
Southern California
Yuanfang Cai, Drexel University
Motivation – Refactoring Architecture
• Successful systems are maintained over multiple years
• System’s Life-Cycle Properties worsen over time
• Understandability
• Testability
• Extensibility
• Reusability
• Restructuring/Refactoring helps to improve life-cycle properties• Code Smells
• When and where to refactor a software system’s architecture?
2
Motivation – iRODS - Prescriptive
3Source: https://www.irods.org/index.php/Introduction_to_iRODS
Motivation – iRODS - Descriptive
4
Contribution and Goals
• Categorization of Architectural Smells
• Components, Connectors, Interfaces, Data Elements, Concerns
• Separation of Concerns
• Coupling and Cohesion
• Novel Architectural Recovery Technique
• Identification of Elements
• Concern Meta-Classification
• Novel Architecture Representation
• Extended Augmented Constraint Network
• Design Structure Matrix
• Architectural Smell Detection
5
Connector Envy - Example
• Component exhibiting interaction-related functionality that
should be delegated to connector
• Reusability, understandability, testability
• StrategyAnalyzerAgent from Emergency Response System
6
Architectural Recovery for Smells• Component identification
• Hierarchical clustering
• Concerns through topic modeling
• SAA – “strategy,” “rule,” “region”
• Connector identification
• Pattern matching, Supervised Learning
• Interface and Data Element Identification
• Concern Meta-classification
• Application-specific or application-independent concern
• Supervised Learning
7
Component Identification
8
1 f1, f2, … fn
2 f1, f2, … fn
n f1, f2, … fn
Component Identification
9
1 0, 1, … 1
2 0, 1, … 0
.
.
.
n 1, 0, … 1
Component Identification
10
1 0, 1, … 1
2
1, 0, … 0...
n 1, 0, … 1
Cluster
1, 1, … 1
3
0, 1, … 0
Cluster
1, 1, … 0
4 … n-1
Cluster 1
Cluster 2
Component Identification
11
A
B
C
D
E
Component 1
Component 2
Concerns through Topic Modeling
12
Component 1
Component 2
Stream
Events
UI
Weather
Concerns through Topic Modeling
13
Component 2
Events
Weather
Word Probability
Send 0.2
Receive 0.4
Event 0.4
Word Probability
Temperature
0.7
Wind 0.1
Humid 0.2
Connector Identification
14
Component 1
Component 2
Stream
Events
UI
Weather
Connector Identification
15
Component 1
Component 2
Stream – 0.1
Events – 0.1
UI – 0.9
Weather - 0.9
Connector Identification
16
Component 1
Component 2
Stream – 0.1
Events – 0.1
UI – 0.9
Weather - 0.9
Cluster 3
Events – 1.0
Connector
Novel Architecture Representation
• Extended Augmented Constraint Network
• Uniform, formal way of capturing of architectural
decisions
• Constraint network, design rule, cluster set, concerns
from topic models
17
Design Structure Matrix of ERS
18
Future Work
• Evaluation of the recovery technique
• Evaluation of the smell detection
• Expansion of the catalog
19
Thank You
• Thank You
20