SlideShare ist ein Scribd-Unternehmen logo
1 von 19
Downloaden Sie, um offline zu lesen
TOWARDS PROBABILISTIC
ASSESSMENT OF MODULARITY
Kevin Hoffman and Patrick Eugster, C.S. Department, Purdue University
ACoM 2008 @ OOPSLA
Questions of Interest
   Q1) Which program elements are the most
    depended upon?
   Q2) Which program elements are the most likely to
    change? (i.e. the most fragile?)
   Q3) Which program elements are the most likely to
    be affected by rippled effects given a set of
    changes?
   Q4) Which program elements were most influential
    during some execution of a test case?
Strategy for Answering
   Model software using Design Structure Matrices (DSMs)
   Assign weights to each cell as relevant to the question
   Formulate an Assessment Graph from the DSM
   Normalize data to produce a time-homogenous
    Markov chain
   Compute the stationary distribution of the Markov
    chain (à-la PageRank, EigenTrust)
   Overlay visualization onto DSM
DSM Generation
Weighted DSM Generation
   Weights based on knowledge of other subsystems
   Weights based on actual use of other subsystems
   Weight assignment strategy governed by question
Form the Assessment Graph

                  3            4   8
                          13
         2                             5
    17
                                           1
1                                              6
                                   7   2

              3
         10                            7
                          5
                      9        8
Normalize Edge Weights

                     3             4     1.0
                             1.0
          2                                    5
    1.0
                                                   1.0
1                                                        6
                                       0.778   0.222

               1.0
          10                                   7
                             1.0
                         9         8
All Nodes Have > 0 out-Edges

                               3             4     1.0
                                       1.0
            2                                            5
    1.0
       0.1 0.1 0.1
                0.1                                          1.0
1                      0.1
                                                                   6
                       0.1
                 0.1                             0.778   0.222
     0.1   0.1

                         1.0
           10                                            7
                                       1.0
                                   9         8
Metric Calculation
   Weighted edge matrix of Assessment Graph now
    forms a time-homogenous Markov chain
   Stationary distribution of the Markov chain provides
    the metric results
      Calculated by finding the left eigenvector of the
      transition matrix of the Markov chain
     Computed using Power Iteration algorithm

     “Damping factor” to ensure convergence (guarantees
      aperiodicity of Markov chain)
Metric Calculation Example
Q1) Which program elements are the
most depended upon?
   Calculate DSM weights based on coupling measures
   Form Assessment Graph from DSM and normalize
   Algorithm output defined as the…
       Dependency Propagation Ranking
Q2) Which program elements are the
most likely to change?
   Calculate DSM weights based on coupling measures
   Form Assessment Graph from DSM and normalize
   REVERSE DIRECTION of edges in graph
   Algorithm output defined as the…
       Impact Propagation Ranking




Dependency Propagation Ranking   Impact Propagation Ranking
Q3) Which program elements are the most likely to be
affected by rippled effects given a set of changes?

   Calculate the Impact Propagation Ranking for two
    versions of a program
   Define the absolute value of the difference
    between these vectors to be the…
       Impact Shift Ranking
Q4) Which program elements were most
influential during some execution of a test case?

   Construct weighted DSM from elements in execution
    traces
     Which parts of execution traces
     How to abstract to the appropriate level of detail?

     What should be used to formulate the weights?

   Form Assessment Graph from DSM and normalize
   Use output of algorithm to understand Q4
Normalization Choices


 By Row (Local)   By Table (Global)
PetStore – Exceptions w/ AspectJ
PetStore – Exceptions w/ AJ/EJPs
Future Directions
    Refine metric definitions
      Appropriate   normalization strategies
    Other sources for weights
      Logical coupling
      Data flow analysis

      Execution trace data

    Apply to several large bodies of software
    Integrated tool chain for fast visualization

Send comments and questions to kjhoffma@cs.purdue.edu

Weitere ähnliche Inhalte

Ähnlich wie Towards Probabilistic Assessment of Modularity

Agile Workshop: Agile Metrics
Agile Workshop: Agile MetricsAgile Workshop: Agile Metrics
Agile Workshop: Agile MetricsSiddhi
 
Traffic Analyzer for GPRS UMTS Networks (TAN)
Traffic Analyzer for GPRS UMTS Networks (TAN)Traffic Analyzer for GPRS UMTS Networks (TAN)
Traffic Analyzer for GPRS UMTS Networks (TAN)Muhannad Aulama
 
