SlideShare a Scribd company logo
1 of 1
Download to read offline
Measuring Disruption from Software Evolution Activities Using Graph-Based Metrics
                                        Prashant Paymal, Rajvardhan Patil, Sanjukta Bhowmick, Harvey Siy, University of Nebraska at Omaha
                       Background                                                      Network Properties                                                       Disruption                                                      Effect on Quality
  Real-world software systems have large numbers                                                                                         Disruption – extent to which class relationships
  of components (e.g., classes, functions, etc.) It is                                                                                   are disrupted in the course of software evolution.                                                   Higher percentage of bug fix changes
  difficult to get a quick summary of how system                                                                                         1.   Value disruption – measures change in the values of                                             relative to total changes after V3 and
                                                                                                                                                                                                                                              V5, coinciding with periods of higher
  evolved after a major change, such as perfective                                                                                            vertex properties.
                                                                                                                                                                                                                                              disruption.
  maintenance activity or new software release.                                                                                          2.   Rank disruption – measures change in ordering of
                                                                                                                                              vertex properties.
  Key Idea: Measure how the relationships are
  affected or disrupted by such changes.                                        Jump in size from V2-V3 and V4-V5.                                                                                                    Communities of Vertices
                                                                                                                                                                                                              Find closely connected
                      What We Did                                                                                                                                                                             groups of vertices
 Our approach:                                                                                                                                                                                                (communities).
                                                                                                                                                                                                                                                             “DrawingView”
 • Model software as a directed graph
 • Apply dynamic network analysis.
 Dynamic Network Analysis Strategy:
 1. Study network properties
    • Size                                                                                                                                                      Higher values from
                                                                                                                                                                 V2-V3 and V4-V5
    • Degree distribution of vertices                                                                                                                                                                                                                     “Figure”


    • Communities of vertices                                                                                                                                                                                            Network of V1
                                                                                                                                                                                                                          Node size: CC
 2. Study vertex properties                                                                                                                                                                                              Blues: BC ≤ 10
                                                                                                                                                                                                                      Greens: 10 < BC ≤ 100
    • Degree – fan-in and fan-out of vertex                                                                                                                                                                             Yellows: BC > 100


    • Betweenness Centrality (BC)                                             In-degree and out-degree distributions
       – ratio of shortest paths through a vertex                            observe power law → scale-free networks
    • Clustering Coefficient (CC)                                                                                                                       Important Vertices
       – connections between neighbors                                                   Vertex Properties                                “High importance” – high degrees, BC, or CC, or is AP.
    • Articulation Point (AP)
       – removal causes network disconnection
 3. Compute disruption measures                                                                                                                                                                               Large communities have more Average count of edges per vertex
 4. Characterize changes in vertex properties                                                                                                                                                                 relationships within than to appears capped at 3-4 edges →
                                                                                                                                                                                                              external vertices → modular  manageable communities
 5. Characterize new vertices
 6. Compare against project data                                                                                                                                                                                             JHotDraw Findings
                                                                               Positive correlation            Negative in V1, V2        Distribution of important           Vertices that were important    • Higher disruption from V2-V3 and V4-V5
                                                                       Highly connected classes are central    Positive in V4,V5         vertices decreases over time        in V1 tend to stay important.
                  Data: JHotDraw 5                                                                                                       due to addition of new (and
                                                                                                                                                                                                             • Even so, core design appears stable.
                                                                                                                                         less important) vertices.                                             • Newer vertices added to network periphery.
