![Page 1: Cataloging and Detecting Architectural Bad Smells Joshua Garcia, Daniel Popescu, and Nenad Medvidovic, University of Southern California Yuanfang Cai,](https://reader036.vdocument.in/reader036/viewer/2022062713/56649cf55503460f949c4369/html5/thumbnails/1.jpg)
Cataloging and Detecting Architectural Bad Smells
Joshua Garcia, Daniel Popescu, and
Nenad Medvidovic, University of
Southern California
Yuanfang Cai, Drexel University
![Page 2: Cataloging and Detecting Architectural Bad Smells Joshua Garcia, Daniel Popescu, and Nenad Medvidovic, University of Southern California Yuanfang Cai,](https://reader036.vdocument.in/reader036/viewer/2022062713/56649cf55503460f949c4369/html5/thumbnails/2.jpg)
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
![Page 3: Cataloging and Detecting Architectural Bad Smells Joshua Garcia, Daniel Popescu, and Nenad Medvidovic, University of Southern California Yuanfang Cai,](https://reader036.vdocument.in/reader036/viewer/2022062713/56649cf55503460f949c4369/html5/thumbnails/3.jpg)
Motivation – iRODS - Prescriptive
3Source: https://www.irods.org/index.php/Introduction_to_iRODS
![Page 4: Cataloging and Detecting Architectural Bad Smells Joshua Garcia, Daniel Popescu, and Nenad Medvidovic, University of Southern California Yuanfang Cai,](https://reader036.vdocument.in/reader036/viewer/2022062713/56649cf55503460f949c4369/html5/thumbnails/4.jpg)
Motivation – iRODS - Descriptive
4
![Page 5: Cataloging and Detecting Architectural Bad Smells Joshua Garcia, Daniel Popescu, and Nenad Medvidovic, University of Southern California Yuanfang Cai,](https://reader036.vdocument.in/reader036/viewer/2022062713/56649cf55503460f949c4369/html5/thumbnails/5.jpg)
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
![Page 6: Cataloging and Detecting Architectural Bad Smells Joshua Garcia, Daniel Popescu, and Nenad Medvidovic, University of Southern California Yuanfang Cai,](https://reader036.vdocument.in/reader036/viewer/2022062713/56649cf55503460f949c4369/html5/thumbnails/6.jpg)
Connector Envy - Example
• Component exhibiting interaction-related functionality that
should be delegated to connector
• Reusability, understandability, testability
• StrategyAnalyzerAgent from Emergency Response System
6
![Page 7: Cataloging and Detecting Architectural Bad Smells Joshua Garcia, Daniel Popescu, and Nenad Medvidovic, University of Southern California Yuanfang Cai,](https://reader036.vdocument.in/reader036/viewer/2022062713/56649cf55503460f949c4369/html5/thumbnails/7.jpg)
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
![Page 8: Cataloging and Detecting Architectural Bad Smells Joshua Garcia, Daniel Popescu, and Nenad Medvidovic, University of Southern California Yuanfang Cai,](https://reader036.vdocument.in/reader036/viewer/2022062713/56649cf55503460f949c4369/html5/thumbnails/8.jpg)
Component Identification
8
1 f1, f2, … fn
2 f1, f2, … fn
n f1, f2, … fn
![Page 9: Cataloging and Detecting Architectural Bad Smells Joshua Garcia, Daniel Popescu, and Nenad Medvidovic, University of Southern California Yuanfang Cai,](https://reader036.vdocument.in/reader036/viewer/2022062713/56649cf55503460f949c4369/html5/thumbnails/9.jpg)
Component Identification
9
1 0, 1, … 1
2 0, 1, … 0
.
.
.
n 1, 0, … 1
![Page 10: Cataloging and Detecting Architectural Bad Smells Joshua Garcia, Daniel Popescu, and Nenad Medvidovic, University of Southern California Yuanfang Cai,](https://reader036.vdocument.in/reader036/viewer/2022062713/56649cf55503460f949c4369/html5/thumbnails/10.jpg)
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
![Page 11: Cataloging and Detecting Architectural Bad Smells Joshua Garcia, Daniel Popescu, and Nenad Medvidovic, University of Southern California Yuanfang Cai,](https://reader036.vdocument.in/reader036/viewer/2022062713/56649cf55503460f949c4369/html5/thumbnails/11.jpg)
Cluster 1
Cluster 2
Component Identification
11
A
B
C
D
E
Component 1
Component 2
![Page 12: Cataloging and Detecting Architectural Bad Smells Joshua Garcia, Daniel Popescu, and Nenad Medvidovic, University of Southern California Yuanfang Cai,](https://reader036.vdocument.in/reader036/viewer/2022062713/56649cf55503460f949c4369/html5/thumbnails/12.jpg)
Concerns through Topic Modeling
12
Component 1
Component 2
Stream
Events
UI
Weather
![Page 13: Cataloging and Detecting Architectural Bad Smells Joshua Garcia, Daniel Popescu, and Nenad Medvidovic, University of Southern California Yuanfang Cai,](https://reader036.vdocument.in/reader036/viewer/2022062713/56649cf55503460f949c4369/html5/thumbnails/13.jpg)
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
![Page 14: Cataloging and Detecting Architectural Bad Smells Joshua Garcia, Daniel Popescu, and Nenad Medvidovic, University of Southern California Yuanfang Cai,](https://reader036.vdocument.in/reader036/viewer/2022062713/56649cf55503460f949c4369/html5/thumbnails/14.jpg)
Connector Identification
14
Component 1
Component 2
Stream
Events
UI
Weather
![Page 15: Cataloging and Detecting Architectural Bad Smells Joshua Garcia, Daniel Popescu, and Nenad Medvidovic, University of Southern California Yuanfang Cai,](https://reader036.vdocument.in/reader036/viewer/2022062713/56649cf55503460f949c4369/html5/thumbnails/15.jpg)
Connector Identification
15
Component 1
Component 2
Stream – 0.1
Events – 0.1
UI – 0.9
Weather - 0.9
![Page 16: Cataloging and Detecting Architectural Bad Smells Joshua Garcia, Daniel Popescu, and Nenad Medvidovic, University of Southern California Yuanfang Cai,](https://reader036.vdocument.in/reader036/viewer/2022062713/56649cf55503460f949c4369/html5/thumbnails/16.jpg)
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
![Page 17: Cataloging and Detecting Architectural Bad Smells Joshua Garcia, Daniel Popescu, and Nenad Medvidovic, University of Southern California Yuanfang Cai,](https://reader036.vdocument.in/reader036/viewer/2022062713/56649cf55503460f949c4369/html5/thumbnails/17.jpg)
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
![Page 18: Cataloging and Detecting Architectural Bad Smells Joshua Garcia, Daniel Popescu, and Nenad Medvidovic, University of Southern California Yuanfang Cai,](https://reader036.vdocument.in/reader036/viewer/2022062713/56649cf55503460f949c4369/html5/thumbnails/18.jpg)
Design Structure Matrix of ERS
18
![Page 19: Cataloging and Detecting Architectural Bad Smells Joshua Garcia, Daniel Popescu, and Nenad Medvidovic, University of Southern California Yuanfang Cai,](https://reader036.vdocument.in/reader036/viewer/2022062713/56649cf55503460f949c4369/html5/thumbnails/19.jpg)
Future Work
• Evaluation of the recovery technique
• Evaluation of the smell detection
• Expansion of the catalog
19
![Page 20: Cataloging and Detecting Architectural Bad Smells Joshua Garcia, Daniel Popescu, and Nenad Medvidovic, University of Southern California Yuanfang Cai,](https://reader036.vdocument.in/reader036/viewer/2022062713/56649cf55503460f949c4369/html5/thumbnails/20.jpg)
Thank You
• Thank You
20