Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

USING STRUCTURAL HOLES METRICS FROM COMMUNICATION NETWORKS TO PREDICT CHANGE DEPENDENCIES

481 views

Published on

Our paper presentation on CRIWG 14.

Published in: Education
  • Be the first to comment

USING STRUCTURAL HOLES METRICS FROM COMMUNICATION NETWORKS TO PREDICT CHANGE DEPENDENCIES

  1. 1. USING STRUCTURAL HOLES METRICS FROM COMMUNICATION NETWORKS TO PREDICT CHANGE DEPENDENCIES Igor Wiese, Rodrigo Kuroda, Douglas Nassif, Reginaldo Ré, Gustavo Oliva and Marco Aurélio Gerosa
  2. 2. 2 MOTIVATION SCENARIO Subsystem A Class a Class c Class b Subsystem B Class d Class e Software systems are composed by Artifacts that dependes one each other
  3. 3. 3 MOTIVATION SCENARIO
  4. 4. 4 MOTIVATION SCENARIO
  5. 5. 5 MOTIVATION SCENARIO
  6. 6. CHANGE DEPENDENCIES 6 Artifacts a1 Artifacts a2 time Change coupling commit A change dependency indicates that two artifacts changed together (co-changed) in the past, making them evolutionarily connected
  7. 7. 7 CONWAY´S LAW Subsystem A Class a Class c Class b Subsystem B Class d Class e "organizations which design systems are constrained to produce designs which are copies of the communication structures of these organization”
  8. 8. 8 CONWAY´S LAW Artifacts a1 Artifacts a2 time Change coupling commit to check the impact of the structure of communications networks to predict the occurrence of change dependencies among artifacts
  9. 9. 9 STRUCTURAL HOLE Structural Holes Metric (SHM) can reflect gaps between nodes in a social network indicating that a developer on either side of the hole have access to different flows of information. Network A Network B
  10. 10. 10 RQ1. Can SHM from communication predict change dependencies? RQ2. What is the role of SHM from communication to predict change dependencies?
  11. 11. DATA COLLECTION 11 Two years of data, Split into six-months timeframes.
  12. 12. COMPUTING CHANGE DEPENDENCIES 12 Combine all files in pairs Going throught the timeframe analysis Filter out co- changes (5 couplings as support count) Split the classes (higher than the median = strong)
  13. 13. BUILDING THE COMMUNICATION NETWORK 13 Recover the PR for each change dependency Build the network Calculate the SHM metrics d1 d2 Submitted Pull Request (PR) First comment d3 Second comment
  14. 14. COMPUTING STRUCTURAL HOLES 14 Recover the PR for each change dependency Build the network Calculate the SHM metrics • Effective Size is the portion of non-redundant neighbors of a node • Efficiency normalizes the effective size by the number of neighbors • Constraint measure the lack of holes among neighbors • Hierarchy measures the concentration of constraint to a single node Few values: non-redundant neighbors Few values: high redundant neighbors High values: many alternatives to access the neighbors High values: constraint is concentrated in a single neighbor
  15. 15. CLASSIFICATION APPROACH 15 𝐹 − measure = 2 ∗ 𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 ∗ 𝑟𝑒𝑐𝑎𝑙𝑙 𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 + 𝑟𝑒𝑐𝑎𝑙𝑙 A good model yields both high precision and high recall. However, increasing one often reduces the other. F-measure returns a balanced score of recall and precision
  16. 16. CLASSIFICATION APPROACH 16 𝑀𝐶𝐶 = 𝑅𝑒𝑐𝑎𝑙𝑙 𝑊𝑒𝑎𝑘𝐶𝑜𝐶ℎ𝑎𝑛𝑔𝑒 + 𝑅𝑒𝑐𝑎𝑙𝑙 𝑆𝑡𝑟𝑜𝑛𝑔𝐶𝑜𝐶ℎ𝑎𝑛𝑔𝑒 − 1 ∗ 𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 𝑊𝑒𝑎𝑘𝐶𝑜𝐶ℎ𝑎𝑛𝑔𝑒 + 𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 𝑆𝑡𝑟𝑜𝑛𝑔𝐶𝑜𝐶ℎ𝑎𝑛𝑔𝑒 − 1 MCC returns a value between -1 and +1. A coefficient of +1 represents a perfect prediction, 0 means a random prediction and -1 indicates total disagreement between prediction and observations
  17. 17. RESULTS: RQ1 CAN SHM FROM COMMUNICATION NETWORKS PREDICT CHANGE DEPENDENCIES? 17
  18. 18. RESULTS: RQ1 CAN SHM FROM COMMUNICATION NETWORKS PREDICT CHANGE DEPENDENCIES? 18 Models controlled by process metrics (number of commits and developers) Area under the Curve > 0.7 1 2 cannot found statistical difference between SHM and Process metrics 3
  19. 19. RESULTS: RQ2 WHICH IS THE ROLE OF SHM FROM COMMUNICATION TO PREDICT CO-CHANGES? • We generated the tree using the Classication tree algorithm. • To rank the metrics we counted the amount of times that each metric appeared on the first four levels of each tree for both projects. • We generated 8 treens (4 timeframes periods for each Project) • Node.JS only with SHM • constraintAVG (6), hierarchySUM (6), hierarchyAVG (3), efficiencySUM (3), • Node.Js with process • Commits (19), updates (14), effectiveSizeSUM (6), efficiencySUM (2), constraintMAX (3) • For Rails with process • commits (8), updates (3), efficiencyAVG (3), effectiveSizeSUM (3), effectiveSizeAVG (2), constraintSUM (2), efficiencySUM (2)
  20. 20. RESULTS: WHAT IS THE ROLE OF SHM FROM COMMUNICATION TO PREDICT CO-CHANGES?
  21. 21. CONTRIBUTIONS • As main contribution, we shown that SHM obtained from communication networks can support the Conway’s law and predict change dependencies. • Since this first effort to use social metrics presented promising results, we will explore more broadly this social dimension of development process. • Adding new projects • Adding new social metrics • Comparing with other software aspects (code metrics, architectural aspects, etc.)
  22. 22. http://lapessc.ime.usp.br/ Thank you igor@utfpr.edu.br

×