Ver Date        Last Change                                                                               Earlier versions:
 V1    3/9/2001 Merge to JHotDraw 5.2 (using JFC/Swing GUI                                                New vertices are clusters of                                                                         • Important nodes stay important.
                components)                                                                               interdependent classes.                                                                              • Similar communities across versions.
 V2 10/24/2001 before merge for version 5.3 (dnd, undo,...), merge                                                                                                                                           • Degree of disruption may help explain why bug
                                                                                                          Latter versions:
                dnd (before 5.3)                                                                                                                                                                               incidence increases (future work)
                                                                                                          New vertices have few
 V3    8/4/2002 after various merges... (before 5.4 release)
                                                                                                          neighboring vertices.
 V4  11/8/2002 Refactor to use StandardStorageFormat as a
                superclass.
                                                                                                          New vertices are added to                                                                                         Acknowledgements
                                                                                                          network periphery.
 V5    5/8/2003 Refactoring of Cursor: - java.awt.Cursor (class) has            Negative in V1, V2                                                                                                           This research was funded in part by a Nebraska
                been sistematically replaced                                    Positive in V4,V5                                                                                                            EPSCoR First Award grant and by the College of
 V6    1/9/2004 After renaming the CH.ifa.draw to org.jhotdraw                                                                                                                                               IS&T, University of Nebraska at Omaha.

More Related Content

Viewers also liked

Natural Language Analysis - Mining Java Class Naming Conventions
Natural Language Analysis - Mining Java Class Naming ConventionsNatural Language Analysis - Mining Java Class Naming Conventions
Natural Language Analysis - Mining Java Class Naming ConventionsICSM 2011
 
ERA - Clustering and Recommending Collections of Code Relevant to Task
ERA - Clustering and Recommending Collections of Code Relevant to TaskERA - Clustering and Recommending Collections of Code Relevant to Task
ERA - Clustering and Recommending Collections of Code Relevant to TaskICSM 2011
 
Industry - Relating Developers' Concepts and Artefact Vocabulary in a Financ...
Industry -  Relating Developers' Concepts and Artefact Vocabulary in a Financ...Industry -  Relating Developers' Concepts and Artefact Vocabulary in a Financ...
Industry - Relating Developers' Concepts and Artefact Vocabulary in a Financ...ICSM 2011
 
Reliability and Quality - Predicting post-release defects using pre-release f...
Reliability and Quality - Predicting post-release defects using pre-release f...Reliability and Quality - Predicting post-release defects using pre-release f...
Reliability and Quality - Predicting post-release defects using pre-release f...ICSM 2011
 
Postdoc Symposium - Abram Hindle
Postdoc Symposium - Abram HindlePostdoc Symposium - Abram Hindle
Postdoc Symposium - Abram HindleICSM 2011
 
Metrics - Using Source Code Metrics to Predict Change-Prone Java Interfaces
Metrics - Using Source Code Metrics to Predict Change-Prone Java InterfacesMetrics - Using Source Code Metrics to Predict Change-Prone Java Interfaces
Metrics - Using Source Code Metrics to Predict Change-Prone Java InterfacesICSM 2011
 
Traceability - Structural Conformance Checking with Design Tests: An Evaluati...
Traceability - Structural Conformance Checking with Design Tests: An Evaluati...Traceability - Structural Conformance Checking with Design Tests: An Evaluati...
Traceability - Structural Conformance Checking with Design Tests: An Evaluati...ICSM 2011
 
Faults and Regression testing - Localizing Failure-Inducing Program Edits Bas...
Faults and Regression testing - Localizing Failure-Inducing Program Edits Bas...Faults and Regression testing - Localizing Failure-Inducing Program Edits Bas...
Faults and Regression testing - Localizing Failure-Inducing Program Edits Bas...ICSM 2011
 
Components - Crossing the Boundaries while Analyzing Heterogeneous Component-...
Components - Crossing the Boundaries while Analyzing Heterogeneous Component-...Components - Crossing the Boundaries while Analyzing Heterogeneous Component-...
Components - Crossing the Boundaries while Analyzing Heterogeneous Component-...ICSM 2011
 
Impact Analysis - ImpactScale: Quantifying Change Impact to Predict Faults in...
Impact Analysis - ImpactScale: Quantifying Change Impact to Predict Faults in...Impact Analysis - ImpactScale: Quantifying Change Impact to Predict Faults in...
Impact Analysis - ImpactScale: Quantifying Change Impact to Predict Faults in...ICSM 2011
 
