USING STRUCTURAL HOLES METRICS FROM COMMUNICATION NETWORKS TO PREDICT CHANGE DEPENDENCIES

22
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

Transcript of USING STRUCTURAL HOLES METRICS FROM COMMUNICATION NETWORKS TO PREDICT CHANGE DEPENDENCIES

Page 1: USING STRUCTURAL HOLES METRICS FROM COMMUNICATION NETWORKS TO PREDICT CHANGE DEPENDENCIES

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

Page 2: USING STRUCTURAL HOLES METRICS FROM COMMUNICATION NETWORKS TO PREDICT CHANGE DEPENDENCIES

2

MOTIVATION SCENARIO

Subsystem A

Class aClass c

Class b

Subsystem B

Class d

Class e

Software systems are composed byArtifacts that

dependes one eachother

Page 3: USING STRUCTURAL HOLES METRICS FROM COMMUNICATION NETWORKS TO PREDICT CHANGE DEPENDENCIES

3

MOTIVATION SCENARIO

Page 4: USING STRUCTURAL HOLES METRICS FROM COMMUNICATION NETWORKS TO PREDICT CHANGE DEPENDENCIES

4

MOTIVATION SCENARIO

Page 5: USING STRUCTURAL HOLES METRICS FROM COMMUNICATION NETWORKS TO PREDICT CHANGE DEPENDENCIES

5

MOTIVATION SCENARIO

Page 6: USING STRUCTURAL HOLES METRICS FROM COMMUNICATION NETWORKS TO PREDICT CHANGE DEPENDENCIES

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

Page 7: USING STRUCTURAL HOLES METRICS FROM COMMUNICATION NETWORKS TO PREDICT CHANGE DEPENDENCIES

7

CONWAY´S LAW

Subsystem A

Class aClass 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”

Page 8: USING STRUCTURAL HOLES METRICS FROM COMMUNICATION NETWORKS TO PREDICT CHANGE DEPENDENCIES

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

Page 9: USING STRUCTURAL HOLES METRICS FROM COMMUNICATION NETWORKS TO PREDICT CHANGE DEPENDENCIES

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

Page 10: USING STRUCTURAL HOLES METRICS FROM COMMUNICATION NETWORKS TO PREDICT CHANGE DEPENDENCIES

10

RQ1. Can SHM from communication

predict change dependencies?

RQ2. What is the role of SHM from

communication to predict change

dependencies?

Page 11: USING STRUCTURAL HOLES METRICS FROM COMMUNICATION NETWORKS TO PREDICT CHANGE DEPENDENCIES

DATA COLLECTION

11

Two years of data, Split into six-months timeframes.

Page 12: USING STRUCTURAL HOLES METRICS FROM COMMUNICATION NETWORKS TO PREDICT CHANGE DEPENDENCIES

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)

Page 13: USING STRUCTURAL HOLES METRICS FROM COMMUNICATION NETWORKS TO PREDICT CHANGE DEPENDENCIES

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

Page 14: USING STRUCTURAL HOLES METRICS FROM COMMUNICATION NETWORKS TO PREDICT CHANGE DEPENDENCIES

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

Page 15: USING STRUCTURAL HOLES METRICS FROM COMMUNICATION NETWORKS TO PREDICT CHANGE DEPENDENCIES

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

Page 16: USING STRUCTURAL HOLES METRICS FROM COMMUNICATION NETWORKS TO PREDICT CHANGE DEPENDENCIES

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

Page 17: USING STRUCTURAL HOLES METRICS FROM COMMUNICATION NETWORKS TO PREDICT CHANGE DEPENDENCIES

RESULTS: RQ1 CAN SHM FROM COMMUNICATION NETWORKS

PREDICT CHANGE DEPENDENCIES?

17

Page 18: USING STRUCTURAL HOLES METRICS FROM COMMUNICATION NETWORKS TO PREDICT CHANGE DEPENDENCIES

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

Page 19: USING STRUCTURAL HOLES METRICS FROM COMMUNICATION NETWORKS TO PREDICT CHANGE DEPENDENCIES

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)

Page 20: USING STRUCTURAL HOLES METRICS FROM COMMUNICATION NETWORKS TO PREDICT CHANGE DEPENDENCIES

RESULTS: WHAT IS THE ROLE OF SHM FROM COMMUNICATION

TO PREDICT CO-CHANGES?

Page 21: USING STRUCTURAL HOLES METRICS FROM COMMUNICATION NETWORKS TO PREDICT CHANGE DEPENDENCIES

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

Page 22: USING STRUCTURAL HOLES METRICS FROM COMMUNICATION NETWORKS TO PREDICT CHANGE DEPENDENCIES

http://lapessc.ime.usp.br/

Thank you

[email protected]