Presentation is loading. Please wait.

Presentation is loading. Please wait.

Cloned Product Variants: From Ad-Hoc to Well-Managed Software Reuse Julia Rubin IBM Research - Haifa, Israel University of Toronto, Canada December 9,

Similar presentations


Presentation on theme: "Cloned Product Variants: From Ad-Hoc to Well-Managed Software Reuse Julia Rubin IBM Research - Haifa, Israel University of Toronto, Canada December 9,"— Presentation transcript:

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

2 Software Product Line Engineering Planned and PredictiveSoftware Reuse Software Product Line Engineering emerged as a discipline that promotes Planned and Predictive Software 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 GPS-Pro Life Traffic Info POI Layered Map Trip Computer * Managing forked product variants, Julia Rubin, Andrei Kirshin, Goetz Botterweck, Marsha Chechik, SPLC 2012.

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

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

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

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

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

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 Time-, cost- and labor- intensive

13 Rapidly available Independence of developers Reuse of verified code No upfront investment Despite disadvantages, some are happy with cloning * 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 Exploratory Study: 6 industrial product lines realized via cloning*

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 delayed Which is often delayed incrementally When performed, it is done incrementally (for a subset of products), while the remaining ones are still maintained as clones long journey Merge-refactoring is a long journey Companies need assistance with both merge-refactoring and supporting existing clones

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

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

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

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

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

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

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

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

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

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

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

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!


Download ppt "Cloned Product Variants: From Ad-Hoc to Well-Managed Software Reuse Julia Rubin IBM Research - Haifa, Israel University of Toronto, Canada December 9,"

Similar presentations


Ads by Google