Industry - The Evolution of Information Systems. A Case Study on Document Man...
Industry - The Evolution of Information Systems. A Case Study on Document Man...Industry - The Evolution of Information Systems. A Case Study on Document Man...
Industry - The Evolution of Information Systems. A Case Study on Document Man...ICSM 2011
 
ERA - Measuring Maintainability of Spreadsheets in the Wild
ERA - Measuring Maintainability of Spreadsheets in the Wild ERA - Measuring Maintainability of Spreadsheets in the Wild
ERA - Measuring Maintainability of Spreadsheets in the Wild ICSM 2011
 
Tutorial 2 - Practical Combinatorial (t-way) Methods for Detecting Complex Fa...
Tutorial 2 - Practical Combinatorial (t-way) Methods for Detecting Complex Fa...Tutorial 2 - Practical Combinatorial (t-way) Methods for Detecting Complex Fa...
Tutorial 2 - Practical Combinatorial (t-way) Methods for Detecting Complex Fa...ICSM 2011
 
Components - Graph Based Detection of Library API Limitations
Components - Graph Based Detection of Library API LimitationsComponents - Graph Based Detection of Library API Limitations
Components - Graph Based Detection of Library API LimitationsICSM 2011
 
Natural Language Analysis - Expanding Identifiers to Normalize Source Code Vo...
Natural Language Analysis - Expanding Identifiers to Normalize Source Code Vo...Natural Language Analysis - Expanding Identifiers to Normalize Source Code Vo...
Natural Language Analysis - Expanding Identifiers to Normalize Source Code Vo...ICSM 2011
 
Impact analysis - A Seismology-inspired Approach to Study Change Propagation
Impact analysis - A Seismology-inspired Approach to Study Change PropagationImpact analysis - A Seismology-inspired Approach to Study Change Propagation
Impact analysis - A Seismology-inspired Approach to Study Change PropagationICSM 2011
 
Postdoc symposium - A Logic Meta-Programming Foundation for Example-Driven Pa...
Postdoc symposium - A Logic Meta-Programming Foundation for Example-Driven Pa...Postdoc symposium - A Logic Meta-Programming Foundation for Example-Driven Pa...
Postdoc symposium - A Logic Meta-Programming Foundation for Example-Driven Pa...ICSM 2011
 
Industry - Estimating software maintenance effort from use cases an indu...
Industry - Estimating software maintenance effort from use cases an      indu...Industry - Estimating software maintenance effort from use cases an      indu...
Industry - Estimating software maintenance effort from use cases an indu...ICSM 2011
 
Lionel Briand ICSM 2011 Keynote
Lionel Briand ICSM 2011 KeynoteLionel Briand ICSM 2011 Keynote
Lionel Briand ICSM 2011 KeynoteICSM 2011
 
Richard Kemmerer Keynote icsm11
Richard Kemmerer Keynote icsm11Richard Kemmerer Keynote icsm11
Richard Kemmerer Keynote icsm11ICSM 2011
 

Viewers also liked (20)

Natural Language Analysis - Mining Java Class Naming Conventions
Natural Language Analysis - Mining Java Class Naming ConventionsNatural Language Analysis - Mining Java Class Naming Conventions
Natural Language Analysis - Mining Java Class Naming Conventions
 
ERA - Clustering and Recommending Collections of Code Relevant to Task
ERA - Clustering and Recommending Collections of Code Relevant to TaskERA - Clustering and Recommending Collections of Code Relevant to Task
ERA - Clustering and Recommending Collections of Code Relevant to Task
 
Industry - Relating Developers' Concepts and Artefact Vocabulary in a Financ...
Industry -  Relating Developers' Concepts and Artefact Vocabulary in a Financ...Industry -  Relating Developers' Concepts and Artefact Vocabulary in a Financ...
Industry - Relating Developers' Concepts and Artefact Vocabulary in a Financ...
 
