1 / 29

Cloned Product Variants: From Ad-Hoc to Well-Managed Software Reuse

Cloned Product Variants: From Ad-Hoc to Well-Managed Software Reuse. Julia Rubin IBM Research - Haifa, Israel University of Toronto, Canada. Joint work with Prof. Marsha Chechik. December 9, 2013.

devaki
Télécharger la présentation

Cloned Product Variants: From Ad-Hoc to Well-Managed Software Reuse

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Cloned Product Variants:From Ad-Hoc to Well-Managed Software Reuse Julia Rubin IBM Research - Haifa, IsraelUniversity of Toronto, Canada Joint work with Prof. Marsha Chechik December 9, 2013

  2. Software Product Line Engineering emerged as a discipline that promotes Planned and PredictiveSoftware Reuse K. Pohl et al., Software Product Line Engineering: Foundations, Principles, and Techniques, 2005 P. C. Clements and L. Northrop, Software Product Lines: Practices and Patterns, 2001

  3. In reality, software products are often created ad-hoc, by cloning and modifying existing variants (the “clone-and-own” approach)

  4. Example – GPS Products Trip Computer Layered Map POI Life Traffic Info GPS-Pro * Managing forked product variants, Julia Rubin, Andrei Kirshin, Goetz Botterweck, Marsha Chechik, SPLC 2012.

  5. Example – GPS Products A cheaper version … Trip Computer Layered Map Layered Map POI POI Life Traffic Info GPS-Pro GPS-EZ * Managing forked product variants, Julia Rubin, Andrei Kirshin, Goetz Botterweck, Marsha Chechik, SPLC 2012.

  6. Example – GPS Products Product implementations start growing apart … Trip Computer Layered Map Layered Map POI (extended) POI 3D Buildings Life Traffic Info Night Mode Shortest TimeRouting GPS-Pro GPS-EZ * Managing forked product variants, Julia Rubin, Andrei Kirshin, Goetz Botterweck, Marsha Chechik, SPLC 2012.

  7. Example – GPS Products Does Night Mode work with3D Buildings? Trip Computer Layered Map Layered Map POI (extended) POI 3D Buildings Life Traffic Info ? Night Mode Night Mode Shortest TimeRouting GPS-Pro GPS-EZ * Managing forked product variants, Julia Rubin, Andrei Kirshin, Goetz Botterweck, Marsha Chechik, SPLC 2012.

  8. Example – GPS Products Can Shortest Time Routing be copied? Trip Computer Layered Map Layered Map POI (extended) POI 3D Buildings Life Traffic Info ? Night Mode Night Mode req Shortest TimeRouting GPS-Pro GPS-EZ * Managing forked product variants, Julia Rubin, Andrei Kirshin, Goetz Botterweck, Marsha Chechik, SPLC 2012.

  9. Example – GPS Products Are the implementations of POI consistent between the products? Are the implementations of POI consistent between the products? Trip Computer Layered Map Layered Map POI (extended) POI 3D Buildings Life Traffic Info ? Night Mode Night Mode req Shortest TimeRouting GPS-Pro GPS-EZ * Managing forked product variants, Julia Rubin, Andrei Kirshin, Goetz Botterweck, Marsha Chechik, SPLC 2012.

  10. As the number of cloned variants grows and they further grow apart,ad-hoc reuse becomes challenging What can we do?

  11. Unify clones into a Single Copy Representation(Merge-refactoring)

  12. Unify clones into a Single Copy Representation(Merge-refactoring) Time-, cost- and labor-intensive

  13. Despite disadvantages, some are happy with cloning Exploratory Study: 6 industrial product lines realized via cloning* Rapidly available Reuse of verified code Independence of developers No upfront investment * An Exploratory Study of Cloning in Industrial Software Product Lines, Yael Dubinsky, Julia Rubin, Thorsten Berger, Slawomir Duszynski, Martin Becker, and Krzysztof Czarnecki, CSMR 2013

  14. Strategy 1: Unify clones into a Single Copy Representation (Merge-refactoring) • cost- and effort-intensive, benefits are not always immediate Strategy 2: Provide support for efficient reuse with cloning(Clone-based Software Product Line Engineering) * Managing forked product variants, Julia Rubin, Andrei Kirshin, Goetz Botterweck, Marsha Chechik, SPLC 2012.

  15. Both Strategies Coexist Which is oftendelayed Merge-refactoring is a long journey When performed, it is done incrementally(for a subset of products), while the remaining ones are still maintained as clones Companies need assistance with both merge-refactoring and supporting existing clones

  16. Exploratory Study: Companies in Different Stages of Reuse Management Goal: study development activities, gather and classify needs and requirements Company 3 Company 2 Company 1 Result: a framework for managingcloned product variants * Managing Cloned Product Variants: A Framework and Experience. Julia Rubin, Krzysztof Czarnecki, and Marsha Chechik, SPLC 2013

  17. A Framework for Managing Cloned Product Variants Supporting Clones: establish new variants,share features, etc. Merge-Refactoring: put variants together development activities conceptual operators 3. Same? 4. Interact? 5. Depends-on? 1. FindFD 2. FindFI 6. Merge 7. Reorganize

  18. A Framework for Managing Cloned Product Variants Supporting Clones: establish new variants,share features, etc. Merge-Refactoring: put variants together Identify artifacts implementing a feature (known as feature location) development activities conceptual operators 3. Same? 4. Interact? 5. Depends-on? 1. FindFD 2. FindFI 6. Merge 7. Reorganize

  19. A Framework for Managing Cloned Product Variants Supporting Clones: establish new variants,share features, etc. Merge-Refactoring: put variants together Are two features from distinct products indeed identical? development activities conceptual operators 3. Same? 4. Interact? 5. Depends-on? 1. FindFD 2. FindFI 6. Merge 7. Reorganize

  20. A Framework for Managing Cloned Product Variants Can two sets of features from distinct products work together? (known as feature interaction) Supporting Clones: establish new variants,share features, etc. Merge-Refactoring: put variants together development activities conceptual operators 3. Same? 4. Interact? 5. Depends-on? 1. FindFD 2. FindFI 6. Merge 7. Reorganize

  21. A Framework for Managing Cloned Product Variants Supporting Clones: establish new variants,share features, etc. Merge-Refactoring: put variants together Does one feature require another from the same product? development activities conceptual operators 3. Same? 4. Interact? 5. Depends-on? 1. FindFD 2. FindFI 6. Merge 7. Reorganize

  22. A Framework for Managing Cloned Product Variants Supporting Clones: establish new variants,share features, etc. Merge-Refactoring: put variants together Unification of either multiple sets of features from distinct products or of complete products development activities conceptual operators 3. Same? 4. Interact? 5. Depends-on? 1. FindFD 2. FindFI 6. Merge 7. Reorganize

  23. A Framework for Managing Cloned Product Variants Supporting Clones: establish new variants,share features, etc. Merge-Refactoring: put variants together Product-preserving refactoring of a product line architecture development activities conceptual operators 3. Same? 4. Interact? 5. Depends-on? 1. FindFD 2. FindFI 6. Merge 7. Reorganize

  24. A Framework for Managing Cloned Product Variants Some operators received a lot of attention in the literature (under specific conditions)while other are poorly studied Supporting Clones: establish new variants,share features, etc. Merge-Refactoring: put variants together common development activities conceptual operators 3. Same? 4. Interact? 5. Depends-on? 1. FindFD 2. FindFI 6. Merge 7. Reorganize

  25. A Framework for Managing Cloned Product Variants Our framework helps organizing knowledge around possible implementation of the operators Supporting Clones: establish new variants,share features, etc. Merge-Refactoring: put variants together common development activities conceptual operators 3. Same? 4. Interact? 5. Depends-on? 1. FindFD 2. FindFI 6. Merge 7. Reorganize

  26. Main Benefits of the Framework Merge-Refactoring Supporting Clones development activities conceptual operators Identify required support Categorize existing work and identify gaps Scope company’s investment Build solutions for purpose …

  27. What’s Next? • Improve the framework by considering additional scenarios • We do not claim that the current framework is complete(or will ever be), but it is reasonable for the real-life scenarios that we analyzed • Invest in the implementation of the individual operators • For realistic use cases • Investigate the economic effectiveness of merge-refactorings • Develop novel approaches for managed reuse that rely on cloning • Mitigating its disadvantages while leveraging advantages

  28. Summary

  29. Thank You!

More Related