SlideShare una empresa de Scribd logo
1 de 35
Descargar para leer sin conexión
A Study of Ripple Effects
                 In Software Ecosystems
                        Romain Robbes         Mircea Lungu
                        University of Chile   University of Bern




Tuesday, June 7, 2011
Ripple Effects




Architecture of Moose 3.2
 made with Softwarenaut
Tuesday, June 7, 2011
Ripple Effects




Architecture of Moose 3.2
 made with Softwarenaut
Tuesday, June 7, 2011
Ripple Effects




Architecture of Moose 3.2
 made with Softwarenaut
Tuesday, June 7, 2011
Ecosystem Ripple
                             Effects




Moose in the SCG Eco-
system, made with SPO
Tuesday, June 7, 2011
Ecosystem Ripple
                                 Effects
                            ?
                        ?

                        ?       ? ?   ?   ?

                                          ?

                                      ?

Moose in the SCG Eco-
                                              Evidence?
system, made with SPO
Tuesday, June 7, 2011
Evidence from
                                 mailing lists
                • In the paper

                        • Seaside

                        • Moose

                        • ...




Tuesday, June 7, 2011
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
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
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
Evidence from
                   an ecosystem history




Tuesday, June 7, 2011
Evidence from
                   an ecosystem history

                • SqueakSource - More than

                        • 7 years of history

                        • 2000 projects

                        • 3000 developers




Tuesday, June 7, 2011
Searching for Ripples




Tuesday, June 7, 2011
Searching for Ripples
                • Source: additions, deletions, modifications, deprecations




Tuesday, June 7, 2011
Searching for Ripples
                • Source: additions, deletions, modifications, deprecations

                • Algorithm for deprecation-based-ripples




Tuesday, June 7, 2011
Searching for Ripples
                • Source: additions, deletions, modifications, deprecations

                • Algorithm for deprecation-based-ripples

                        1. Find all the entities in the ecosystem that were
                           deprecated




Tuesday, June 7, 2011
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




Tuesday, June 7, 2011
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 ripple



Tuesday, June 7, 2011
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               22




Tuesday, June 7, 2011
A Ripple Example
                                         new
                                                        ripple
                                   old

                                         add            revert

                                         remove
                                                  ...   other




Tuesday, June 7, 2011
A Ripple Example
                                         new
                                                        ripple
                                   old

                                         add            revert

                                         remove
                                                  ...   other




           packagedIn
           renamed to
          parentPackage




Tuesday, June 7, 2011
A Ripple Example
                                            new                original

                                      old
                                                               ripple
                                            add

                                            remove             revert


                                                         ...   other




                                                  update, revert,
                                                   update again




Tuesday, June 7, 2011
A Ripple Example


                                           ripples




Tuesday, June 7, 2011
A Ripple Example




                                      inconsistent state

Tuesday, June 7, 2011
Conclusions




Tuesday, June 7, 2011
Conclusions
                • Evidence that ecosystem ripple effects can




Tuesday, June 7, 2011
Conclusions
                • Evidence that ecosystem ripple effects can

                        • Have a broad impact




Tuesday, June 7, 2011
Conclusions
                • Evidence that ecosystem ripple effects can

                        • Have a broad impact

                        • Have a long life




Tuesday, June 7, 2011
Conclusions
                • Evidence that ecosystem ripple effects can

                        • Have a broad impact

                        • Have a long life

                • Developers don’t know their clients




Tuesday, June 7, 2011
Conclusions
                • Evidence that ecosystem ripple effects can

                        • Have a broad impact

                        • Have a long life

                • Developers don’t know their clients

                        • Angry impactees




Tuesday, June 7, 2011
Conclusions
                • Evidence that ecosystem ripple effects can

                        • Have a broad impact

                        • Have a long life

                • Developers don’t know their clients

                        • Angry impactees

                        • Defensive deprecation


Tuesday, June 7, 2011
Ripple Effects of the
                               Article




Tuesday, June 7, 2011
Ripple Effects of the
                               Article

                • Extended Version




Tuesday, June 7, 2011
Ripple Effects of the
                               Article

                • Extended Version

                • Tool Support




Tuesday, June 7, 2011
Ripple Effects of the
                               Article

                • Extended Version

                • Tool Support

                • Study replication in different ecosystems




Tuesday, June 7, 2011

Más contenido relacionado

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

Governing services, data, rules, processes and more
Governing services, data, rules, processes and moreGoverning services, data, rules, processes and more
Governing services, data, rules, processes and moreRandall Hauch
 
An introduction to OSGi
An introduction to OSGi An introduction to OSGi
An introduction to OSGi Andrea Chiodoni
 
Building Scalable Web Apps
Building Scalable Web AppsBuilding Scalable Web Apps
Building Scalable Web Appszeeg
 
Crocker lori
Crocker loriCrocker lori
Crocker loriNASAPMC
 
How Plone's Security Works
How Plone's Security WorksHow Plone's Security Works
How Plone's Security WorksMatthew Wilkes
 
Where are we going and how are we going to get there?
Where are we going and how are we going to get there?Where are we going and how are we going to get there?
Where are we going and how are we going to get there?David De Roure
 