Exit Poll «УКРАЇНА-2012»: демографічна структура виборців
Exit Poll «УКРАЇНА-2012»: демографічна структура виборцівExit Poll «УКРАЇНА-2012»: демографічна структура виборців
Exit Poll «УКРАЇНА-2012»: демографічна структура виборцівRatinggroup
 
Talk data sciencemeetup
Talk data sciencemeetupTalk data sciencemeetup
Talk data sciencemeetupdatasciencenl
 
Model Compression
Model CompressionModel Compression
Model CompressionDarshanG13
 
Micro Mechanical Design of Composites for superior properties
Micro Mechanical Design of Composites  for superior propertiesMicro Mechanical Design of Composites  for superior properties
Micro Mechanical Design of Composites for superior propertiesATOA Scientific Technologies
 
ธนาคารกสิกรไทย
ธนาคารกสิกรไทย ธนาคารกสิกรไทย
ธนาคารกสิกรไทย Adcha'z Tawinprai
 
Wikipedia ws
Wikipedia wsWikipedia ws
Wikipedia wsYu Suzuki
 
Monte carlo simulation for energy risk management
Monte carlo simulation for energy risk managementMonte carlo simulation for energy risk management
Monte carlo simulation for energy risk managementScott Nelson
 
Sas rule based codebook generation for exploratory data analysis - wuss 2012
Sas rule based codebook generation for exploratory data analysis - wuss 2012Sas rule based codebook generation for exploratory data analysis - wuss 2012
Sas rule based codebook generation for exploratory data analysis - wuss 2012RossBettinger
 
Machine learning projects with r
Machine learning projects with rMachine learning projects with r
Machine learning projects with rliyiou
 
CAE REPORT
CAE REPORTCAE REPORT
CAE REPORTdayahisa
 
PowerPoint’s Impact on Conference Ratings and Social Media Likes
PowerPoint’s Impact on Conference Ratings and Social Media Likes PowerPoint’s Impact on Conference Ratings and Social Media Likes
PowerPoint’s Impact on Conference Ratings and Social Media Likes Nathan Garrett
 
Blind elephant black hat 2010 v2
Blind elephant   black hat 2010 v2Blind elephant   black hat 2010 v2
Blind elephant black hat 2010 v2Jaime Restrepo
 
Lazard network correlation_architecture
Lazard network correlation_architectureLazard network correlation_architecture
Lazard network correlation_architectureJean Meilhoc Ricaume
 
125880727225004112250 Ratingurile Din Noiembrie
125880727225004112250 Ratingurile Din  Noiembrie125880727225004112250 Ratingurile Din  Noiembrie
125880727225004112250 Ratingurile Din NoiembrieDr. Tanase Tasente
 

Ähnlich wie Towards Probabilistic Assessment of Modularity (20)

Agile Workshop: Agile Metrics
Agile Workshop: Agile MetricsAgile Workshop: Agile Metrics
Agile Workshop: Agile Metrics
 
Traffic Analyzer for GPRS UMTS Networks (TAN)
Traffic Analyzer for GPRS UMTS Networks (TAN)Traffic Analyzer for GPRS UMTS Networks (TAN)
Traffic Analyzer for GPRS UMTS Networks (TAN)
 
Exit Poll «УКРАЇНА-2012»: демографічна структура виборців
Exit Poll «УКРАЇНА-2012»: демографічна структура виборцівExit Poll «УКРАЇНА-2012»: демографічна структура виборців
Exit Poll «УКРАЇНА-2012»: демографічна структура виборців
 
Talk data sciencemeetup
Talk data sciencemeetupTalk data sciencemeetup
Talk data sciencemeetup
 
Ocr
OcrOcr
Ocr
 
Model Compression
Model CompressionModel Compression
Model Compression
 
Session 2 - Prof. Alan Lopez (UQ-HISHUB & HMN)
Session 2 - Prof. Alan Lopez (UQ-HISHUB & HMN)Session 2 - Prof. Alan Lopez (UQ-HISHUB & HMN)
Session 2 - Prof. Alan Lopez (UQ-HISHUB & HMN)
 
9th ICCS Noordwijkerhout
9th ICCS Noordwijkerhout9th ICCS Noordwijkerhout
9th ICCS Noordwijkerhout
 
Micro Mechanical Design of Composites for superior properties
Micro Mechanical Design of Composites  for superior propertiesMicro Mechanical Design of Composites  for superior properties
Micro Mechanical Design of Composites for superior properties
 
ธนาคารกสิกรไทย
ธนาคารกสิกรไทย ธนาคารกสิกรไทย
ธนาคารกสิกรไทย
 
