Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Evolving6So9ware6Ecosystems6
Marktoberdorf6Summer6School62014

Lecture63
Tom6Mens6
So#ware(Engineering(Lab(
University(of(...
Natural(Ecosystems
65
Standing(on(the(shoulders(of(giants
Lamarck
Lotka
Volterra
Darwin
Pareto
July?August(2014(—(NATO(Marktoberdorf(Summer(School(—(Dependable(So#ware(Systems(Engineering
Main(Research(Ques7ons
Which(...
Biological(evolu7on
AND(BY(A(
DUMMY
July?August(2014(—(NATO(Marktoberdorf(Summer(School(—(Dependable(So#ware(Systems(Engineering 68
Terminology
Biological(eco...
July?August(2014(—(NATO(Marktoberdorf(Summer(School(—(Dependable(So#ware(Systems(Engineering 69
Comparison
July?August(2014(—(NATO(Marktoberdorf(Summer(School(—(Dependable(So#ware(Systems(Engineering 70
Comparison
Two/dual/views
July?August(2014(—(NATO(Marktoberdorf(Summer(School(—(Dependable(So#ware(Systems(Engineering 71
Comparison
software ecosys...
July?August(2014(—(NATO(Marktoberdorf(Summer(School(—(Dependable(So#ware(Systems(Engineering 72
Comparison
Two/dual/views
...
July?August(2014(—(NATO(Marktoberdorf(Summer(School(—(Dependable(So#ware(Systems(Engineering
Comparison(
Bipar7te(networks...
July?August(2014(—(NATO(Marktoberdorf(Summer(School(—(Dependable(So#ware(Systems(Engineering
Comparison(
Bipar7te(networks...
July?August(2014(—(NATO(Marktoberdorf(Summer(School(—(Dependable(So#ware(Systems(Engineering
Comparison(
Bipar7te(networks...
July?August(2014(—(NATO(Marktoberdorf(Summer(School(—(Dependable(So#ware(Systems(Engineering
Ecological(theories(of
evolu7...
July?August(2014(—(NATO(Marktoberdorf(Summer(School(—(Dependable(So#ware(Systems(Engineering 77
Evolu7onary(theories(
Darw...
July?August(2014(—(NATO(Marktoberdorf(Summer(School(—(Dependable(So#ware(Systems(Engineering 78
Evolu7onary(theories(
Darw...
July?August(2014(—(NATO(Marktoberdorf(Summer(School(—(Dependable(So#ware(Systems(Engineering 79
Evolu7on(History
So#ware

...
July?August(2014(—(NATO(Marktoberdorf(Summer(School(—(Dependable(So#ware(Systems(Engineering 80
Evolu7onary(theories(
Re7c...
July?August(2014(—(NATO(Marktoberdorf(Summer(School(—(Dependable(So#ware(Systems(Engineering 81
Evolu7onary(theories(
Re7c...
July?August(2014(—(NATO(Marktoberdorf(Summer(School(—(Dependable(So#ware(Systems(Engineering 82
Evolu7onary(theories(
Re7c...
July?August(2014(—(NATO(Marktoberdorf(Summer(School(—(Dependable(So#ware(Systems(Engineering 83
Evolu7onary(theories(
Re7c...
July?August(2014(—(NATO(Marktoberdorf(Summer(School(—(Dependable(So#ware(Systems(Engineering 84
Evolu7onary(theories(
Re7c...
July?August(2014(—(NATO(Marktoberdorf(Summer(School(—(Dependable(So#ware(Systems(Engineering 85
Evolu7onary(theories(
Holo...
July?August(2014(—(NATO(Marktoberdorf(Summer(School(—(Dependable(So#ware(Systems(Engineering 86
Evolu7onary(theories(
Holo...
July?August(2014(—(NATO(Marktoberdorf(Summer(School(—(Dependable(So#ware(Systems(Engineering 87
Trophic(web((food(chain)
i...
July?August(2014(—(NATO(Marktoberdorf(Summer(School(—(Dependable(So#ware(Systems(Engineering 88
Trophic(web(in

so#ware(ec...
July?August(2014(—(NATO(Marktoberdorf(Summer(School(—(Dependable(So#ware(Systems(Engineering 89
Ecosystem(Dynamics
Predato...
July?August(2014(—(NATO(Marktoberdorf(Summer(School(—(Dependable(So#ware(Systems(Engineering 90
So#ware(Ecosystem

Dynamic...
July?August(2014(—(NATO(Marktoberdorf(Summer(School(—(Dependable(So#ware(Systems(Engineering
• Stability/
• the(capacity(t...
July?August(2014(—(NATO(Marktoberdorf(Summer(School(—(Dependable(So#ware(Systems(Engineering
• Stability/
• the(capacity(t...
July?August(2014(—(NATO(Marktoberdorf(Summer(School(—(Dependable(So#ware(Systems(Engineering 93
Desirable(ecosystem(charac...
Upcoming SlideShare
Loading in …5
×

MOD2014-Mens-Lecture3

449 views

Published on

This is my third in a series of 4 lectures on the topic of Evolving Software Ecosystems, presented during the NATO Marktoberdorf 2014 Summer School on Dependable Software System Engineering in Germany, August 2014.

Published in: Education
  • Be the first to comment

  • Be the first to like this

MOD2014-Mens-Lecture3

  1. 1. Evolving6So9ware6Ecosystems6 Marktoberdorf6Summer6School62014
 Lecture63 Tom6Mens6 So#ware(Engineering(Lab( University(of(Mons informa7que.umons.ac.be/genlog
  2. 2. Natural(Ecosystems
  3. 3. 65 Standing(on(the(shoulders(of(giants Lamarck Lotka Volterra Darwin Pareto
  4. 4. July?August(2014(—(NATO(Marktoberdorf(Summer(School(—(Dependable(So#ware(Systems(Engineering Main(Research(Ques7ons Which(control(mechanisms(driving( natural(ecosystems(can(be(used(to( explain(dynamics(of(so#ware( ecosystems?( ! Which(mechanisms(and(measures(can( we(borrow(from(ecology(to(explain(and( predict(how(so#ware(projects(evolve? 66
  5. 5. Biological(evolu7on AND(BY(A( DUMMY
  6. 6. July?August(2014(—(NATO(Marktoberdorf(Summer(School(—(Dependable(So#ware(Systems(Engineering 68 Terminology Biological(ecosystem Defini7ons • Ecology:(the/scien$fic/study/of/ the/interac$ons/that/ determine/the/distribu$on/and/ abundance/of/organisms( • Ecosystem:/the/physical/and/ biological/components/of/an/ environment/considered/in/ rela$on/to/each/other/as/a/unit/ – combines(all(living( organisms((plants,( animals,(micro?organisms)( and(physical(components( (light,(water,(soil,(rocks,( minerals) Example:(coral(reefs • High(biodiversity:(polyps,(sea( anemones,(fish,(mollusks,( sponges,(algae
  7. 7. July?August(2014(—(NATO(Marktoberdorf(Summer(School(—(Dependable(So#ware(Systems(Engineering 69 Comparison
  8. 8. July?August(2014(—(NATO(Marktoberdorf(Summer(School(—(Dependable(So#ware(Systems(Engineering 70 Comparison Two/dual/views
  9. 9. July?August(2014(—(NATO(Marktoberdorf(Summer(School(—(Dependable(So#ware(Systems(Engineering 71 Comparison software ecosystem - view 1 shared
 libraries environment: hardware, OS, external software, developers, users, ... species active projects archived projects Two/dual/views
  10. 10. July?August(2014(—(NATO(Marktoberdorf(Summer(School(—(Dependable(So#ware(Systems(Engineering 72 Comparison Two/dual/views software ecosystem - view 2 developers environment: source code, tests, commits, bug reports, species testers end-users debuggers
  11. 11. July?August(2014(—(NATO(Marktoberdorf(Summer(School(—(Dependable(So#ware(Systems(Engineering Comparison( Bipar7te(networks In(ecology( hosts(?(parasites( plants(?(pollinators 73 Periodic report - scientific results Figure 3.3: Example of bi-partite mutualistic relationship Mutual(dependency(and( func7onal(redundancy:( disappearance(of(one(species( may(be(compensated(by( other(species( if(there(is(sufficient(diversity( in(both(layers
  12. 12. July?August(2014(—(NATO(Marktoberdorf(Summer(School(—(Dependable(So#ware(Systems(Engineering Comparison( Bipar7te(networks In(so#ware(ecosystems( contributors(?(projects 74 Projet 1 Projet 2 Projet 3 Periodic report - scientific results Figure 3.3: Example of bi-partite mutualistic relationship
  13. 13. July?August(2014(—(NATO(Marktoberdorf(Summer(School(—(Dependable(So#ware(Systems(Engineering Comparison( Bipar7te(networks In(so#ware(ecosystems( contributors(?(projects 75 Projet 1 Projet 2 Projet 3 Mutual(dependency(and( func7onal(redundancy:( disappearance(of(projects(or( contributors(may(be( compensated(by(others
  14. 14. July?August(2014(—(NATO(Marktoberdorf(Summer(School(—(Dependable(So#ware(Systems(Engineering Ecological(theories(of evolu7on(of(species • Different(evolu7onary(theories( • Natural(selec7on((Darwinism)( • Re7culate(evolu7on( • Hologenome(theory((symbiosis) 76
  15. 15. July?August(2014(—(NATO(Marktoberdorf(Summer(School(—(Dependable(So#ware(Systems(Engineering 77 Evolu7onary(theories( Darwinism • all(species(of(life(have( descended(over(7me(from( common(ancestors( • this(branching(patern(of( evolu7on(resulted(from(natural6 selec&on,(similar(to(ar7ficial( selec7on(in(selec7ve(breeding( ! • Example( – 13(types(of(Galapagos(finches,( same(habits(and(characteris7cs,( but(different(beaks Charles(Darwin
 (1809–1882)
  16. 16. July?August(2014(—(NATO(Marktoberdorf(Summer(School(—(Dependable(So#ware(Systems(Engineering 78 Evolu7onary(theories( Darwinism Darwin((1837)• Evolu7on(history(of(species(can(be( represented(by(a(phylogene/c$tree.( • Describes(the(evolu7onary( rela7onships(among(species( assuming(that(they(share(a
 common(ancestor.
  17. 17. July?August(2014(—(NATO(Marktoberdorf(Summer(School(—(Dependable(So#ware(Systems(Engineering 79 Evolu7on(History So#ware
 • Type(to(enter(text
  18. 18. July?August(2014(—(NATO(Marktoberdorf(Summer(School(—(Dependable(So#ware(Systems(Engineering 80 Evolu7onary(theories( Re7culate(evolu7on Re7culate(evolu7on( • Evolu7on(history(is(represented(as(a
 graph(structure( ! • Two(or(more(evolu7onary(lineages(can(be
 recombined(at(some(level( • hybrid/specia$on
 (2(lineages(recombine(to(create(a(new(one)(( • horizontal/gene/transfer
 (genes(are(transferred(across(species)
  19. 19. July?August(2014(—(NATO(Marktoberdorf(Summer(School(—(Dependable(So#ware(Systems(Engineering 81 Evolu7onary(theories( Re7culate(evolu7on Re7culate(evolu7on(of(so#ware(?( (( • hybrid/specia$on
 Distributed(version(control(systems((e.g.(Git)(promote( re7culate(evolu7on(through(fork(and(merge( In(prac7ce,(few(projects(actually(merge( Robles/et/al./A/Comprehensive/Study/of/SoCware/Forks:/ Dates,/Reasons/and/Outcomes./OSS/Conference/2012,/ Best/Paper/Award.
  20. 20. July?August(2014(—(NATO(Marktoberdorf(Summer(School(—(Dependable(So#ware(Systems(Engineering 82 Evolu7onary(theories( Re7culate(evolu7on Re7culate(evolu7on(of(so#ware(?(( ! • horizontal/gene/transfer
 Transfer/of/technical/resources/(code)/ All(large(so#ware((eco)systems(exhibit((a(large(number(of( accidental(or(deliberate(“code(clones”(and(“code(reuse”( Very(ac7ve(research(domain(in(so#ware(engineering( Mojica et al. “A Large Scale Empirical Study on Software Reuse in Mobile Apps”; IEEE Software 2014
  21. 21. July?August(2014(—(NATO(Marktoberdorf(Summer(School(—(Dependable(So#ware(Systems(Engineering 83 Evolu7onary(theories( Re7culate(evolu7on Re7culate(evolu7on(of(so#ware(?(( ! • horizontal/gene/transfer
 Transfer/of/human/resources/ How/do/project/contributors/join,/leave/and/move/across/ projects/in/the/ecosystem?/ How/are/newcomers/aQracted/to/an/ecosystem? Weiss(et(al.(Evolu$on/of/Open/Source/Communi$es./OSS(2006( Bird(et(al.(Open/Borders?/Immigra$on/in/Open/Source/Projects./MSR(2007( Jergensen(et(al.(The/onion/patch:/migra$on/in/open/source/ecosystems./ESEC/FSE(2011( Canfora(et(al.(Who/is/going/to/mentor/newcomers/in/open/source/projects?(FSE(2012
  22. 22. July?August(2014(—(NATO(Marktoberdorf(Summer(School(—(Dependable(So#ware(Systems(Engineering 84 Evolu7onary(theories( Re7culate(evolu7on
  23. 23. July?August(2014(—(NATO(Marktoberdorf(Summer(School(—(Dependable(So#ware(Systems(Engineering 85 Evolu7onary(theories( Hologenome(theory Hologenome(theory( • The(unit(of(natural(selec7on(is(the(holobiont:(the(organism( together(with(its(associated(bacterial(communi7es,(that( live(together(in(symbiosis.( • The(holobiont(can(adapt(to(changing(environmental( condi7ons(far(more(rapidly(than(by(gene7c(muta7on(and( selec7on(alone.(( • Darwinism(emphasises(compe$$on((survival(of(the(fitest),( hologenome(theory(also(includes(coopera$on((through( symbiosis)
  24. 24. July?August(2014(—(NATO(Marktoberdorf(Summer(School(—(Dependable(So#ware(Systems(Engineering 86 Evolu7onary(theories( Hologenome(theory Hologenome(theory(in(so#ware(evolu7on?( ! Hologenome(theory(may(be(closer(to(what(one(observes(in( open(source(projects(where(coopera$on(plays(a(more( important(role.
  25. 25. July?August(2014(—(NATO(Marktoberdorf(Summer(School(—(Dependable(So#ware(Systems(Engineering 87 Trophic(web((food(chain) in(natural(ecosystems
  26. 26. July?August(2014(—(NATO(Marktoberdorf(Summer(School(—(Dependable(So#ware(Systems(Engineering 88 Trophic(web(in
 so#ware(ecosystems Producer?consumer(rela7on Users Peripheral( developers Core(developers Onion(model TOP?DOWN( change(requests( &(bug(reports BOTTOM?UP( changes(in(core( projects(and( architecture( Nakakoji(et(al.(Evolu$on/paQerns/of/openUsource/ soCware/systems/and/communi$es.(IWPSE(2002.(
  27. 27. July?August(2014(—(NATO(Marktoberdorf(Summer(School(—(Dependable(So#ware(Systems(Engineering 89 Ecosystem(Dynamics PredatorIprey6rela&onship • An(instance(of(the( consumer?resource( rela7onship( • Predators((hun7ng(animals)( feed(upon(their(prey( (atacked(animals) Dynamic(model • Two(mutually(dependent( parametric(differen7al( equa7ons
 (Lotka?Volterra(1925/1926)
  28. 28. July?August(2014(—(NATO(Marktoberdorf(Summer(School(—(Dependable(So#ware(Systems(Engineering 90 So#ware(Ecosystem
 Dynamics PredatorIprey6rela&onship6in6so9ware6ecosystems? • Debuggers(are(predators,(so#ware(defects(are(prey( Calzolari/et/al./Maintenance/and/tes$ng/effort/modeled/by/linear/and/ nonlinear/dynamic/systems,”/Informa$on/and/SoCware/Technology,/43(8):/ 477/–/486,/2001
  29. 29. July?August(2014(—(NATO(Marktoberdorf(Summer(School(—(Dependable(So#ware(Systems(Engineering • Stability/ • the(capacity(to(maintain(an(equilibrium(over(longer(periods(of(7me( • Resistance/ • the(ability(to(withstand(environmental(changes(without(too(much( disturbances(of(its(biological(communi7es( • Resilience/ • the(ability(to(return(to(an(equilibrium(a#er(a(disturbance Desirable(ecosystem(characteris7cs 91
  30. 30. July?August(2014(—(NATO(Marktoberdorf(Summer(School(—(Dependable(So#ware(Systems(Engineering • Stability/ • the(capacity(to(maintain(an(equilibrium(over(longer(periods(of(7me( • Resistance/ • the(ability(to(withstand(environmental(changes(without(too(much( disturbances(of(its(biological(communi7es( • Resilience/ • the(ability(to(return(to(an(equilibrium(a#er(a(disturbance( ! Higher(biodiversity(favours(these(characteris7cs Desirable(ecosystem(characteris7cs 92
  31. 31. July?August(2014(—(NATO(Marktoberdorf(Summer(School(—(Dependable(So#ware(Systems(Engineering 93 Desirable(ecosystem(characteris7cs( Biodiversity Biodiversity((of(species)(measures( the(degree(of(varia7on(of(species( within(a(given((natural)(ecosystem( • Many(different(metrics:( • species(richness( • species(evenness( • Shannon(diversity(index( • Simpson(index( • … Goal:(Use(these(and(related(measures(to(study(maintainability(and( survivability(of(so#ware(projects(within(their(ecosystem

×