Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

Can I Remove This Method? How Live Feedback from the Ecosystem Supports Co-Evolution

Talk from IWST at ESUG19, Cologne, Germany

  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Can I Remove This Method? How Live Feedback from the Ecosystem Supports Co-Evolution

  1. 1. Can I Remove This Method? How Live Feedback from the Ecosystem Supports Co-Evolution Manuel Leuenberger manuel.leuenberger@inf.unibe.ch IWST 2019 Software Composition Group Universität Bern, CH @maenuleu
  2. 2. me, a library developer !2
  3. 3. Focus: Brick Dropdown !3
  4. 4. A history of co-evolution • push new dropdown to Brick • Glamorous Toolkit CI passes • all good? !4
  5. 5. !5 UHMO depends on Brick
  6. 6. !6
  7. 7. Can I remove this method? no senders within the image, nobody seems to use it !7 But I am not sure
  8. 8. Who is using a method in the ecosystem? !8 Boris Spasojević. 2016. Developing Ecosystem-aware Tools. PhD thesis. University of Bern. http://scg.unibe.ch/archive/phd/spasojevic-phd. pdf
  9. 9. !9
  10. 10. !10
  11. 11. Pros and Cons + integrate information from the ecosystem + serves as sanity checks for changes + live feedback on the impact of library changes on clients - incomplete: 100% precision, unknown recall - recall depends on degree of exercising library - requires running || {devs} x {endorsed library clients} || images - local vs. remote: logging? inspection? debugging? !11
  12. 12. Propagate changes & run examples !12 <<image>> UHMO + Brick changes <<image>> Brick example runner
  13. 13. Propagating changes !13 Seamless + Epicea
  14. 14. Profiling examples !14 • 191 examples in UHMO • only interested in examples using dropdown ! run only examples calling dropdown methods In the UHMO image: 1.instrument 75 methods in dropdown package 2.run all 191 examples, takes 11s 3.identify 51 examples calling dropdown methods 4.remove instrumentation from dropdown methods 5.run 51 UHMO examples in 5s on every change Seamless + MetaLinks
  15. 15. Can I remove this method? !15 No, but I know within seconds, not days!
  16. 16. Next: Better co-evolution • detecting breaking changes • estimating change impact • automatically migrate library clients • provide migration process alongside library version • code transformations, just as database migrations • domain-specific tools to guide the process !16 @maenuleu

    Soyez le premier à commenter

    Identifiez-vous pour voir les commentaires

Talk from IWST at ESUG19, Cologne, Germany

Vues

Nombre de vues

589

Sur Slideshare

0

À partir des intégrations

0

Nombre d'intégrations

6

Actions

Téléchargements

2

Partages

0

Commentaires

0

Mentions J'aime

0

×