Wikipedia ws
Wikipedia wsWikipedia ws
Wikipedia ws
 
Monte carlo simulation for energy risk management
Monte carlo simulation for energy risk managementMonte carlo simulation for energy risk management
Monte carlo simulation for energy risk management
 
1Q07 Results
1Q07 Results1Q07 Results
1Q07 Results
 
Sas rule based codebook generation for exploratory data analysis - wuss 2012
Sas rule based codebook generation for exploratory data analysis - wuss 2012Sas rule based codebook generation for exploratory data analysis - wuss 2012
Sas rule based codebook generation for exploratory data analysis - wuss 2012
 
Machine learning projects with r
Machine learning projects with rMachine learning projects with r
Machine learning projects with r
 
CAE REPORT
CAE REPORTCAE REPORT
CAE REPORT
 
PowerPoint’s Impact on Conference Ratings and Social Media Likes
PowerPoint’s Impact on Conference Ratings and Social Media Likes PowerPoint’s Impact on Conference Ratings and Social Media Likes
PowerPoint’s Impact on Conference Ratings and Social Media Likes
 
Blind elephant black hat 2010 v2
Blind elephant   black hat 2010 v2Blind elephant   black hat 2010 v2
Blind elephant black hat 2010 v2
 
Lazard network correlation_architecture
Lazard network correlation_architectureLazard network correlation_architecture
Lazard network correlation_architecture
 
125880727225004112250 Ratingurile Din Noiembrie
125880727225004112250 Ratingurile Din  Noiembrie125880727225004112250 Ratingurile Din  Noiembrie
125880727225004112250 Ratingurile Din Noiembrie
 

Mehr von Kevin Hoffman

Semantics-Aware Trace Analysis [PLDI 2009]
Semantics-Aware Trace Analysis [PLDI 2009]Semantics-Aware Trace Analysis [PLDI 2009]
Semantics-Aware Trace Analysis [PLDI 2009]Kevin Hoffman
 
Towards Reusable Components With Aspects [ICSE 2008]
Towards Reusable Components With Aspects [ICSE 2008]Towards Reusable Components With Aspects [ICSE 2008]
Towards Reusable Components With Aspects [ICSE 2008]Kevin Hoffman
 
