2. Software ecosystem health
Prof. Dr. Tom Mens
Software Engineering Lab
University of Mons
• Ecosystem evolution
• Ecosystem health
www.secohealth.org
2
4. Software ecosystem health
Sustainability
Increase or maintain its user/developer
community over longer periods of time and
can survive inherent changes
(such as new technologies or new products)
that can change the population
4
5. Software ecosystem evolution
Empirical investigation of software ecosystems
• Social changes
• Technical impact of social changes
Social
Changes
Technical
Changes
5
10. Socio-technical activity
Intensity
• Amount of contributions
Frequency
• How often the contributions are made
Inactivity length
• Max(Continuous period of time of inactivity)
10
11. Grouping developers (based on combined
socio-technical factors)
Social activity
• Presence (True/False)
• Intensity (NA/Low/High)
• Frequency (NA/Low/High)
• Inactivity (NA/Low/High)
Technical activity
• Intensity (Low/High)
• Frequency (Low/High)
• Inactivity (Low/High)
11
12. Social Presence
Technical Intensity
Grouping developers (based on combined
socio-technical factors)
Social activity
• Presence (True/False)
• Intensity (NA/Low/High)
• Frequency (NA/Low/High)
• Inactivity (NA/Low/High)
Technical activity
• Intensity (Low/High)
• Frequency (Low/High)
• Inactivity (Low/High)
12
13. Grouping developers (based on combined
socio-technical factors)
Social activity
• Presence (True/False)
• Intensity (NA/Low/High)
• Frequency (NA/Low/High)
• Inactivity (NA/Low/High)
Technical activity
• Intensity (Low/High)
• Frequency (Low/High)
• Inactivity (Low/High)
66 combinations of factors Survival analysis
13
15. Social Presence – Technical Frequency
Group 1 Group 2 Group 3 Group 4
Social Presence
Technical Frequency
15
16. Social Presence – Technical Inactivity
Group 5 Group 6 Group 7 Group 8
Social Presence
Technical Inactivity
16
17. Social Presence – Technical Intensity
Group 9 Group 10 Group 11 Group 12
Social Presence
Technical Intensity
17
18. Summary of our findings
Social activity presence
positively affects
developer retention
-
Is it enough?
18
19. Having frequent commits is necessary but not
enough…
Group 13 Group 14 Group 15 Group 16 Group 17 Group 18
Social
Frequency
Technical
Frequency
NANA
19
20. Developers need to have low commit inactivity gaps…
Group 19 Group 20 Group 21 Group 22 Group 23 Group 24
Social
Frequency
Technical
Inactivity
NANA
20
21. Commit commit commit…
Group 31 Group 32 Group 33 Group 34 Group 35 Group 36
Social
Intensity
Technical
Frequency
NANA
21
22. Developers need to have low commit inactivity gaps…
Group 37 Group 38 Group 39 Group 40 Group 41 Group 42
Social
Intensity
Technical
Inactivity
NANA
22
23. Social and frequent commit activity
Group 49 Group 50 Group 51 Group 52 Group 53 Group 54
Social
Inactivity
Technical
Frequency
NANA
23
24. Summary of our findings
Intense and frequent
commit activity is not enough
…
Developers also need to have
intense and frequent
messaging activity
24
25. Summary of our findings
Low social activity
retains developers for
longer periods of times
compared to social inactivity
25
26. Summary of our findings
npm developers
tend to remain active
for longer periods of time
compared
to the respective categories of
RubyGems developers
26
27. What next?
Merge the identities corresponding to the same
individuals
Identify the most important factors that help distinguish
risky developers
• Probably become inactive
Predict inactivity status
Take corrective measures
• Recommend suitable alternatives
27