1 / 20

Cataloging and Detecting Architectural Bad Smells

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

lane-levy
Download Presentation

Cataloging and Detecting Architectural Bad Smells

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Cataloging and Detecting Architectural Bad Smells Joshua Garcia, Daniel Popescu, and Nenad Medvidovic, University of Southern California Yuanfang Cai, Drexel University

  2. 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?

  3. Motivation – iRODS - Prescriptive Source: https://www.irods.org/index.php/Introduction_to_iRODS

  4. Motivation – iRODS - Descriptive

  5. 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

  6. Connector Envy - Example • Component exhibiting interaction-related functionality that should be delegated to connector • Reusability, understandability, testability • StrategyAnalyzerAgent from Emergency Response System

  7. 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

  8. Component Identification 1 f1, f2, … fn 2 f1, f2, … fn n f1, f2, … fn

  9. Component Identification 1 0, 1, … 1 2 0, 1, … 0 . . . n 1, 0, … 1

  10. Component Identification 1 0, 1, … 1 Cluster Cluster 2 0, 1, … 0 1, 0, … 0 3 . . . 1, 1, … 0 1, 1, … 1 n 1, 0, … 1 4 n-1 …

  11. Component Identification Cluster 1 Component 1 B D A Cluster 2 Component 2 E C

  12. Concerns through Topic Modeling Component 1 Stream Component 2 UI Events Weather

  13. Concerns through Topic Modeling Component 2 Events Weather

  14. Connector Identification Component 1 Stream Component 2 UI Events Weather

  15. Connector Identification Component 1 Stream – 0.1 Component 2 UI – 0.9 Events – 0.1 Weather - 0.9

  16. Connector Identification Component 1 Cluster 3 Connector Events – 1.0 Stream – 0.1 Component 2 UI – 0.9 Events – 0.1 Weather - 0.9

  17. 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

  18. Design Structure Matrix of ERS

  19. Future Work • Evaluation of the recovery technique • Evaluation of the smell detection • Expansion of the catalog

  20. Thank You • Thank You

More Related