Upload
devaki
View
47
Download
0
Tags:
Embed Size (px)
DESCRIPTION
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. - PowerPoint PPT Presentation
Citation preview
Cloned Product Variants:From Ad-Hoc to Well-Managed
Software Reuse
Julia RubinIBM Research - Haifa, Israel
University of Toronto, Canada
December 9, 2013
Joint work with Prof. Marsha Chechik
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
In reality, software products are often created ad-hoc,
by cloning and modifying existing variants (the “clone-and-own” approach)
Example – GPS Products
GPS-Pro
Life Traffic InfoPOI
Layered MapTrip Computer
* Managing forked product variants, Julia Rubin, Andrei Kirshin, Goetz Botterweck, Marsha Chechik, SPLC 2012.
Example – GPS Products
GPS-Pro GPS-EZ
Life Traffic InfoPOI
Layered MapTrip Computer
POILayered Map
A cheaper version …
* Managing forked product variants, Julia Rubin, Andrei Kirshin, Goetz Botterweck, Marsha Chechik, SPLC 2012.
Example – GPS Products
GPS-Pro GPS-EZ
Life Traffic InfoPOI
Layered MapTrip Computer
POI (extended)Layered Map
Product implementations start growing apart …
3D Buildings
Shortest TimeRouting
Night Mode
* Managing forked product variants, Julia Rubin, Andrei Kirshin, Goetz Botterweck, Marsha Chechik, SPLC 2012.
Example – GPS Products
GPS-Pro GPS-EZ
Life Traffic InfoPOI
Layered MapTrip Computer
POI (extended)Layered Map
Shortest TimeRouting
* Managing forked product variants, Julia Rubin, Andrei Kirshin, Goetz Botterweck, Marsha Chechik, SPLC 2012.
Night Mode
3D Buildings
Night Mode ?
Does Night Mode work with
3D Buildings?
Does Night Mode work with
3D Buildings?
Example – GPS Products
GPS-Pro GPS-EZ
Life Traffic InfoPOI
Layered MapTrip Computer
POI (extended)Layered Map
Shortest TimeRouting
* Managing forked product variants, Julia Rubin, Andrei Kirshin, Goetz Botterweck, Marsha Chechik, SPLC 2012.
Night Mode
3D Buildings
Night Mode
Can Shortest Time Routing be
copied?
req ?
Example – GPS Products
GPS-Pro GPS-EZ
Life Traffic InfoPOI
Layered MapTrip Computer
POI (extended)Layered Map
Shortest TimeRouting
* Managing forked product variants, Julia Rubin, Andrei Kirshin, Goetz Botterweck, Marsha Chechik, SPLC 2012.
Night Mode
3D Buildings
Night Mode
Are the implementations of POI consistent
between the products?
Are the implementations of POI consistent
between the products?
?
Are the implementations of POI consistent
between the products?
Are the implementations of POI consistent
between the products?
req
As the number of cloned variants grows and they further grow apart,
ad-hoc reuse becomes challenging
What can we do?
Unify clones into a Single Copy Representation (Merge-refactoring)
Unify clones into a Single Copy Representation (Merge-refactoring)
Time-, cost- and labor-
intensive
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*
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.
Both Strategies Coexist
Which is often delayed
When performed, it is done incrementally
(for a subset of products), while the remaining ones are still
maintained as clones
Merge-refactoring is a long journey
Companies need assistance with both merge-refactoring and supporting existing clones
Exploratory Study: Companies in Different Stages of Reuse Management
Company 3
Company 2
Company 1
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: a framework for managingcloned product variants
A Framework for Managing Cloned Product Variants
development activities
6. Merge7. Reorganize
1. FindFD2. FindFI
3. Same?4. Interact?
5. Depends-on?
Merge-Refactoring: put variants together
Supporting Clones: establish new variants,
share features, etc.
conceptual operators
A Framework for Managing Cloned Product Variants
development activities
Merge-Refactoring: put variants together
Supporting Clones: establish new variants,
share features, etc.
conceptual operators
Identify artifacts implementing a feature
(known as feature location)
6. Merge7. Reorganize
1. FindFD2. FindFI
3. Same?4. Interact?
5. Depends-on?
A Framework for Managing Cloned Product Variants
development activities
Merge-Refactoring: put variants together
Supporting Clones: establish new variants,
share features, etc.
conceptual operators
Are two features from distinct products indeed identical?
6. Merge7. Reorganize
1. FindFD2. FindFI
3. Same?4. Interact?
5. Depends-on?
A Framework for Managing Cloned Product Variants
development activities
Merge-Refactoring: put variants together
Supporting Clones: establish new variants,
share features, etc.
conceptual operators
6. Merge7. Reorganize
1. FindFD2. FindFI
3. Same?4. Interact?
5. Depends-on?
Can two sets of features from distinct products work together? (known as feature interaction)
A Framework for Managing Cloned Product Variants
development activities
Merge-Refactoring: put variants together
Supporting Clones: establish new variants,
share features, etc.
conceptual operators
6. Merge7. Reorganize
1. FindFD2. FindFI
3. Same?4. Interact?
5. Depends-on?
Does one feature require another from the same
product?
A Framework for Managing Cloned Product Variants
development activities
Merge-Refactoring: put variants together
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. Merge7. Reorganize
1. FindFD2. FindFI
3. Same?4. Interact?
5. Depends-on?
A Framework for Managing Cloned Product Variants
development activities
Merge-Refactoring: put variants together
Supporting Clones: establish new variants,
share features, etc.
conceptual operators
6. Merge7. Reorganize
1. FindFD2. FindFI
3. Same?4. Interact?
5. Depends-on?
Product-preserving refactoring of a product line architecture
A Framework for Managing Cloned Product Variants
common development activities
Merge-Refactoring: put variants together
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. Merge7. Reorganize
1. FindFD2. FindFI
3. Same?4. Interact?
5. Depends-on?
A Framework for Managing Cloned Product Variants
common development activities
Merge-Refactoring: put variants together
Supporting Clones: establish new variants,
share features, etc.
conceptual operators
Our framework helps organizing knowledge around possible
implementation of the operators
6. Merge7. Reorganize
1. FindFD2. FindFI
3. Same?4. Interact?
5. Depends-on?
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
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
Summary
Thank You!