Aspect-based Introspection And Change Analysis For Evolving Programs [RAMSE @...
Aspect-based Introspection And Change Analysis For Evolving Programs [RAMSE @...Aspect-based Introspection And Change Analysis For Evolving Programs [RAMSE @...
Aspect-based Introspection And Change Analysis For Evolving Programs [RAMSE @...Kevin Hoffman
 
Aspect-oriented Transactions via Explicit Join Points
Aspect-oriented Transactions via Explicit Join PointsAspect-oriented Transactions via Explicit Join Points
Aspect-oriented Transactions via Explicit Join PointsKevin Hoffman
 
Aspects Made Explicit for Safe Transactional Semantics [DSN 2006]
Aspects Made Explicit for Safe Transactional Semantics [DSN 2006]Aspects Made Explicit for Safe Transactional Semantics [DSN 2006]
Aspects Made Explicit for Safe Transactional Semantics [DSN 2006]Kevin Hoffman
 
Introduction to AOP, AspectJ, and Explicit Join Points
Introduction to AOP, AspectJ, and Explicit Join PointsIntroduction to AOP, AspectJ, and Explicit Join Points
Introduction to AOP, AspectJ, and Explicit Join PointsKevin Hoffman
 
Bridging Java And AspectJ [PPPJ08]
Bridging Java And AspectJ [PPPJ08]Bridging Java And AspectJ [PPPJ08]
Bridging Java And AspectJ [PPPJ08]Kevin Hoffman
 

Mehr von Kevin Hoffman (7)

Semantics-Aware Trace Analysis [PLDI 2009]
Semantics-Aware Trace Analysis [PLDI 2009]Semantics-Aware Trace Analysis [PLDI 2009]
Semantics-Aware Trace Analysis [PLDI 2009]
 
Towards Reusable Components With Aspects [ICSE 2008]
Towards Reusable Components With Aspects [ICSE 2008]Towards Reusable Components With Aspects [ICSE 2008]
Towards Reusable Components With Aspects [ICSE 2008]
 
Aspect-based Introspection And Change Analysis For Evolving Programs [RAMSE @...
Aspect-based Introspection And Change Analysis For Evolving Programs [RAMSE @...Aspect-based Introspection And Change Analysis For Evolving Programs [RAMSE @...
Aspect-based Introspection And Change Analysis For Evolving Programs [RAMSE @...
 
Aspect-oriented Transactions via Explicit Join Points
Aspect-oriented Transactions via Explicit Join PointsAspect-oriented Transactions via Explicit Join Points
Aspect-oriented Transactions via Explicit Join Points
 
Aspects Made Explicit for Safe Transactional Semantics [DSN 2006]
Aspects Made Explicit for Safe Transactional Semantics [DSN 2006]Aspects Made Explicit for Safe Transactional Semantics [DSN 2006]
Aspects Made Explicit for Safe Transactional Semantics [DSN 2006]
 
Introduction to AOP, AspectJ, and Explicit Join Points
Introduction to AOP, AspectJ, and Explicit Join PointsIntroduction to AOP, AspectJ, and Explicit Join Points
Introduction to AOP, AspectJ, and Explicit Join Points
 
Bridging Java And AspectJ [PPPJ08]
Bridging Java And AspectJ [PPPJ08]Bridging Java And AspectJ [PPPJ08]
Bridging Java And AspectJ [PPPJ08]
 

Kürzlich hochgeladen

Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024SynarionITSolutions
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 

Kürzlich hochgeladen (20)

Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 

Towards Probabilistic Assessment of Modularity

  • 1. TOWARDS PROBABILISTIC ASSESSMENT OF MODULARITY Kevin Hoffman and Patrick Eugster, C.S. Department, Purdue University ACoM 2008 @ OOPSLA
  • 2. Questions of Interest  Q1) Which program elements are the most depended upon?  Q2) Which program elements are the most likely to change? (i.e. the most fragile?)  Q3) Which program elements are the most likely to be affected by rippled effects given a set of changes?  Q4) Which program elements were most influential during some execution of a test case?
  • 3. Strategy for Answering  Model software using Design Structure Matrices (DSMs)  Assign weights to each cell as relevant to the question  Formulate an Assessment Graph from the DSM  Normalize data to produce a time-homogenous Markov chain  Compute the stationary distribution of the Markov chain (à-la PageRank, EigenTrust)  Overlay visualization onto DSM
  • 5. Weighted DSM Generation  Weights based on knowledge of other subsystems  Weights based on actual use of other subsystems  Weight assignment strategy governed by question
  • 6. Form the Assessment Graph 3 4 8 13 2 5 17 1 1 6 7 2 3 10 7 5 9 8
  • 7. Normalize Edge Weights 3 4 1.0 1.0 2 5 1.0 1.0 1 6 0.778 0.222 1.0 10 7 1.0 9 8
  • 8. All Nodes Have > 0 out-Edges 3 4 1.0 1.0 2 5 1.0 0.1 0.1 0.1 0.1 1.0 1 0.1 6 0.1 0.1 0.778 0.222 0.1 0.1 1.0 10 7 1.0 9 8
  • 9. Metric Calculation  Weighted edge matrix of Assessment Graph now forms a time-homogenous Markov chain  Stationary distribution of the Markov chain provides the metric results  Calculated by finding the left eigenvector of the transition matrix of the Markov chain  Computed using Power Iteration algorithm  “Damping factor” to ensure convergence (guarantees aperiodicity of Markov chain)
  • 11. Q1) Which program elements are the most depended upon?  Calculate DSM weights based on coupling measures  Form Assessment Graph from DSM and normalize  Algorithm output defined as the… Dependency Propagation Ranking
  • 12. Q2) Which program elements are the most likely to change?  Calculate DSM weights based on coupling measures  Form Assessment Graph from DSM and normalize  REVERSE DIRECTION of edges in graph  Algorithm output defined as the… Impact Propagation Ranking Dependency Propagation Ranking Impact Propagation Ranking
  • 13. Q3) Which program elements are the most likely to be affected by rippled effects given a set of changes?  Calculate the Impact Propagation Ranking for two versions of a program  Define the absolute value of the difference between these vectors to be the… Impact Shift Ranking
  • 14. Q4) Which program elements were most influential during some execution of a test case?  Construct weighted DSM from elements in execution traces  Which parts of execution traces  How to abstract to the appropriate level of detail?  What should be used to formulate the weights?  Form Assessment Graph from DSM and normalize  Use output of algorithm to understand Q4
  • 15. Normalization Choices By Row (Local) By Table (Global)
  • 18.
  • 19. Future Directions  Refine metric definitions  Appropriate normalization strategies  Other sources for weights  Logical coupling  Data flow analysis  Execution trace data  Apply to several large bodies of software  Integrated tool chain for fast visualization Send comments and questions to kjhoffma@cs.purdue.edu