A Study of Ripple Effects in Software Ecosystems (ICSE Presentation)

1,324 views

Published on

Presented at ICSE 2011 in the New Ideas and Emerging Results track.

In the associated paper we show that in a real world ecosystem ripple effects are frequent, long lived, and can have a very broad impact. More at: http://scg.unibe.ch/scgbib?query=lungu+ripple

  • Be the first to comment

A Study of Ripple Effects in Software Ecosystems (ICSE Presentation)

  1. 1. A Study of Ripple Effects In Software Ecosystems Romain Robbes Mircea Lungu University of Chile University of BernTuesday, June 7, 2011
  2. 2. Ripple EffectsArchitecture of Moose 3.2 made with SoftwarenautTuesday, June 7, 2011
  3. 3. Ripple EffectsArchitecture of Moose 3.2 made with SoftwarenautTuesday, June 7, 2011
  4. 4. Ripple EffectsArchitecture of Moose 3.2 made with SoftwarenautTuesday, June 7, 2011
  5. 5. Ecosystem Ripple EffectsMoose in the SCG Eco-system, made with SPOTuesday, June 7, 2011
  6. 6. Ecosystem Ripple Effects ? ? ? ? ? ? ? ? ?Moose in the SCG Eco- Evidence?system, made with SPOTuesday, June 7, 2011
  7. 7. Evidence from mailing lists • In the paper • Seaside • Moose • ...Tuesday, June 7, 2011
  8. 8. Evidence from mailing lists Seaside User: • In the paper I noticed that the dialog classes listed below are not in [new version]. I am wondering if these classes have • Seaside been dropped, have not been ported to [new version] or does their func- tionality exists elsewhere? • Moose • ...Tuesday, June 7, 2011
  9. 9. Evidence from mailing lists Seaside User: • In the paper I noticed that the dialog classes listed below are not in [new version]. I am wondering if these classes have • Seaside been dropped, have not been ported to [new version] or does their func- tionality exists elsewhere? • Moose Seaside Developer: • ... They have been dropped. A mail went out to this list if anybody still used them and nobody replied. [...] Personally I donʼt know of any application that uses these dialogs.Tuesday, June 7, 2011
  10. 10. Evidence from mailing lists • In the paper Moose User: • Seaside [...] where is MOLabelShape, why was it deleted?? I use it and now is gone!!! I even had a specialization • Moose of it [...] • ...Tuesday, June 7, 2011
  11. 11. Evidence from an ecosystem historyTuesday, June 7, 2011
  12. 12. Evidence from an ecosystem history • SqueakSource - More than • 7 years of history • 2000 projects • 3000 developersTuesday, June 7, 2011
  13. 13. Searching for RipplesTuesday, June 7, 2011
  14. 14. Searching for Ripples • Source: additions, deletions, modifications, deprecationsTuesday, June 7, 2011
  15. 15. Searching for Ripples • Source: additions, deletions, modifications, deprecations • Algorithm for deprecation-based-ripplesTuesday, June 7, 2011
  16. 16. Searching for Ripples • Source: additions, deletions, modifications, deprecations • Algorithm for deprecation-based-ripples 1. Find all the entities in the ecosystem that were deprecatedTuesday, June 7, 2011
  17. 17. Searching for Ripples • Source: additions, deletions, modifications, deprecations • Algorithm for deprecation-based-ripples 1. Find all the entities in the ecosystem that were deprecated 2. For each look at all the events that involve that entity and/or its suggested replacementTuesday, June 7, 2011
  18. 18. Searching for Ripples • Source: additions, deletions, modifications, deprecations • Algorithm for deprecation-based-ripples 1. Find all the entities in the ecosystem that were deprecated 2. For each look at all the events that involve that entity and/or its suggested replacement 3. Replacements that happened after the deprecation as consequences of a rippleTuesday, June 7, 2011
  19. 19. Top 5 Ripples from The Case Study Systematic # of Affected # of Affected Origin System Deprecated Method Replacement Systems Developers System-Support Author initials Author fullName 120 110 Seaside WACanvas bold: WACanvas strong: 61 59 Seaside WASession (...) states 43 47 registerForBackgracking: Famix-Core FAMIXNamedEntity FAMIXNamedEntity 33 11 packagedIn parentPackage Kernel ClassDescription metaclass ClassDescription 31 34 theMetaClass System-Support Utilities authorInitials Author initials 37 45 Kernel Object isKindOf:orOf: 12 24 Collections-Text Text isoToSqueak 18 22Tuesday, June 7, 2011
  20. 20. A Ripple Example new ripple old add revert remove ... otherTuesday, June 7, 2011
  21. 21. A Ripple Example new ripple old add revert remove ... other packagedIn renamed to parentPackageTuesday, June 7, 2011
  22. 22. A Ripple Example new original old ripple add remove revert ... other update, revert, update againTuesday, June 7, 2011
  23. 23. A Ripple Example ripplesTuesday, June 7, 2011
  24. 24. A Ripple Example inconsistent stateTuesday, June 7, 2011
  25. 25. ConclusionsTuesday, June 7, 2011
  26. 26. Conclusions • Evidence that ecosystem ripple effects canTuesday, June 7, 2011
  27. 27. Conclusions • Evidence that ecosystem ripple effects can • Have a broad impactTuesday, June 7, 2011
  28. 28. Conclusions • Evidence that ecosystem ripple effects can • Have a broad impact • Have a long lifeTuesday, June 7, 2011
  29. 29. Conclusions • Evidence that ecosystem ripple effects can • Have a broad impact • Have a long life • Developers don’t know their clientsTuesday, June 7, 2011
  30. 30. Conclusions • Evidence that ecosystem ripple effects can • Have a broad impact • Have a long life • Developers don’t know their clients • Angry impacteesTuesday, June 7, 2011
  31. 31. Conclusions • Evidence that ecosystem ripple effects can • Have a broad impact • Have a long life • Developers don’t know their clients • Angry impactees • Defensive deprecationTuesday, June 7, 2011
  32. 32. Ripple Effects of the ArticleTuesday, June 7, 2011
  33. 33. Ripple Effects of the Article • Extended VersionTuesday, June 7, 2011
  34. 34. Ripple Effects of the Article • Extended Version • Tool SupportTuesday, June 7, 2011
  35. 35. Ripple Effects of the Article • Extended Version • Tool Support • Study replication in different ecosystemsTuesday, June 7, 2011

×