Reliability and Quality - Predicting post-release defects using pre-release f...
Reliability and Quality - Predicting post-release defects using pre-release f...Reliability and Quality - Predicting post-release defects using pre-release f...
Reliability and Quality - Predicting post-release defects using pre-release f...
 
Postdoc Symposium - Abram Hindle
Postdoc Symposium - Abram HindlePostdoc Symposium - Abram Hindle
Postdoc Symposium - Abram Hindle
 
Metrics - Using Source Code Metrics to Predict Change-Prone Java Interfaces
Metrics - Using Source Code Metrics to Predict Change-Prone Java InterfacesMetrics - Using Source Code Metrics to Predict Change-Prone Java Interfaces
Metrics - Using Source Code Metrics to Predict Change-Prone Java Interfaces
 
Traceability - Structural Conformance Checking with Design Tests: An Evaluati...
Traceability - Structural Conformance Checking with Design Tests: An Evaluati...Traceability - Structural Conformance Checking with Design Tests: An Evaluati...
Traceability - Structural Conformance Checking with Design Tests: An Evaluati...
 
Faults and Regression testing - Localizing Failure-Inducing Program Edits Bas...
Faults and Regression testing - Localizing Failure-Inducing Program Edits Bas...Faults and Regression testing - Localizing Failure-Inducing Program Edits Bas...
Faults and Regression testing - Localizing Failure-Inducing Program Edits Bas...
 
Components - Crossing the Boundaries while Analyzing Heterogeneous Component-...
Components - Crossing the Boundaries while Analyzing Heterogeneous Component-...Components - Crossing the Boundaries while Analyzing Heterogeneous Component-...
Components - Crossing the Boundaries while Analyzing Heterogeneous Component-...
 
Impact Analysis - ImpactScale: Quantifying Change Impact to Predict Faults in...
Impact Analysis - ImpactScale: Quantifying Change Impact to Predict Faults in...Impact Analysis - ImpactScale: Quantifying Change Impact to Predict Faults in...
Impact Analysis - ImpactScale: Quantifying Change Impact to Predict Faults in...
 
Industry - The Evolution of Information Systems. A Case Study on Document Man...
Industry - The Evolution of Information Systems. A Case Study on Document Man...Industry - The Evolution of Information Systems. A Case Study on Document Man...
Industry - The Evolution of Information Systems. A Case Study on Document Man...
 
ERA - Measuring Maintainability of Spreadsheets in the Wild
ERA - Measuring Maintainability of Spreadsheets in the Wild ERA - Measuring Maintainability of Spreadsheets in the Wild
ERA - Measuring Maintainability of Spreadsheets in the Wild
 
Tutorial 2 - Practical Combinatorial (t-way) Methods for Detecting Complex Fa...
Tutorial 2 - Practical Combinatorial (t-way) Methods for Detecting Complex Fa...Tutorial 2 - Practical Combinatorial (t-way) Methods for Detecting Complex Fa...
Tutorial 2 - Practical Combinatorial (t-way) Methods for Detecting Complex Fa...
 
Components - Graph Based Detection of Library API Limitations
Components - Graph Based Detection of Library API LimitationsComponents - Graph Based Detection of Library API Limitations
Components - Graph Based Detection of Library API Limitations
 
Natural Language Analysis - Expanding Identifiers to Normalize Source Code Vo...
Natural Language Analysis - Expanding Identifiers to Normalize Source Code Vo...Natural Language Analysis - Expanding Identifiers to Normalize Source Code Vo...
Natural Language Analysis - Expanding Identifiers to Normalize Source Code Vo...
 
Impact analysis - A Seismology-inspired Approach to Study Change Propagation
Impact analysis - A Seismology-inspired Approach to Study Change PropagationImpact analysis - A Seismology-inspired Approach to Study Change Propagation
Impact analysis - A Seismology-inspired Approach to Study Change Propagation
 