Retrospective about SBML on the occasion of the 10th Anniversary of SBML
Retrospective about SBML on the occasion of the 10th Anniversary of SBMLRetrospective about SBML on the occasion of the 10th Anniversary of SBML
Retrospective about SBML on the occasion of the 10th Anniversary of SBMLMike Hucka
 

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

Governing services, data, rules, processes and more
Governing services, data, rules, processes and moreGoverning services, data, rules, processes and more
Governing services, data, rules, processes and more
 
An introduction to OSGi
An introduction to OSGi An introduction to OSGi
An introduction to OSGi
 
Building Scalable Web Apps
Building Scalable Web AppsBuilding Scalable Web Apps
Building Scalable Web Apps
 
Crocker lori
Crocker loriCrocker lori
Crocker lori
 
How Plone's Security Works
How Plone's Security WorksHow Plone's Security Works
How Plone's Security Works
 
Varieties of Self-Awareness and Their Uses in Natural and Artificial Systems ...
Varieties of Self-Awareness and Their Uses in Natural and Artificial Systems ...Varieties of Self-Awareness and Their Uses in Natural and Artificial Systems ...
Varieties of Self-Awareness and Their Uses in Natural and Artificial Systems ...
 
Where are we going and how are we going to get there?
Where are we going and how are we going to get there?Where are we going and how are we going to get there?
Where are we going and how are we going to get there?
 
Retrospective about SBML on the occasion of the 10th Anniversary of SBML
Retrospective about SBML on the occasion of the 10th Anniversary of SBMLRetrospective about SBML on the occasion of the 10th Anniversary of SBML
Retrospective about SBML on the occasion of the 10th Anniversary of SBML
 

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

  • 1. A Study of Ripple Effects In Software Ecosystems Romain Robbes Mircea Lungu University of Chile University of Bern Tuesday, June 7, 2011
  • 2. Ripple Effects Architecture of Moose 3.2 made with Softwarenaut Tuesday, June 7, 2011
  • 3. Ripple Effects Architecture of Moose 3.2 made with Softwarenaut Tuesday, June 7, 2011
  • 4. Ripple Effects Architecture of Moose 3.2 made with Softwarenaut Tuesday, June 7, 2011
  • 5. Ecosystem Ripple Effects Moose in the SCG Eco- system, made with SPO Tuesday, June 7, 2011
  • 6. Ecosystem Ripple Effects ? ? ? ? ? ? ? ? ? Moose in the SCG Eco- Evidence? system, made with SPO Tuesday, June 7, 2011
  • 7. Evidence from mailing lists • In the paper • Seaside • Moose • ... Tuesday, June 7, 2011
  • 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. 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. 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. Evidence from an ecosystem history Tuesday, June 7, 2011
  • 12. Evidence from an ecosystem history • SqueakSource - More than • 7 years of history • 2000 projects • 3000 developers Tuesday, June 7, 2011
  • 14. Searching for Ripples • Source: additions, deletions, modifications, deprecations Tuesday, June 7, 2011
  • 15. Searching for Ripples • Source: additions, deletions, modifications, deprecations • Algorithm for deprecation-based-ripples Tuesday, June 7, 2011
  • 16. Searching for Ripples • Source: additions, deletions, modifications, deprecations • Algorithm for deprecation-based-ripples 1. Find all the entities in the ecosystem that were deprecated Tuesday, June 7, 2011
  • 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 replacement Tuesday, June 7, 2011
  • 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 ripple Tuesday, June 7, 2011
  • 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 22 Tuesday, June 7, 2011
  • 20. A Ripple Example new ripple old add revert remove ... other Tuesday, June 7, 2011
  • 21. A Ripple Example new ripple old add revert remove ... other packagedIn renamed to parentPackage Tuesday, June 7, 2011
  • 22. A Ripple Example new original old ripple add remove revert ... other update, revert, update again Tuesday, June 7, 2011
  • 23. A Ripple Example ripples Tuesday, June 7, 2011
  • 24. A Ripple Example inconsistent state Tuesday, June 7, 2011
  • 26. Conclusions • Evidence that ecosystem ripple effects can Tuesday, June 7, 2011
  • 27. Conclusions • Evidence that ecosystem ripple effects can • Have a broad impact Tuesday, June 7, 2011
  • 28. Conclusions • Evidence that ecosystem ripple effects can • Have a broad impact • Have a long life Tuesday, June 7, 2011
  • 29. Conclusions • Evidence that ecosystem ripple effects can • Have a broad impact • Have a long life • Developers don’t know their clients Tuesday, June 7, 2011
  • 30. Conclusions • Evidence that ecosystem ripple effects can • Have a broad impact • Have a long life • Developers don’t know their clients • Angry impactees Tuesday, June 7, 2011
  • 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 deprecation Tuesday, June 7, 2011
  • 32. Ripple Effects of the Article Tuesday, June 7, 2011
  • 33. Ripple Effects of the Article • Extended Version Tuesday, June 7, 2011
  • 34. Ripple Effects of the Article • Extended Version • Tool Support Tuesday, June 7, 2011
  • 35. Ripple Effects of the Article • Extended Version • Tool Support • Study replication in different ecosystems Tuesday, June 7, 2011

Notas del editor

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n