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

35
A Study of Ripple Effects In Software Ecosystems Romain Robbes Mircea Lungu University of Chile University of Bern Tuesday, June 7, 2011

description

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

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

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

A Study of Ripple Effects In Software Ecosystems

Romain Robbes Mircea LunguUniversity of Chile University of Bern

Tuesday, June 7, 2011

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

Ripple Effects

Architecture of Moose 3.2 made with Softwarenaut

Tuesday, June 7, 2011

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

Ripple Effects

Architecture of Moose 3.2 made with Softwarenaut

Tuesday, June 7, 2011

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

Ripple Effects

Architecture of Moose 3.2 made with Softwarenaut

Tuesday, June 7, 2011

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

Ecosystem Ripple Effects

Moose in the SCG Eco-system, made with SPOTuesday, June 7, 2011

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

Ecosystem Ripple Effects

? ? ?

?

? ?

?

??

Evidence?Moose in the SCG Eco-system, made with SPOTuesday, June 7, 2011

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

Evidence from mailing lists

• In the paper

• Seaside

• Moose

• ...

Tuesday, June 7, 2011

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

Evidence from mailing lists

• In the paper

• Seaside

• Moose

• ...

Seaside User: I noticed that the dialog classes listed below are not in [new version]. I am wondering if these classes have been dropped, have not been ported to [new version] or does their func- tionality exists elsewhere?

Tuesday, June 7, 2011

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

Evidence from mailing lists

• In the paper

• Seaside

• Moose

• ...

Seaside User: I noticed that the dialog classes listed below are not in [new version]. I am wondering if these classes have been dropped, have not been ported to [new version] or does their func- tionality exists elsewhere?

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

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

Evidence from mailing lists

• In the paper

• Seaside

• Moose

• ...

Moose User: [...] where is MOLabelShape, why was it deleted?? I use it and now is gone!!! I even had a specialization of it [...]

Tuesday, June 7, 2011

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

Evidence from an ecosystem history

Tuesday, June 7, 2011

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

Evidence from an ecosystem history

• SqueakSource - More than

• 7 years of history

• 2000 projects

• 3000 developers

Tuesday, June 7, 2011

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

Searching for Ripples

Tuesday, June 7, 2011

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

Searching for Ripples• Source: additions, deletions, modifications, deprecations

Tuesday, June 7, 2011

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

Searching for Ripples• Source: additions, deletions, modifications, deprecations

• Algorithm for deprecation-based-ripples

Tuesday, June 7, 2011

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

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

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

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

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

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

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

Top 5 Ripples from The Case Study

Origin System Deprecated Method Systematic Replacement

# of Affected Systems

# of Affected Developers

System-Support Author initials Author fullName 120 110Seaside WACanvas bold: WACanvas strong: 61 59Seaside WASession

registerForBackgracking:(...) states 43 47

Famix-Core FAMIXNamedEntity packagedIn

FAMIXNamedEntity parentPackage

33 11

Kernel ClassDescription metaclass ClassDescription theMetaClass

31 34

System-Support Utilities authorInitials Author initials 37 45Kernel Object isKindOf:orOf: 12 24Collections-Text Text isoToSqueak 18 22

Tuesday, June 7, 2011

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

A Ripple Example

remove

add

old

new

... other

ripple

revert

Tuesday, June 7, 2011

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

A Ripple Example

packagedIn renamed to

parentPackage

remove

add

old

new

... other

ripple

revert

Tuesday, June 7, 2011

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

A Ripple Example

update, revert, update again

remove

add

old

new

... other

original

ripple

revert

Tuesday, June 7, 2011

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

A Ripple Example

ripples

Tuesday, June 7, 2011

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

A Ripple Example

inconsistent state

Tuesday, June 7, 2011

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

Conclusions

Tuesday, June 7, 2011

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

Conclusions• Evidence that ecosystem ripple effects can

Tuesday, June 7, 2011

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

Conclusions• Evidence that ecosystem ripple effects can

• Have a broad impact

Tuesday, June 7, 2011

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

Conclusions• Evidence that ecosystem ripple effects can

• Have a broad impact

• Have a long life

Tuesday, June 7, 2011

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

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

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

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

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

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

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

Ripple Effects of the Article

Tuesday, June 7, 2011

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

Ripple Effects of the Article

• Extended Version

Tuesday, June 7, 2011

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

Ripple Effects of the Article

• Extended Version

• Tool Support

Tuesday, June 7, 2011

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

Ripple Effects of the Article

• Extended Version

• Tool Support

• Study replication in different ecosystems

Tuesday, June 7, 2011