Postdoc symposium - A Logic Meta-Programming Foundation for Example-Driven Pa...
Postdoc symposium - A Logic Meta-Programming Foundation for Example-Driven Pa...Postdoc symposium - A Logic Meta-Programming Foundation for Example-Driven Pa...
Postdoc symposium - A Logic Meta-Programming Foundation for Example-Driven Pa...
 
Industry - Estimating software maintenance effort from use cases an indu...
Industry - Estimating software maintenance effort from use cases an      indu...Industry - Estimating software maintenance effort from use cases an      indu...
Industry - Estimating software maintenance effort from use cases an indu...
 
Lionel Briand ICSM 2011 Keynote
Lionel Briand ICSM 2011 KeynoteLionel Briand ICSM 2011 Keynote
Lionel Briand ICSM 2011 Keynote
 
Richard Kemmerer Keynote icsm11
Richard Kemmerer Keynote icsm11Richard Kemmerer Keynote icsm11
Richard Kemmerer Keynote icsm11
 

Similar to ERA Poster - Measuring Disruption from Software Evolution Activities Using Graph-Based Metrics

When Should You Consider Meta Architectures
When Should You Consider Meta ArchitecturesWhen Should You Consider Meta Architectures
When Should You Consider Meta ArchitecturesDaniel Cukier
 
When Should You Consider Meta Architectures
When Should You Consider Meta ArchitecturesWhen Should You Consider Meta Architectures
When Should You Consider Meta Architecturesccsl-usp
 
Bhark, E.W., Structured History Matching Workflow using Parameterization and ...
Bhark, E.W., Structured History Matching Workflow using Parameterization and ...Bhark, E.W., Structured History Matching Workflow using Parameterization and ...
Bhark, E.W., Structured History Matching Workflow using Parameterization and ...ebhark
 
Identity management
Identity managementIdentity management
Identity managementkamalikamj
 
Architecture Description Languages: An Overview
Architecture Description Languages: An OverviewArchitecture Description Languages: An Overview
Architecture Description Languages: An Overviewelliando dias
 
Bcmsn ccnp switch quick reference sheets --good (1)
Bcmsn ccnp  switch quick reference sheets --good (1)Bcmsn ccnp  switch quick reference sheets --good (1)
Bcmsn ccnp switch quick reference sheets --good (1)economicsvnsgu
 
S-CUBE LP: Service Level Agreement based Service infrastructures in the conte...
S-CUBE LP: Service Level Agreement based Service infrastructures in the conte...S-CUBE LP: Service Level Agreement based Service infrastructures in the conte...
S-CUBE LP: Service Level Agreement based Service infrastructures in the conte...virtual-campus
 
DHHTGraphs - Modeling beyond plain graphs
DHHTGraphs - Modeling beyond plain graphsDHHTGraphs - Modeling beyond plain graphs
DHHTGraphs - Modeling beyond plain graphsdbildh
 
Stairway to heaven webinar
Stairway to heaven webinarStairway to heaven webinar
Stairway to heaven webinarCloudBees
 
S-CUBE LP: Service Level Agreement based Service infrastructures in the conte...
S-CUBE LP: Service Level Agreement based Service infrastructures in the conte...S-CUBE LP: Service Level Agreement based Service infrastructures in the conte...
S-CUBE LP: Service Level Agreement based Service infrastructures in the conte...virtual-campus
 
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)David Rosenblum
 
Cloud Computing, SOA and Web 2.0, an inevitable convergence
Cloud Computing, SOA and Web 2.0, an inevitable convergenceCloud Computing, SOA and Web 2.0, an inevitable convergence
Cloud Computing, SOA and Web 2.0, an inevitable convergenceDavid Karam
 
Cloud Computing, SOA and Web 2.0, an inevitable convergence
Cloud Computing, SOA and Web 2.0, an inevitable convergenceCloud Computing, SOA and Web 2.0, an inevitable convergence
Cloud Computing, SOA and Web 2.0, an inevitable convergenceDavid Karam
 
