Your SlideShare is downloading. ×
MOD2014-Mens-Lecture3
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

MOD2014-Mens-Lecture3

168
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 …

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

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
168
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
13
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Evolving6So9ware6Ecosystems6 Marktoberdorf6Summer6School62014
 Lecture63 Tom6Mens6 So#ware(Engineering(Lab( University(of(Mons informa7que.umons.ac.be/genlog
  • 2. Natural(Ecosystems
  • 3. 65 Standing(on(the(shoulders(of(giants Lamarck Lotka Volterra Darwin Pareto
  • 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. Biological(evolu7on AND(BY(A( DUMMY
  • 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. July?August(2014(—(NATO(Marktoberdorf(Summer(School(—(Dependable(So#ware(Systems(Engineering 69 Comparison
  • 8. July?August(2014(—(NATO(Marktoberdorf(Summer(School(—(Dependable(So#ware(Systems(Engineering 70 Comparison Two/dual/views
  • 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. 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. 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. 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. 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. 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. 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. 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. July?August(2014(—(NATO(Marktoberdorf(Summer(School(—(Dependable(So#ware(Systems(Engineering 79 Evolu7on(History So#ware
 • Type(to(enter(text
  • 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. 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. 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. 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. July?August(2014(—(NATO(Marktoberdorf(Summer(School(—(Dependable(So#ware(Systems(Engineering 84 Evolu7onary(theories( Re7culate(evolu7on
  • 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. 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. July?August(2014(—(NATO(Marktoberdorf(Summer(School(—(Dependable(So#ware(Systems(Engineering 87 Trophic(web((food(chain) in(natural(ecosystems
  • 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. 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. 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. 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. 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. 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