JBoss Analyst tour Sept 2003
JBoss Analyst tour Sept 2003JBoss Analyst tour Sept 2003
JBoss Analyst tour Sept 2003runsignup
 
Showbox 2 2012
Showbox 2 2012Showbox 2 2012
Showbox 2 2012jboo2
 
Network relationships and network models in payment systems
Network relationships and network models in payment systemsNetwork relationships and network models in payment systems
Network relationships and network models in payment systemsKimmo Soramaki
 
Of Bugs and Men (and Plugins too)
Of Bugs and Men (and Plugins too)Of Bugs and Men (and Plugins too)
Of Bugs and Men (and Plugins too)Michel Wermelinger
 

Similar to ERA Poster - Measuring Disruption from Software Evolution Activities Using Graph-Based Metrics (20)

When Should You Consider Meta Architectures
When Should You Consider Meta ArchitecturesWhen Should You Consider Meta Architectures
When Should You Consider Meta Architectures
 
When Should You Consider Meta Architectures
When Should You Consider Meta ArchitecturesWhen Should You Consider Meta Architectures
When Should You Consider Meta Architectures
 
Bhark, E.W., Structured History Matching Workflow using Parameterization and ...
Bhark, E.W., Structured History Matching Workflow using Parameterization and ...Bhark, E.W., Structured History Matching Workflow using Parameterization and ...
Bhark, E.W., Structured History Matching Workflow using Parameterization and ...
 
Identity management
Identity managementIdentity management
Identity management
 
Architecture Description Languages: An Overview
Architecture Description Languages: An OverviewArchitecture Description Languages: An Overview
Architecture Description Languages: An Overview
 
Bcmsn ccnp switch quick reference sheets --good (1)
Bcmsn ccnp  switch quick reference sheets --good (1)Bcmsn ccnp  switch quick reference sheets --good (1)
Bcmsn ccnp switch quick reference sheets --good (1)
 
S-CUBE LP: Service Level Agreement based Service infrastructures in the conte...
S-CUBE LP: Service Level Agreement based Service infrastructures in the conte...S-CUBE LP: Service Level Agreement based Service infrastructures in the conte...
S-CUBE LP: Service Level Agreement based Service infrastructures in the conte...
 
DHHT - Modeling beyond plain graphs
DHHT - Modeling beyond plain graphsDHHT - Modeling beyond plain graphs
DHHT - Modeling beyond plain graphs
 
DHHTGraphs - Modeling beyond plain graphs
DHHTGraphs - Modeling beyond plain graphsDHHTGraphs - Modeling beyond plain graphs
DHHTGraphs - Modeling beyond plain graphs
 
Stairway to heaven webinar
Stairway to heaven webinarStairway to heaven webinar
Stairway to heaven webinar
 
S-CUBE LP: Service Level Agreement based Service infrastructures in the conte...
S-CUBE LP: Service Level Agreement based Service infrastructures in the conte...S-CUBE LP: Service Level Agreement based Service infrastructures in the conte...
S-CUBE LP: Service Level Agreement based Service infrastructures in the conte...
 
Sa 008 patterns
Sa 008 patternsSa 008 patterns
Sa 008 patterns
 
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)
 
Cloud Computing, SOA and Web 2.0, an inevitable convergence
Cloud Computing, SOA and Web 2.0, an inevitable convergenceCloud Computing, SOA and Web 2.0, an inevitable convergence
Cloud Computing, SOA and Web 2.0, an inevitable convergence
 
Cloud Computing, SOA and Web 2.0, an inevitable convergence
Cloud Computing, SOA and Web 2.0, an inevitable convergenceCloud Computing, SOA and Web 2.0, an inevitable convergence
Cloud Computing, SOA and Web 2.0, an inevitable convergence
 
JBoss Analyst tour Sept 2003
JBoss Analyst tour Sept 2003JBoss Analyst tour Sept 2003
JBoss Analyst tour Sept 2003
 
Showbox 2 2012
Showbox 2 2012Showbox 2 2012
Showbox 2 2012
 
Network relationships and network models in payment systems
Network relationships and network models in payment systemsNetwork relationships and network models in payment systems
Network relationships and network models in payment systems
 
Of Bugs and Men
Of Bugs and MenOf Bugs and Men
Of Bugs and Men
 
Of Bugs and Men (and Plugins too)
Of Bugs and Men (and Plugins too)Of Bugs and Men (and Plugins too)
Of Bugs and Men (and Plugins too)
 

Recently uploaded

Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 

Recently uploaded (20)

Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 

ERA Poster - Measuring Disruption from Software Evolution Activities Using Graph-Based Metrics

  • 1. Measuring Disruption from Software Evolution Activities Using Graph-Based Metrics Prashant Paymal, Rajvardhan Patil, Sanjukta Bhowmick, Harvey Siy, University of Nebraska at Omaha Background Network Properties Disruption Effect on Quality Real-world software systems have large numbers Disruption – extent to which class relationships of components (e.g., classes, functions, etc.) It is are disrupted in the course of software evolution. Higher percentage of bug fix changes difficult to get a quick summary of how system 1. Value disruption – measures change in the values of relative to total changes after V3 and V5, coinciding with periods of higher evolved after a major change, such as perfective vertex properties. disruption. maintenance activity or new software release. 2. Rank disruption – measures change in ordering of vertex properties. Key Idea: Measure how the relationships are affected or disrupted by such changes. Jump in size from V2-V3 and V4-V5. Communities of Vertices Find closely connected What We Did groups of vertices Our approach: (communities). “DrawingView” • Model software as a directed graph • Apply dynamic network analysis. Dynamic Network Analysis Strategy: 1. Study network properties • Size Higher values from V2-V3 and V4-V5 • Degree distribution of vertices “Figure” • Communities of vertices Network of V1 Node size: CC 2. Study vertex properties Blues: BC ≤ 10 Greens: 10 < BC ≤ 100 • Degree – fan-in and fan-out of vertex Yellows: BC > 100 • Betweenness Centrality (BC) In-degree and out-degree distributions – ratio of shortest paths through a vertex observe power law → scale-free networks • Clustering Coefficient (CC) Important Vertices – connections between neighbors Vertex Properties “High importance” – high degrees, BC, or CC, or is AP. • Articulation Point (AP) – removal causes network disconnection 3. Compute disruption measures Large communities have more Average count of edges per vertex 4. Characterize changes in vertex properties relationships within than to appears capped at 3-4 edges → external vertices → modular manageable communities 5. Characterize new vertices 6. Compare against project data JHotDraw Findings Positive correlation Negative in V1, V2 Distribution of important Vertices that were important • Higher disruption from V2-V3 and V4-V5 Highly connected classes are central Positive in V4,V5 vertices decreases over time in V1 tend to stay important. Data: JHotDraw 5 due to addition of new (and • Even so, core design appears stable. less important) vertices. • Newer vertices added to network periphery. Ver Date Last Change Earlier versions: V1 3/9/2001 Merge to JHotDraw 5.2 (using JFC/Swing GUI New vertices are clusters of • Important nodes stay important. components) interdependent classes. • Similar communities across versions. V2 10/24/2001 before merge for version 5.3 (dnd, undo,...), merge • Degree of disruption may help explain why bug Latter versions: dnd (before 5.3) incidence increases (future work) New vertices have few V3 8/4/2002 after various merges... (before 5.4 release) neighboring vertices. V4 11/8/2002 Refactor to use StandardStorageFormat as a superclass. New vertices are added to Acknowledgements network periphery. V5 5/8/2003 Refactoring of Cursor: - java.awt.Cursor (class) has Negative in V1, V2 This research was funded in part by a Nebraska been sistematically replaced Positive in V4,V5 EPSCoR First Award grant and by the College of V6 1/9/2004 After renaming the CH.ifa.draw to org.jhotdraw IS&T, University of Nebraska at Omaha.