uvr2web |
Kuiter et al. SPLC 2018 |
|
GitHub |
a product line for temperature monitoring co-developed with several companies for thermoelectric products |
Industrial |
Yes, excluding some corporate features |
Source code |
polyglot (C++, Java, HTML/PHP, ...) |
SPL implementation |
|
Manual, reengineering |
|
|
|
|
|
|
|
|
69 |
|
Yes |
Manually |
|
|
|
|
|
Expert knowledge |
|
|
|
|
Yes |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Airbag |
Schulze et al. SPLC 2013 |
|
|
Adding variability to functional safety models. Derivation of variant specific functional safety models. |
Academic |
No |
Model |
Architecture model (medini model artefacts) |
SPL implementation |
|
|
|
N/A |
8 |
|
|
|
|
|
9 |
3 |
Yes, in a screenshot of the paper |
Manually by the authors after analysing the airbag domain |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Alcatel-Lucent IXM-PF |
Zhang et al. ICSM 2011 |
|
|
"A telecom software product family [...] has been developed and maintained for more than ten years in Alcatel-Lucent" then they decided to iteratively extract an SPL from their variants |
Industrial |
No |
Source code |
C and C++ |
Feature identification, feature location, feature model synthesis, reusable assets construction |
No |
Manual, reengineering |
|
|
|
10 M LOC, 300 to 400 modules |
|
|
"Over time, new products were developed by branching and adapting from selected ancestors in an ad-hoc way. Furthermore, variant products were maintained separately." |
|
Not mentioned |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"Various kinds of stakeholders are involved in the product family" Marketing and sales persons, architects, senior managers |
|
|
|
|
|
|
|
|
|
"The IXM-PF reengineering project achieved initial success after one and a half years. It should be noted that the same team was responsible for the regular maintenance and delivery of related products during this time period." |
|
|
algorithms.js |
Rodrigues Santos et al. SPLC 2016 |
Silva et al. SANER 2015 |
The original system: Qualitas.js Dataset The extracted SPLs: Github |
Some characteristic in the "features list" of the open-source (sometimes available in the project web site) were extracted from a single product. Then a feature model and SPL were created. The objective was to show RIPLE-HC capability to implement javascript SPLs. |
Open source |
Yes |
Source code |
Javascript |
Feature identification, Feature location, Feature Model Synthesis, Reusable assets construction |
No |
Manual feature identification and extraction. |
|
1 |
|
1549 LOC, 29 Modules |
|
|
|
|
28 |
|
Yes |
Manually from project descriptions |
|
|
|
|
|
Information in the manually extracted reusable assets |
|
Yes |
|
No |
|
2 |
Yes |
Yes |
Yes |
|
No |
Yes |
|
Yes |
Syntactically valid. Behavior was not checked. |
|
|
|
|
|
|
|
|
AndroZoo |
Li et al. SPLC 2016 |
Allix et al. MSR 2016 |
Androzoo |
"AndroZoo is a growing collection of Android Applications collected from several sources, including the official Google Play app market. ". It was used for the identification of families in large repositories. |
Public Repository |
Yes, asking for a access key |
Source code |
Android, Java |
Feature identification |
No |
Source code similarity |
We cannot consider the content of AndroZoo as variants. It contains 5,546,302 different APKs |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ApacheWeb Server |
Linsbauer et al. SSBSE 2014 |
|
Authors mention these websites but it is not found link, link and link |
|
Open source |
Not found |
Variability model |
Feature model |
Feature model synthesis |
No |
Genetic algorithms |
|
1 |
|
10 features |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ArgoUML |
Vinicius Couto CSMR 2011 |
|
Github |
This is the work that created the ArgoUML SPL. |
Open source |
Yes |
Source code |
Java |
Feature identification, feature location, feature model synthesis, reusable assets construction |
Manual |
Reusable assets using conditional compilation |
|
1 |
N/A |
120 KLOC |
|
|
|
|
11 |
8 |
Yes |
Manual, "features have been selected because they represent relevant functional requirements" |
|
|
|
|
|
Yes |
|
Yes |
|
Yes, it was intentional to extract features with cross-cutting behavior |
No |
2 |
No |
No |
No |
No |
|
Yes |
|
Yes, 150% system with Java-pp annotations |
|
Yes |
N/A |
N/A |
N/A |
N/A |
|
|
|
ArgoUML UML |
Martinez et al. ASE 2015 |
Vinicius Couto CSMR 2011 |
BUT4Reuse examples |
The variants of ArgoUML SPL as UML models. Only the variants Original and then each other variant with a diagram disabled. |
Open source |
Yes |
Model |
UML class model |
Feature identification |
Yes |
Formal context analysis |
|
7 used in the paper but 9 available |
N/A |
51,087 classes, 77,519 attributes, 28,885 references |
50,349 classes, 76,417 attributes, 28,465 references |
51,418 classes, 78,046 attributes, 29,071 references |
UML class models reverse engineered from source code of variants. |
No, the source code variants were derived from an SPL |
7 |
6 |
Yes |
In the original SPL |
Yes |
No |
No |
2 |
|
Yes |
|
Yes |
|
No, in this case we did not use Logging nor Cognitive features of ArgoUML SPL |
No |
2 |
No |
No |
No |
No |
No |
Yes |
|
Yes, CVL base model and resolution model (model fragments) |
|
|
|
|
|
|
|
|
|
ArgoUML/SPL |
Ziadi et al. CSMR 2012,
Eyal-Salman et al. SPLC (REVE) 2013
Eyal-Salman et al. SEAA 2013,
Eyal-Salman et al. IEEE IRI 2013,
Eyal-Salman et al. SEAA 2013b,
Linsbauer et al. SPLC 2013,
Al-Msie'Deen et al. ICSR 2013,
Eyal-Salman et al. SEKE 2014,
Linsbauer et al. SSBSE 2014,
Klatt et al. ICSME 2014,
Fischer et al. ICSME 2014,
Martinez et al. SPLC 2016,
Martinez et al. SPLC 2018 |
Vinicius Couto CSMR 2011 |
Github |
A product line variant of ArgoUML. ArgoUML is an open source UML modeling tool and includes support for all standard UML 1.4 diagrams. |
Open source |
Yes |
Source code |
Java |
All, feature identification, feature naming, feature location, feature constraints discovery, feature model synthesis and reusable assets extraction |
|
Formal context analysis, information retrieval |
The most used case study in extractive SPL adoption according to the study Wesley et al. 2017. AL-msie'deen used 10 variants: All enabled, all disabled, and the rest are All enabled except one feature each. Similar variants are used in other studies. |
N/A |
256 |
N/A |
110933 LOC |
148715 LOC |
SPL with java-pp annotations |
|
11 |
8 |
Yes |
Manual by academics |
Yes |
No |
No |
N/A |
N/A |
Yes, annotations in the SPL |
|
Yes |
|
Yes |
No |
2 |
No |
No |
No |
No |
|
Yes |
|
Yes, 150% system with Java-pp annotations |
|
Yes |
N/A |
N/A |
N/A |
N/A |
|
|
|
Automarker systems |
Niu et al. IEEESystJ 2014, Boutkova and Houdek RE 2011 |
|
|
A web-based system for "automating the process of marking first-year programming assignments" of students |
Academic |
No |
Requirements |
Text document |
Similarity, feature identification, reusable assets extraction |
No |
Information retrieval, natural language processing |
Requirements follows the IEEE-830 standard in a textual form. Extracted reusable assets are called "functional requirements profiles (FRPs)" |
12 |
|
40 pages long containing about 800 sentences. File size 293 kB |
|
|
|
|
17 (functional requirements profiles) |
|
No, some of them are named in an OVM variability model. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Yes, their approach was compared with manual analysis. |
|
|
Banking System |
Martinez et al. ECMFA 2014,
Maâzoun et al. SEKE 2014,
Martinez et al. SPLC 2016
|
|
BUT4Reuse examples |
Simple variants of UML class diagrams. Features are the BankCore, CurrencyConverter, WithdrawWithLimit, WithdrawWithoutLimit and Consortium. |
Illustrative |
Yes |
Model |
UML class model |
Feature identification, feature naming |
Yes |
Overlap analysis |
|
3 |
N/A |
57 classes, 56 attributes, 25 references |
47 classes, 47 attributes, 19 references |
63 classes, 62 attributes, 29 references |
Manually |
No |
5 |
4 |
Yes |
Manually |
Yes |
No |
No |
100% |
|
Yes |
|
Yes |
|
No |
No |
2 |
Yes |
No |
No |
No |
No |
No |
|
Yes |
|
|
|
|
|
|
|
|
|
Baxter Biocience |
Lora-Michiels et al. VaMoS 2010 |
|
|
Products for hemophilia and immune disorders. " we focused our study around all the components that constitute the packaging process of the different treatments that Baxter Bioscience produces" |
Industrial |
No |
Documentation |
Bill of materials |
Feature constraints discovery |
No |
Association rules algorithm |
|
536 |
|
|
|
|
Different configurations of the bill of materials |
No |
More than 1500 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Berkeley DB |
Linsbauer et al. SSBSE 2014,
Xue PhD Thesis 2012,
Nie et al. COMPSACW 2012 |
Berkeley DB |
SPL2Go , SPLConqueror , download FH superImposition examples |
Database engine SPL |
Open source |
Yes |
Variability model |
Feature model |
Feature model synthesis |
|
Diff and merge, genetic algorithms |
Nie et al. reference the SPLOT feature model repository for 2 variants of the Berkeley DB but they are not found. There is one BerkleyDB feature model there but the number of features do not correspond. Linsbauer et al. differentiate between BerkeleyDB Footprint, Memory and Performance feature models. |
1 (Xue used 5 variants generated from the SPL) |
|
42 features (in the version at SPL2Go |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
BlueJ |
Olszak and Jørgensen SciComputProgram 2012 |
|
BlueJ |
|
Open source |
Yes |
Source code |
Java |
Feature identification, Feature location, Transformation |
No |
Manual feature identification "infer almost all program features from the available user documentation, since it is arranged into a list of usage scenarios. This way we have identified 127 use cases, which we have then grouped into 41 coherent groups representing features". Automatic feature location with feature-entry-point annotations |
For transformation: "we automatically create a class-preserving decomposition, while leaving the decision about any further manual separation up to the programmers." |
1 |
N/A |
78 KLOC |
N/A |
N/A |
N/A |
N/A |
41 (39 are considered) |
|
Yes |
Manually |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 hours for feature identification |
|
|
BMW car web configurator |
Abbasi et al. CSMR/WCRE 2014 |
|
Broken link to data: link and link |
The authors chose the “2013 128i Coupe” model |
Industrial |
Yes |
Source code |
Web |
Feature model synthesis |
No |
Crawling the web configuration and extracting data patterns in the websites |
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Body Comfort System |
Wille et al. FOSD 2016,
Li et al. SPLC 2018 |
Creation of the case study: Müller et al. TechReport 2009,
Lity et al. TechReport 2013,
Creation of the SPL based on the system: Oster et al. SPLC 2015 |
Requirements used in Li et al. SPLC 2018 |
Automotive software system SPL |
Industrial |
No, Models are not available but Requirements are available |
Model and Requirements |
Statechart models in IBM Rational Raphsody, and Excel file for requirements |
Feature identification, feature location, feature model synthesis |
No |
Similarity analysis, merge for models. Probabilistic Relevance and Word Embedding for requirements. |
|
18 (they used 18 of the possible ones) |
11616 |
Around 187 elements based on min and max. The number of requirements are 98. |
91 elements (states, regions and transitions) |
283 elements (states, regions and transitions) |
Generated from the SPL |
|
27 (in the 18 selected variants), 26 in Li et al. SPLC 2018 |
|
Yes |
Domain experts |
Yes |
No |
No |
|
|
|
|
|
|
|
|
|
Yes |
Yes |
|
|
|
Yes, in the original publication |
|
|
|
|
|
|
|
|
|
|
|
brackets |
Rodrigues Santos et al. SPLC 2016 |
Silva et al. SANER 2015 |
The original system: Qualitas.js Dataset The extracted SPLs: Github |
Some characteristic in the "features list" of the open-source (sometimes available in the project web site) were extracted from a single product and a feature model and SPL were created. The objective was to show RIPLE-HC capability to implement javascript SPLs. |
Open source |
Yes |
Source code |
Javascript |
Feature identification, Feature location, Feature Model Synthesis, Reusable assets construction |
No |
Manual feature identification and extraction. |
|
1 |
|
122971 LOC, 403 Modules |
|
|
|
|
13 |
|
Yes |
Manually from project descriptions |
|
|
|
|
|
Information in the manually extracted reusable assets |
|
Yes |
|
No |
|
2 |
No |
Yes |
Yes |
|
No |
Yes |
|
Yes |
Syntactically valid. Behavior was not checked. |
|
|
|
|
|
|
|
|
BSH induction hob families |
Ballarin et al. ICSR 2016 |
|
|
Two families of induction hobs with certain degree of reuse among them. The objective is to locate and compare the featuers of both families to find out cases where features were reimplemented, modified, adapted, unaltered or new. |
Industrial |
No |
Model and Source code |
Propietary DSL called IHDSL and C code |
Feature location |
No |
Formal context analysis |
|
112 (46 of one family and 66 of another) |
|
|
|
|
The variants of each of the two families are created through generation, however there are differences between the implementation of the features between the families. |
Yes, they found cases of "reimplemented", "modified", "adapted" and "unaltered" features |
128 (81 of one family and 47 of the other, there is no ground truth to say which ones are shared in the two families) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
BSH induction hobs |
Font et al. ICSR 2016, Font et al. Models 2016 |
|
|
Industrial variants of induction hobs from the BSH company |
Industrial |
No |
Model |
Propietary DSL called IHDSL (46 meta-classes, 74 references, 180 properties) |
Feature location |
No |
Genetic algorithms |
The approach try to deal with feature location in cases where inaccuracies are introduced by domain experts |
46 |
|
100 elements mentioned in one paper and 500 elements in other. Probably different interpretations of element. |
|
|
Generated |
No |
96 |
|
No |
Manually |
No |
No |
No |
|
|
Yes, "set of features properly located" "the oracle is extracted from a set of product models that are currently under production" |
|
|
|
|
|
|
|
|
|
|
No |
No |
|
Yes, CVL fragments |
|
|
|
|
|
|
|
|
|
Busybox |
Nadi et al. TSE 2015 |
|
Busybox Farce |
"BusyBox is an implementation of 310 GNU shell tools (ls, cp, rm, mkdir, etc.) within one binary executable." Customizable C code, KConfig variability model |
Open source |
Yes |
Source code |
C |
Feature constraints discovery |
Yes, Farce |
Dependency analysis |
|
1 |
|
535 Files |
|
|
|
|
921 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Yes, Kconfig model |
|
|
|
|
|
|
|
|
|
|
|
Choccreate web configurator |
Abbasi et al. CSMR/WCRE 2014 |
|
Broken link to data: link and link |
"The customer can choose her chocolate and create its masterpiece and ingredients" |
Industrial |
Yes |
Source code |
Web |
Feature model synthesis |
No |
Crawling the web configuration and extracting data patterns in the websites |
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CM-1 NASA |
Lohar et al. ESEC/FSE 2013 |
|
Broken link: coest.org -> found at CM1 folders at Github |
"This dataset is a modified from NASA Metrics Data Program's CM-1 project. The dataset contains 235 high-level and 220 low-level requirements. The trace for the dataset was manually verified. The "theoretical true trace" (answerset) built for this dataset consisted of 361 correct links. Each of the high- and low-level files contain the text of one requirement element. Provided by: Jane Hayes, University of Kentucky" |
Industrial |
Yes |
Requirements |
XML files |
Software traceability in general (related to feature location) |
Yes |
Genetic algorithm evolving traceability algorithms, fitness function based on known correct traces |
|
|
|
235 high-level requirements linked to 220 low-level requirements |
|
|
|
|
|
|
|
|
|
|
|
|
|
Yes |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Collaborative Software Suite (CoSS) |
Hariri et al. TSE 2013 |
|
|
A tool to "support project members collaborating on a distributed project. CoSS will be developed as a web-based solution for managing projects and supporting collaboration across an enterprise-level organization." |
Industrial |
No |
Documentation |
Text documents with product descriptions |
Feature identification, feature recommendation |
No |
Expert knowledge, manual |
|
100 ("a combination of expert knowledge and publicly available product descriptions for over 100 related commercial products") |
|
Not mentioned |
|
|
|
|
120 |
|
No, but an excerpt of the feature model is shown |
Manually |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"The domain analyst invested over 30 hours to identify approximately 120 coarse-grained features. The domain analysis did not include identifying composition rules such as optionality, variability, or mutual exclusion between features." |
|
|
Communications-Based Train Control (CBTC) |
Ferrari et al. SPLC 2013 |
|
|
Brochures and other publicly available documents of five CBTC vendors, namely Alstom, Bombardier, Invensys, Thales, and Siemens |
Industrial |
No |
Documentation |
Text files in natural language |
Feature identification |
No |
NLP techniques |
|
5 |
N/A |
3.8 documents, 37 pages, 10359.6 words |
Thales: 3 documents, 19 pages, 7,478 words |
"Bombardier: 5 documents, 72 pages, 16,317 words" |
Manually |
Indendepent companies |
180 features (6 features identified as common features) |
174 features |
No |
NLP approach and then manual refinement/filtering |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Comparative table of PaaS |
Acher et al. VaMoS 2012 |
"Provided by an external person" |
|
|
Open source |
Yes |
Documentation |
CSV file |
|
|
|
|
8 |
N/A |
|
|
|
|
|
45 synthetised with their approach |
|
Yes |
Using their heuristic |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Curl |
Linsbauer et al. SSBSE 2014 |
|
Authors mention these websites but it is not found link, link and link |
|
Open source |
No |
Variability model |
Feature model |
Feature model synthesis |
No |
Genetic algorithms |
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Danfoss Drives frequency converters |
Jepsen et al. SPLC 2007 |
|
|
They started with a prototype "To derive a prototype for the common source code base, the code branches of the first two product projects (which were also two of the major contributors of functions) were put together. " |
Industrial |
No |
Source code |
C and C++ |
Feature identification, feature model synthesis, reusable assets construction |
No |
Merging the variants. Variability model extracted bottom-up from compilation directives |
|
2 (initially 2 and then they started adding features from other variants) |
|
200 KLOC "Several hundred thousand LOC" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Yes, time and persons involved are mentioned in the paper |
|
|
Defense domain systems |
Rubin et al. STTT 2015, Eriksson et al. ASE 2005 |
|
|
case study comes from a large aerospace and defense company |
Industrial |
No |
Requirements, Tests, Models, Source code |
C and C++ |
Detection, Analysis, Transformation |
No |
Structural Similarity, Set Theory |
There is no much information of the systems |
5 |
|
|
|
|
SPL |
It stems from two similar products which became successful and grew into a family containing five commercial products and a couple of in-development prototypes. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Dell laptop web configurator |
Abbasi et al. CSMR/WCRE 2014 |
|
Broken link to data: link. Dell |
The authors took the “Inspiration 15” model in this experiment |
Industrial |
Yes |
Source code |
Web |
Feature model synthesis |
No |
Crawling the web configuration and extracting data patterns in the websites |
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Dell Laptops catalog |
Acher et al. VaMoS 2012 |
SPLOT feature configuration |
VariCell. SPLOT |
A catalog of laptops with different characteristics |
Open source |
Yes |
Documentation |
CSV file |
Feature identification, feature model synthesis |
|
|
|
33 |
N/A |
|
|
|
Catalog |
|
102 |
|
Yes |
Using their heuristic |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
DesktopSearcher |
Linsbauer et al. SSBSE 2014 |
|
SPL2Go |
Program for indexing and content based searching in files |
Academic |
Yes |
Variability model |
Feature model |
Feature model synthesis |
No |
Genetic algorithms |
|
1 |
|
22 features |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
DirectBank |
Peng et al. JSS 2013 |
|
|
"A small-scale Java-based financial system from our industry partner, Wingsoft Ltd., which provides bank interfacing services for cashiers." |
Industrial |
No |
Source code |
Java |
Feature location |
No |
Hybrid of information retrieval and structural analysis and graph analysis |
Wingsoft is the same company as (Xue et al. 2010, Xue PhD Thesis 2012) |
1 |
N/A |
30 KLOC, 53 Classes, 414 Methods |
|
|
|
|
71 |
|
No |
"The system experts manually construct the feature model of the system." |
|
|
|
|
|
|
They mention 951 constraints |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"The system experts provide the natural language description of these features and business objects." |
|
|
|
Dog tag web configurator |
Abbasi et al. CSMR/WCRE 2014 |
|
Broken link to data: link. My dog tag |
Dog tag generator |
Industrial |
Yes |
Source code |
Web |
Feature model synthesis |
No |
Crawling the web configuration and extracting data patterns in the websites |
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
DOPLER tool |
Grünbacher et al. ASE 2009 |
Grünbacher et al. ASE 2008 |
DOPLER |
"Applying product line concepts in our tool development processes" |
Industrial |
No |
Components |
Eclipse plugins |
Feature identification, feature location, feature constraints discovery, variability model synthesis, reusable assets extraction |
No |
Manual analysis |
Variability exists in plugins, configuration files, settings etc. |
1 |
|
45 plugins with about 210 kLOC |
|
|
|
|
Not mentioned, but 84 "assets in the variability model" |
|
No, a partial view of the decision model in the paper |
Manual |
|
|
|
|
|
|
|
No, 243 relationships mentioned in the "84 assets of the variability model" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Draw Product Line |
Fischer et al. ICSME 2014,
Linsbauer et al. SPLC 2013,
Martinez et al. SPLC 2016 |
Fischer et al. ICSME 2014 |
Github |
A draw application. |
Illustrative |
Yes |
Source code |
Java |
Feature location |
Yes |
Overlap analysis, graphs analysis |
|
N/A |
12 |
380 LOC approx |
287 LOC |
473 LOC |
|
No |
5 |
|
Yes |
|
|
No |
No |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
E-Clinic |
Lohar et al. ESEC/FSE 2013 |
|
Broken link: coest.org -> found at CM1 folders at Github |
Easy clinic |
Industrial |
Yes |
Model |
Use cases model |
Feature location, traceability recovery |
Yes |
Genetic algorithm evolving traceability algorithms, fitness function based on known correct traces |
|
|
|
30 use cases linked to 47 test cases |
|
|
|
|
|
|
|
|
|
|
|
|
|
Yes |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Eclipse official releases |
Martinez et al. ICSR 2015,
Martinez et al. IST 2018 |
|
eclipse.org |
Using the official variants of an Eclipse release (e.g., Kepler SR2 in the year 2014) |
Open source |
Yes |
Components |
Eclipse plugins |
Feature location |
Yes |
Formal context analysis, information retrieval |
|
12 (it depends on the release, in the year 2008 Eclipse Europa Winter contained 4 variants but from 2011 onwards it is between 12 or 13 variants) |
|
around 2000 plugins (depends on the release) |
|
|
Eclipse foundation system to create the variants |
No |
around 400 features (depends on the release) |
|
Yes |
Domain experts, developers of the features |
Yes |
No |
No |
|
|
Yes |
|
|
|
No |
No |
2 |
No |
No |
Yes |
No |
No |
Yes |
|
Yes |
|
Yes, but not used |
|
|
|
Yes, but not used |
|
|
|
Eclipse Projects and Plugins |
Knodel et al. WCRE 2005,
Bayer et al. TechReport 2004,
Martinez et al. ICSR 2015,
Martinez et al. IST 2018 |
|
eclipse.org |
Obtain a reference architecture to create existing and new variants (in the case of Bayer et al. "two new IDEs (the KobrA component browser and the frame processor")). Martinez et al. IST 2018 propose a benchmarking framework for feature location using Eclipse variants. |
Open source |
Yes |
Components and source code |
Eclipse plugins their Java code |
Feature location, reusable assets extraction, reference architecture discovery |
Yes |
Feature traces analysis, information retrieval |
|
4 for Bayer et al. "the JDT, CDT, and CobolDT, and the source code for the Eclipse IDE. An independent working copy of the Eclipse core and a single plugin added to the core were also created." |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Yes |
|
|
|
|
|
Yes
| |
eCos kernel |
She et al. ICSE 2011, Nadi et al. TSE 2015 |
|
eCos but the data is here (many links and images broken but the repository can be downloaded) |
A real-time operating system using the component definition language (CDL) that is like a feature model. Around 1200 features. |
Open source |
Yes |
Variability model |
Feature model |
Feature model synthesis |
Link |
Using feature names, descriptions and dependencies. Implications graph. |
|
1 |
|
1245 features |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Electric motor controller |
Rubin et al. STTT 2015 |
Rubin et al. STTT 2015 |
|
Danfoss Drives, is one of the largest producers of frequency converters—electronic power conversion devices used to control shaft speed or torque of a three-phase induction motor. |
Industrial |
No |
Source Code |
C and C++ |
Detection, Analysis, Transformation |
No |
Structural Similarity, Set Theory |
|
4 |
|
|
|
|
clone-and-own |
|
1,100 features and hundreds of configurations used by customers |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Electric Parking Brake System |
Martinez et al. VISSOFT 2014 |
Dumitrescu et al. SPLC 2013 |
Link, data |
An SPL for the Renault’s Electric Parking Brake System. "The case study is focused on the variability in the BOM (Bill of Materials) related to the logical/physical components" |
Industrial |
Yes |
Documentation |
Bill of materials |
Feature constraints discovery |
No |
Visualization support |
|
200 |
2976 |
|
|
|
Different configurations of the bill of materials |
No |
20 |
|
Yes |
Domain experts |
Yes |
No |
No |
|
|
|
|
Yes |
|
|
|
2 |
Yes |
Yes |
Yes |
No |
Yes |
Yes |
|
|
|
|
|
|
|
|
|
|
|
E-Shop |
Itzik et al. SPLC (REVE) 2014,
Itzik et al. TSE 2016 |
|
SOVA |
A set of requirements for an E-Shop |
Academic |
Yes, in the paper |
Requirements |
Text documents |
Feature model synthesis |
No, SOVA tool not found |
Semantic and Ontological Variability Analysis |
|
1 |
|
22 requirements. The inputs are requirements for a single system. |
|
|
|
|
Two feature models from an structural and functional perspective. Around 33 features. |
Around 28 |
Yes |
Automatically from their approach. |
|
|
|
|
|
|
|
|
|
|
|
|
Yes |
Yes |
|
|
|
Yes, automatically derived |
|
|
|
|
|
|
|
|
|
|
|
ET Software Design Robot Contest (ERC) |
Kumaki et al. SPLC 2012 |
|
ETRobo |
"Robots designed to autonomously run on a course by sensing the black line using optical sensors." "The legacy software assets of a group that participated in the ERC for four consecutive years" |
Academic |
No |
Requirements and Models |
Text files and UML class models |
Feature identification, feature location, reusable assets construction |
No |
Overlap analysis |
|
4 |
N/A |
46 sentences in requirements, 21 classes |
31 sentences in requirements, 16 classes |
69 sentences in requirements, 29 classes |
It is mentioned that "The legacy software assets of a group that participated in the ERC for four consecutive years" so it is not clear if it was the evolution of a system or variants implementing different features. The results suggest that they were implementing different features. |
|
Complete feature model not shown, excerpt contains 12 features |
|
Only a few of them |
Manually |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Man-hours of using the approach and not using the approach. |
|
Yes
| |
Fame-DBMS |
Linsbauer et al. SSBSE 2014 |
|
SPL2Go , SPLConqueror |
"prototype of an embedded data management system developed from scratch as software product line." |
Academic |
Yes |
Variability model |
Feature model |
Feature model synthesis |
No |
Genetic algorithms |
|
1 |
|
20 features |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
floraJS |
Rodrigues Santos et al. SPLC 2016 |
Silva et al. SANER 2015 |
The original system: Qualitas.js Dataset The extracted SPLs: Github |
Some characteristic in the "features list" of the open-source (sometimes available in the project web site) were extracted from a single product and a feature model and SPL were created. The objective was to show RIPLE-HC capability to implement javascript SPLs. |
Open source |
Yes |
Source code |
Javascript |
Feature identification, Feature location, Feature Model Synthesis, Reusable assets construction |
No |
Manual feature identification and extraction. |
|
1 |
|
3325 LOC, 26 Modules |
|
|
|
|
18 |
|
Yes |
Manually from project descriptions |
|
|
|
|
|
Information in the manually extracted reusable assets |
|
Yes |
|
No |
|
2 |
No |
Yes |
No |
|
No |
Yes |
|
Yes |
Syntactically valid. Behavior was not checked. |
|
|
|
|
|
|
|
|
Forum domain (Jforum, JGossip and MVNForum) |
Yang et al. WCRE 2009 |
|
Variants: JForum. JGossip and MVNForum |
Three independently implemented variants of a forum system |
Open source |
Yes |
Source code |
Java and SQL statements |
Feature identification, feature model synthesis |
No, no complete feature model provided, domain experts needed |
Data schema mapping with domain experts, Formal concept analysis |
|
3 |
N/A |
68418 LOC |
33123 LOC |
105119 LOC |
Independent team of developers for each variant |
All in Java but independent team of developers for each variant |
94 |
36 |
No, only a small part in a feature model excerpt |
|
|
|
Yes |
|
|
|
|
No |
|
|
|
|
Yes |
Yes |
Yes |
|
|
No |
|
No |
|
|
|
|
|
|
|
|
|
FraSCAti |
Acher et al. SoSyM 2013,
Acher et al. ECSA 2011 |
FraSCAti |
Familiar project. This is more recent but it contains broken links to attachments: FraSCAti |
A plugin based system. OW2 FraSCAti is an open-source implementation of the Service Component Architecture (SCA) standard. |
Open source |
Yes |
Components and Source code |
Plugins, Java |
Feature model synthesis, Feature constraints discovery |
Yes |
Static information about the architecture and plugin dependencies |
There is a step for reconciling the extracted FM with the initial FM created manually by the Software Architect. The reconciled FM is not provided but some indications are provided to add missing features and other actions. |
1 |
|
60 plugins with around 250 KLOC |
|
|
|
|
39 -> fm from the Software architect 50 -> extracted FM |
29 -> fm from the Software architect 31 -> extracted fm |
Yes |
Manually by the software architect of Frascati |
|
|
|
|
|
|
|
Yes |
|
|
|
2 |
Yes |
Yes |
|
|
No |
Yes |
|
No |
|
|
|
|
svn link |
|
|
|
|
FreeBSD |
She et al. ICSE 2011 |
|
FreeBSD but the data is here (many links and images broken but the repository can be downloaded) |
FreeBSD contains a flat list of features, around 1200 features. Then they manually created an ontology and a feature model of 192 features. |
Open source |
Yes |
Model |
Ontology and Feature model |
Feature model synthesis |
Link |
Using feature names, descriptions and dependencies. Implication graphs. |
|
1 |
|
192 features |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Fujitsu Kyushu Network Technologies |
Otsuka et al. SPLC 2011 |
|
|
"Hardware, firmware and software for network equipment and image processing systems, etc. as well as the provision of network system solutions" |
Industrial |
No |
Source code |
C and Assembly |
Feature identification, feature location, reusable assets construction |
No |
Face to face meetings, manual work |
Identified features are separated by layers: Capability, operating environment, domain technology, implementation technique. There was a lot of features so they applied scoping: "Project leaders carefully screened the features to be included in the scope" |
Several, not mentioned |
|
300 KLOC "more than several hundred KSLOC (confidential)" |
|
|
"Most individual product variations result from specific installation site factors, such as different communication capacity requirements. Customer specific functions that are not specified in the standards are another source of product variations that can require additional development and customization efforts." |
|
2012 |
195 |
No |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"Once work began, it became evident that the feature model would depend significantly on each modeler’s individual perspectives and skills. Specifically, the granularity of capability feature identification and the hierarchical arrangement of the features were quite different depending on modelers." |
|
|
|
|
|
|
|
|
|
Development Duration: more than one year, Engaged Engineers About 100 engineers on an average (about 300 engineers at a maximum), Development Sites: four geographically distant locations |
A figure and discussion about the cost and return of investment of the 2nd, 3rd and 4th product derived from the SPL. |
|
GameOfLife |
Fischer et al. ICSME 2014 |
|
Feature IDE examples, also at link in the superImposition examples |
A simulator of cellular automaton. |
Academic |
Yes |
Source code |
Java |
|
No |
Overlap analysis, graph analysis |
|
N/A |
65 |
1.3 KLOC approx |
874 LOC |
1.9 KLOC |
Generated SPL |
No |
15 |
|
Yes |
|
|
No |
No |
|
|
|
|
|
|
|
|
|
Yes |
Yes |
Yes |
|
No |
Yes |
|
|
|
|
|
|
|
|
|
|
|
Global trading and settlement system (GTSS) |
Faust and Verhoef SPE 2003 |
Faust and Verhoef SPE 2003 |
|
global trading and settlement system (GTSS) that is used worldwide at Deutsche Bank. |
Industrial |
No |
Requirements, Source code, Architecture |
|
Detection, Analysis, Transformation |
No |
Expert-driven |
GTSS |
more than 15 large to major installations of the system and many more minor ones |
|
The system measures about 60 000 function points, contains thousands of code units and has many instances. |
|
|
copy-paste-modify |
There are variations for different banking services in many countries and in some cases multiple varieties within a country. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Graph Product Line (GPL) |
Linsbauer et al. SSBSE 2014, Ziadi et al. CSMR 2012, Ziadi et al. SAC 2014 |
Lopez-Herrejon and Batory GCSE 2001 |
SPL2Go , Feature IDE examples |
This is an SPL that has been reimplemented for several languages (Java, C, etc.) and they also might differ in number of features. |
Academic |
Yes |
Source code |
Java |
Feature identification, Feature location, Feature model synthesis, Reusable assets extraction |
Yes for Ziadi et al. |
Overlap analysis, Genetic algorithms |
|
21 in Ziadi et al. |
|
|
|
|
|
|
18 in Linsbauer et al., 38 in Ziadi et al. SAC 2014 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Graphical Editor |
Maia et al. WCRE (PCODA) 2008 |
|
|
A small tool for drawing rectangles and circles |
Illustrative |
No |
Source code |
Java |
Feature location |
No |
Analysis of execution traces, sequence alignment algorithms |
|
1 |
|
387 LOC, 9 classes, 58 methods |
|
|
|
|
2, the ones under analysis "We have chosen two similar features to execute the system: drawing a rectangle and drawing a circle." |
|
Yes |
Manual |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Yes |
|
|
|
|
|
|
Health Watcher |
AL-Msie'Deen et al. ICSR 2013,
Shatnawi et al. ICSR 2015 |
Greenwood et al. ECOOP 2007 |
Link |
Several releases of a single-system |
Open source |
Yes |
Source code |
Java |
Feature identification |
No |
Formal concept analysis |
|
10 |
|
6427 LOC |
5288 LOC |
7709 LOC |
Different versions (releases) of the single system. Variability in time (evolution) |
No |
15 |
9 |
Yes |
Manually by the authors of the extraction. Some info about the features are shown in the original publication of the system. |
No, we don't have the list of features |
No |
To be checked |
|
|
No |
|
No |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Home Automation |
Nie et al. COMPSACW 2012 |
SPLOT repository of feature models |
SPLOT |
Two variants of a feature model |
N/A |
Not found |
Variability model |
Feature model |
Feature model synthesis |
No |
Diff and merge |
It is not clear which two variants where selected from the SPLOT repository |
2 |
|
41 features |
38 features |
45 features |
Not mentioned |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Home Service Robot |
Kang et al. SPLC 2005 |
|
|
"Home service robots have a wide range of potential applications, such as home security, patient caring, cleaning, etc." |
Academic |
No |
Source code |
Not specified |
Feature identification, feature location, feature constraints discovery, reusable assets construction, feature model synthesis |
No |
As a first step, "From legacy applications, we obtain object relationship diagrams". Then they obtain component and architecture representations. Then they create the feature model. |
|
Several, but exact number not mentioned |
N/A |
|
|
|
|
|
Some of them are named in the text but no exact number mentioned |
|
Some of them are named in the text |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
They mention that they extract a PLA
| |
HomeAway |
Krueger et al. SPLC 2008 |
|
HomeAway |
Online Vacation Rental Marketplace. A company that bought similar companies on the same domain. "The goal of this effort was to transition from the one-size-fits-all deployment model for each of the twelve sites currently supported by the HomeAway platform to a Gears automated production model. ". |
Industrial |
No |
Source code |
ColdFusion language |
|
No |
|
|
12 |
|
|
|
|
Independently fitting each company requirements |
Yes, companies fusioning |
Not mentioned |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Hospital |
Rubin and Chechik ESEC/FSE 2013 |
Rad and Jabbari Master thesis 2012 |
Not mentioned |
8 variants of a Hospital system modeled as UML class diagrams. The system handles services within the hospital and describes the role of the hospital staff, its wards, different types of patients, and more. |
Industrial |
No |
models |
UML class diagrams |
model merging |
No |
heuristic algorithm |
|
8 |
|
221 classes in all eight models, with an average of 27.63 classes per model. |
18 classes |
38 classes |
created manually |
views of different stakeholders |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Image Memory Handler (IMH) |
Kolb et al. JSMaintEvolResPract 2006 |
|
|
Image Memory Handler "used in Ricoh’s current products of office appliances such as copier machines, printers, and multi-functional peripherals. It is responsible for controlling memory usage and compressing and decompressing image data." Objective of the case study: "Improve systematically the design and implementation of an existing software component in order to reuse it in a software product line". |
Industrial |
No |
Source code |
C |
Feature identification, refactoring |
No |
Refactoring, clone detection, manual work. Fraunhofer PuLSETM-DSSA—an approach for defining domain-specific software architectures (DSSA) and product-line architectures. |
The source code was already annotated with ifdefs. |
1 |
N/A |
199 572 LOC |
|
|
|
|
309 "According to their names, however, only a portion of them are used for variability purposes, whereas many others serve development aspects such as debugging or are used as include guards to prevent multiple header inclusion. Furthermore, many #if 0 or #if 1 preprocessor statements." |
|
Few of them are shown in the Tables. |
Seems to be the ones from the ifdefs |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"Identification of the relevant stakeholders and roles, the selection and definition of the views" |
No |
|
|
|
|
|
|
|
Yes, documentation is mentioned as part of the analysis. However, they also reported "With respect to the variabilities realized by the component, there was no explicit information available. Neither was there information about which functions vary and how they vary, nor was there a complete and up-to-date overview of all the decisions and variabilities." |
4 months, 5 people (2 researchers, 2 students, 1 domain expert) |
|
|
Images example |
Martinez et al. SPLC 2015 |
|
BUT4Reuse examples |
Four images of pixel art representing the same character with different clothes. Used to illustrate the generic approach supported by the Bottom-Up Technologies for Reuse framework. |
Illustrative |
Yes |
Media |
PNG images |
Feature identification, feature constraints discovery, feature model synthesis, reusable assets construction |
Yes |
Overlap analysis |
|
4 |
|
|
|
|
|
|
11 |
7 |
Yes |
Manually |
Yes |
No |
No |
100% |
|
Yes |
|
Yes |
|
No |
No |
2 |
Yes |
No |
Yes |
No |
No |
Yes |
|
Yes |
|
|
|
|
|
|
|
|
|
Industrial Automation System |
Breivold et al. SEAA 2008 |
|
|
A single system decomposed in reusable assets to migrate to SPL. "The trigger was to improve software quality and enable distributed product development." |
Industrial |
No |
Source code |
C and C++ |
Feature identification, feature location, reusable assets extraction |
No |
Manual analysis of existing documentation, implementations and workshops with the stakeholders. |
The single system was delivered even when some functionalities were not needed. |
1 |
N/A |
3000000 LOC |
|
|
|
|
Not mentioned |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The definition of the PLA is part of their approach. Manual definition.
| |
In-Flight Entertainment System |
Martinez et al. ASE 2015,
Martinez et al. SPLC 2016 |
|
BUT4Reuse examples |
Variants created manually from an original model by removing model elements related to features. The original model is intended to be similar to an industrial one by the Capella tool providers, however, it is an incomplete model. |
Open source |
Yes |
Model |
Capella models |
Feature identification |
Yes |
FCA |
|
3 |
N/A |
|
|
|
Manually by removing features from a maximum model. |
No |
3 |
2 |
Yes |
Manually |
Yes |
No |
No |
|
|
|
|
Yes |
|
No |
No |
2 |
No |
No |
No |
No |
No |
No |
|
Yes, CVL fragments |
|
|
|
|
|
|
|
|
|
Insurance Policy |
Nie et al. COMPSACW 2012 |
The authors refer to Schirmeier et al. SPLC 2007 but no mention of this model is found. In SPLOT we can find FM related to insurance but the reported number of features does not correspond. |
|
Two variants of a feature model |
N/A |
Not found |
Variability model |
Feature model |
Feature model synthesis |
No |
Diff and merge |
|
2 |
|
21 features |
20 features |
23 features |
Not mentioned |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
I-Trust |
Lohar et al. ESEC/FSE 2013 |
|
Broken link: coest.org , Requirements are found here: link |
|
Open source |
No, authors include reference but not available anymore |
Documentation |
Requirements |
Feature location, traceability recovery |
No |
|
|
131 requirements linked to source code |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
J2ME Games Product Line |
Kulesza et al. EAW 2007 |
Alves et al. SPLC 2005 |
|
J2ME games are mainstream mobile applications of considerable complexity |
Academic |
No |
Configuration Model, Architectural Model |
OO source code + extension join points (EJPs) |
Mapping of Features to Source code |
|
AOP, Model transformation |
|
|
|
|
|
|
|
|
8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
jasmine |
Rodrigues Santos et al. SPLC 2016 |
Silva et al. SANER 2015 |
The original system: Qualitas.js Dataset The extracted SPLs: Github |
Some characteristic in the "features list" of the open-source (sometimes available in the project web site) were extracted from a single product and a feature model and SPL were created. The objective was to show RIPLE-HC capability to implement javascript SPLs. |
Open source |
Yes |
Source code |
Javascript |
Feature identification, Feature location, Feature Model Synthesis, Reusable assets construction |
No |
Manual feature identification and extraction. |
|
1 |
|
2956 LOC, 48 Modules |
|
|
|
|
4 |
|
Yes |
Manually from project descriptions |
|
|
|
|
|
Information in the manually extracted reusable assets |
|
Yes |
|
No |
|
No constraints |
No |
No |
No |
|
No |
Yes |
|
Yes |
Syntactically valid. Behavior was not checked. |
|
|
|
|
|
|
|
|
Java Buffer Library |
Damaševičius et al. ITC 2012 |
|
Link |
It is a "part of JDK 1.5 class library (package java.nio.*)". "The Java Buffer library is a benchmark source code component used by researchers in the area of program analysis, generalization and meta-programming research." |
Open source |
Yes, but requires some actions such as registering and accepting the Java Research License |
Source code |
Java |
Feature location, Feature model synthesis |
Yes |
Dependency graph analysis, clustering |
|
1 |
N/A |
4 Java classes manually selected from the 74 classes of the Library |
|
|
|
|
73 |
12 |
No, only numbers |
Dependency graph analysis and clustering |
|
|
|
|
|
|
|
|
|
|
|
|
Yes |
No |
No |
Yes |
No |
Yes |
|
No |
|
|
|
|
|
|
|
|
|
Jbook |
Rodrigues Santos et al. SAC 2013 |
|
JBook and link |
A library management system |
Academic |
Yes |
Source code |
Java |
Feature identification, feature location |
|
Test-based feature location. Location of feature seed. Use cases and requirements analysis. |
|
1 |
|
1 KLOC |
|
|
|
|
Not mentioned, at least 21 shown in feature model excerpt |
|
Yes, only of some of them |
Manually by the domain experts |
|
|
|
|
|
|
|
Yes, one requires constraint |
|
|
|
|
Yes |
Yes |
|
|
|
Partial feature model is shown |
|
|
|
Yes |
|
|
|
Yes, UML use cases and requirements |
|
|
|
JForum |
Yang et al. WCRE 2009 |
|
JForum |
Forum system used to manually identify features |
Open source |
Yes |
Source code |
Java and SQL statements |
Feature identification, feature model synthesis |
No, no feature model provided |
|
Feature names or feature model not found. |
1 |
N/A |
33123 LOC |
|
|
|
|
68 |
|
No |
Manually by graduates |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
It takes two graduates who are familiar with forum systems two weeks to separately finish analysis for all the three variants (JForum, JGossip and MVNForum). |
|
|
JGossip |
Yang et al. WCRE 2009 |
|
JGossip |
Forum system used to manually identify features |
Open source |
Yes |
Source code |
Java and SQL statements |
Feature identification, feature model synthesis |
No, no feature model provided |
|
Feature names or feature model not found. |
1 |
N/A |
33507 LOC |
|
|
|
|
54 |
|
No |
Manually by graduates |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
It takes two graduates who are familiar with forum systems two weeks to separately finish analysis for all the three variants (JForum, JGossip and MVNForum). |
|
|
JHipster |
Halin et al. VaMoS 2017 |
|
JHipster SPL |
JHipster is a Web-app configurator that can be customized. It uses a customization approach that can be mapped to an SPL approach. The output is a set of different technologies of different artefact types. |
Open source |
Yes |
Source code |
Java (with Spring Boot) in the server side. AngularJS and Bootstrap (a HTML/CSS and Javascript framework) |
Feature constraints discovery, Feature model synthesis |
Yes |
Manual reengineering |
This is a refactoring of an already feature-based configurable system |
It was already a customizable tool |
|
|
|
|
Variants can be created from the extracted SPL |
|
48 |
44 |
Yes |
Manually from existing "questionnaire files" used for customization |
Yes |
No |
No |
|
|
|
|
Yes, manually from existing "questionnaire files" used for customization |
|
|
|
5 |
Yes |
Yes |
Yes |
|
No |
Yes |
|
Yes |
Yes, JUnit. They also collect the log of the results. |
From testing assets |
|
|
Yes, JHipster github |
Results and log of the generation compilation build process |
|
|
|
JHotDraw |
Trifu PhD Thesis 2010,
Olszak and Jørgensen SciCo (FOSD) 2012 |
Ceccato et al. IWPC 2005 |
JHotDraw |
JHotDraw is a framework for the creation of drawing editors, ranging from simple graphical editors to more complex domain-specific diagram editors, supporting behavioural constraints on how their elements can be used and altered. |
Open source |
Yes |
Requirements and Source code |
Java |
Mapping of Requirements to Implementations |
No |
Graph-based, Execution Tracing |
|
2, consecutive releases of JHotDraw, namely release versions 5.3 and 5.4b1. |
|
LOC 5.3=27628, 5.4=39565 / 7.2=62 KLOC |
|
|
evolution of the system |
|
17 concerns / 7.2 = 59 features |
|
Requirements |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
KePlast platform |
Linsbauer et al. SSBSE 2014 |
Angerer et al. SPLC 2014 |
KePlast |
Industrial automation systems SPL. Focus on the ClosureUnit component. |
Industrial |
No, but a feature model of a selected component is presented |
Source code |
Java |
Feature location, Feature model synthesis |
No |
Dependency graph analysis |
|
15 generated from the company configurator |
Not defined |
Not mentioned |
53000 LOC |
58000 LOC |
Existing generator |
|
24 |
20 |
Yes |
Manually analysing the generator and refining with domain experts |
|
No |
No |
|
|
|
|
|
|
|
|
|
Yes |
No |
Yes |
|
No |
Yes |
100% precision when using 15 generated variants |
|
|
|
|
|
|
|
|
|
|
Labor Market Monitoring Software Product Line (LMMSPL) |
Shao et al. ICCSA 2013 |
|
|
"The applications collect and analysis regional employment and unemployment information for the local governments." |
Industrial |
No |
Requirements and Source code |
Text and Java |
Traceability, feature location |
|
Latent semantic indexing, clustering |
|
1 |
N/A |
70 pages of Requirements, 468 Java files |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Library |
Reinhartz-Berger et al. CAiSE 2014 |
|
SOVA |
A set of requirements of a university library management system |
Academic |
Yes |
Requirements |
Text documents |
Feature model synthesis |
No, SOVA tool not found |
Semantic and Ontological Variability Analysis |
Same domain as Chen et al. 2005 |
1 |
|
10 requirements. The inputs are requirements of a single system. |
|
|
|
|
Two feature models from an structural and functional perspective. Around 54 features. |
Around 49 |
Yes |
Automatically from their approach. |
|
|
|
|
|
|
|
|
|
|
|
|
Yes |
Yes |
|
|
|
Yes, automatically derived |
|
|
|
|
|
|
|
|
|
|
|
Library management systems |
Chen et al. RE 2005 |
Hsia et al. COMPSAC 1988 |
|
|
Academic |
Yes |
Requirements |
Text file |
Feature identification |
No |
Similarity analysis, graph analysis, clustering |
Same domain as Reinhartz-Berger et al. CAiSE 2014 |
1 |
N/A |
21 requirements |
|
|
|
|
36 synthetised with their approach |
3 |
Yes |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
LinkedList |
Linsbauer et al. SSBSE 2014 |
|
Authors mention these websites but it is not found link, link and link |
|
N/A |
Not found |
Variability model |
Feature model |
Feature model synthesis |
No |
Genetic algorithms |
|
1 |
|
27 features |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Linux kernel |
She et al. ICSE 2011,
Xue et al. WCRE 2012,
Peng et al. JSS 2013,
Xue PhD Thesis 2012,
She PhD Thesis 2013,
Nadi et al. TSE 2015 |
Berger et al. ASE 2010,
Godfrey and Tu ICSM 2000 |
Linux - Kernel |
Linux is an open-source general purpose OS created in the early 1990’s. It has a feature model specified in the Kconfig language for configuring features in its kernel. |
Open source |
Yes |
Source code= x86 Linux 2.6.28.6, code units, static program model (graph) |
C |
Feature Model extraction, Feature location, Feature model synthesis |
Linux variability analysis tools google code or Github |
ranking heuristic for identifying parent candidates and also automated procedures for identifying mandatory features, feature groups and implies/excludes edges |
nine product variants derived from three stable releases of the Linux kernel 2.6.27, 2.6.31, 2.6.37 released on December 14 th, 2008, December 18 th , 2009, and January 5 th , 2011, respectively. |
9 Linux kernel product variants consist of 3146 features |
|
about 342K code units (342729 code units) / 12 million lines of code, 2000 directories and 28,024 files, and 155,266 C functions. Furthermore, Linux kernel contains about 700 Kconfig |
17622 code units |
55585 code units |
Kconfig language |
|
The Linux feature model has over 5000 features / 3146 features / consisting of 6052 features and 1,410,830 interdependencies |
|
Yes = Xue et al. 2012 |
Kconfig |
yes |
|
|
|
|
Yes = The Kconfig model, makefiles, and C preprocessors used by Linux kernel allow us to establish the ground truth links between features and their implementing code units. |
Yes = Peng et al. JSS 2013 |
Yes = Kconfig |
There is information of interdependencies (Kconfig) |
|
|
|
yes |
yes |
|
|
|
yes |
yes |
Yes = The Kconfig model, makefiles, and C preprocessors used by Linux kernel allow us to establish the ground truth links between features and their implementing code units. |
|
|
|
|
|
|
|
|
|
LLVMCompiler |
Linsbauer et al. SSBSE 2014 |
|
Authors mention these websites but it is not found link, link and link |
|
N/A |
Not found |
Variability model |
Feature model |
Feature model synthesis |
Not found |
Genetic algorithms |
|
1 |
|
12 features |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Microsoft Dynamics AX |
Nöbauer et al. CAiSE 2014,
Nöbauer et al. SPLC 2014 |
|
Website |
"Dynamics AX is a business software solution from Microsoft for medium to large enterprises. Partners, such as InsideAx, configure, customize and sell the ERP product to customers" |
Industrial |
No |
Configuration settings |
XML files |
Assessment of reuse potential, similarity analysis |
No |
Similarity analysis |
|
5 |
N/A |
|
|
|
"He first selected five customized products which are all derived from the same base product but operating in different industry branches (construction, retail, and manufacturing)." |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Microwave Oven |
Rubin PhD Thesis 2014 |
Gomma Book 2014 |
|
Software products for Microwave Oven |
Illustrative |
Yes, in the thesis |
Models |
Uml Class and UML Statechart models |
Detection, Analysis, Transformation |
No |
Structural Similarity, Set Theory |
|
4 |
|
2 clases per variant |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Mobile Phone |
Araújo et al. SAC 2013,
Nie et al. COMPSACW 2012,
Li et al. ICSS 2007,
Gharsellaoui et al. ENASE 2015 |
Segura et al. GTTSE 2007 |
|
This is an academic case study of a mobile phone feature model. We can find it in different works with different number of features. The mentioned original publication presents 2 variants to be merged. "FMs of the two families of products of the company". |
Academic |
Yes |
Variability model |
Feature model |
Feature model synthesis |
|
Diff and merge |
|
2 |
|
16 features |
15 features |
18 features |
Manually for the academic example |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MobileMedia |
Eyal-Salman et al. MODELS (VARY) 2012,
Al-Msie'Deen et al. ICSR 2013,
Eyal-Salman et al. IRI 2013,
Linsbauer et al. SPLC 2013,
Eyal-Salman et al. SEKE 2014,
Mefteh et al. Ada User Journal 2014,
Maazoun et al. MODELSWARD 2014,
Tang and Leung ICEIS 2015,
Shatnawi et al. ICSR 2015,
Martinez et al. SPLC 2016 |
Figueiredo et al. ICSE 2008 |
MobileMedia, Design study, link |
Different releases of a single-system. Maazoun et al. 2014 uses a case study similar to mobilemedia with 9 variants but it cannot be found. |
Academic |
Yes |
Source code |
Java |
Feature identification, feature naming, feature location, feature model synthesis, extraction of reusable assets |
|
Overlap analysis, formal context analysis, hierarchical clustering, Dependency graphs, information retrieval |
Different variants are used in the studies |
8 |
|
1698 LOC |
760 LOC |
2645 LOC |
Evolution of a system, different releases containing new implemented features. |
No |
7 in Alm'siedeen et al. |
5 |
Yes |
Manually by the authors of the feature identification process |
|
No |
To be checked. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ModelAnalyzer |
Fischer et al. ICSME 2014 |
Check website |
Check website |
Consistency checker and repair for models. |
Open source |
Not found |
Source code |
Java |
Feature location |
No |
Overlap analysis, graphs analysis |
The ModelAnalyzer tool is available in the website but the used variants or generator is not found. The authors mention bug fixes and evolutions to separated variants. |
5 |
N/A |
47 KLOC approx |
35 KLOC |
59 KLOC |
|
|
13 |
|
Not found |
Not found |
|
|
Yes, the authors mention "evolutionary changes or bug fixes that have only been applied to some of the products" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MOTIV video generator SPL |
Temple et al. SPLC 2016 |
Acher et al. SPLC 2014 |
Link and link |
An SPL that generates variants of video sequences with different characteristics (e.g., filters). Then an oracle exists to determine if a given configuration is valid or not |
Industrial |
No |
Media |
Videos |
Feature constraints discovery |
No |
Machine learning |
|
500 (randomly generated from the SPL) |
"a total of 10^103 configurations (not considering constraints)" |
|
|
|
Generated from the SPL |
|
20 Boolean features, 46 integer attributes, 42 real attributes |
|
|
|
|
|
|
|
|
|
|
140 constraints but more wants to be discovered for a specific video algorithm |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MVNForum |
Yang et al. WCRE 2009 |
|
MVNForum |
Forum system used to manually identify features |
Open source |
Yes |
Source code |
Java and SQL statements |
Feature identification, feature model synthesis |
No, no feature model provided |
|
Feature names or feature model not found. |
1 |
N/A |
105119 LOC |
|
|
|
|
141 |
|
No |
Manually by graduates |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
It takes two graduates who are familiar with forum systems two weeks to separately finish analysis for all the three variants (JForum, JGossip and MVNForum). |
|
|
Notepad SPL |
Ziadi et al. SAC 2014,
Martinez et al. SPLC 2016 |
|
Feature IDE examples. Notepad Java, not Notepad Java 2 |
|
Illustrative |
Yes |
Source code |
Java |
Feature identification, feature naming |
Yes |
Overlap analysis, feature identification |
|
N/A |
8 |
806 LOC |
|
|
Generated from the SPL |
No |
4 |
3 |
Yes |
|
|
|
|
|
|
|
|
|
|
|
|
|
No |
No |
No |
No |
No |
|
|
|
|
|
|
|
|
|
|
|
|
PCM Dataset |
Bécan et al. TechReport 2013 |
Sannier et al. ASE 2013 |
|
Large FMs extracted from product comparison matrices (PCMs) found in Wikipedia |
Academic |
No |
Feature combinations |
product comparison matrices (PCMs) found in Wikipedia |
Detection, Analysis, Transformation |
No |
Heuristics |
|
30 FMs with an automated extraction process |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Pharmaceutical wholesaler logistics systems |
Kicsi et al. ICCSA 2017,
Kicsi et al. ICSR 2018
|
Kicsi et al. ICCSA 2017
|
|
Feature location of variants of an industrial and real-life logistics system written in the Magic 4GL (4th generation language). Features are provided in a tree-structure with information provided in natural language text for each one.
|
Industrial |
No |
Source code |
Magic |
Feature location |
No |
Textual Similarity (LSI) in Kicsi et al. ICCSA 2017, and Static Call Graph and Textual Similarity (LSI) in Kicsi et al. ICSR 2018. |
|
19 |
|
|
|
|
Independently fitting each company requirements
|
Yes
|
31 (Second level features) mentioned in Kicsi et al. ICCSA 2017. In Kicsi et al. ICSR 2018, 10 on top level and more on lower levels |
|
Yes |
Domain experts |
No |
Yes |
Yes |
|
|
No |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
PKJab |
Linsbauer et al. SSBSE 2014 |
|
Link and download superimposition examples |
Chat messenger SPL developed by P. Wendler (U Passau) |
Academic |
Yes |
Variability model |
Feature model |
Feature model synthesis |
No |
Genetic algorithms |
|
1 |
|
12 features |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Pooka Email Client |
Ali et al. ICSM 2011 |
|
Single system: link. Some data from the extraction: link |
A mailing system that wants to be decomposed in features to be used in mobile devices. They call it miniaturization of a given system. |
Open source |
Yes |
Source code |
Java |
Feature identification, feature constraints discovery, reusable assets extraction |
No, there are some information in the mentioned website but we were not able to find the feature names or download the traceability tool. |
Information retrieval for feature location |
|
1 |
N/A |
244870 LOC |
|
|
|
|
93 functional and 25 non-functional |
|
Not found |
Analysing pre-requirements of the customers and stakeholders |
|
|
|
|
|
|
40% correct feature traces, i.e., 128 traces |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Manual Time: We took ∼ 135 hours to recover the 318 feature traces for Pooka. Automatic Time: It took us ∼ 21 to generate and to manually validate the feature traces and corresponding features for Pooka. |
|
|
Power control and protection system |
Breivold et al. SEAA 2008 |
|
|
Different teams sharing a core, overlapping features, lack of traceability of product features. "The main trigger was to build a common platform that can be shared between two business units and enable component reusability" |
Industrial |
No |
Source code |
C and C++ |
Feature identification, feature location, reusable assets extraction |
No |
Manual analysis of existing documentation, implementations and workshops with the stakeholders. |
Different teams, overlapping features, lack of traceability of product features |
More than 1 (number not mentioned) |
N/A |
2000000 LOC |
|
|
A core was shared in the organization and then different teams start building the variants from this core without a formalized approach to reuse previous features implemented in other variants. |
They report overlapping features implemented by different development teams. |
Not mentioned |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The definition of the PLA is part of their approach. Manual definition.
| |
Prevayler |
Linsbauer et al. SSBSE 2014,
Tang and Leung ICEIS 2015 |
Prevayler |
SPL2Go |
In-memory database |
Open source |
Yes |
Variability model |
Feature model |
Feature model synthesis |
No |
Genetic algorithms |
|
1 |
|
6 features |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Printworks |
Li et al. SEKE 2005 |
|
|
|
Industrial |
No |
Source code |
CSharp |
Feature identification, feature location |
No |
|
|
1 |
|
|
|
|
|
|
Only an excerpt is shown with 8 features |
|
Only the ones in the excerpt |
Manually by them |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Project Management tools |
Noor et al. CEE-SET 2008 |
|
Ganttproject Project factory |
Two projects of the project management domain where we can check the reuse potential of its logical components to create a new PL in this domain. "A group of three domain experts developed a product map containing 120 features, 14 domains and three products for the project management domain." and then they tried to locate these features in these systems. First the identified reusable features (logical components) and then they mapped them to their initial list. |
Open source |
Yes |
Source code |
Java |
Feature identification, Feature location, Assessment of reuse potential |
No |
Manual (Look at the source code packages and identify possible logical components based on your experience, they call it thinklet LeafHopper) |
|
2 |
N/A |
46 KLOC |
Project Factory is 16 packages, 140 classes and 29 KLOC |
Gantt Project is 51 packages, 492 classes and is 63 KLOC |
The variants are two independent open-source projects of the same domain. |
Independently created. Both in Java. |
23 logical components identified in the Gantt project that might correspond to features |
|
Yes |
Manually |
Only in 1 of them, the other is not mentioned |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
QlikView |
Nöbauer et al. CAiSE 2014 |
|
|
"a product for data analysis and business intelligence." |
Industrial |
No |
Configuration settings |
XML file |
Assessment of reuse potential, similarity analysis |
No |
Similarity analysis |
|
54 from 12 customers in 6 different industry branches |
|
|
|
|
"Business intelligence applications such as QlikView are built in tight collaboration with the customers’ decision makers, and therefore are more individual than a standard software product. Still, domain experts at InsideAx believe there is a common set of recurring QlikView measures on most business "areas and industry branches. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SELEX Sistemi Integrati Systems |
Falessi et al. ESEM 2010 |
|
SELEX |
A company in the defense and aerospace domain " started the development of five different products (systems of systems)" |
Industrial |
No |
Requirements |
Text documents |
Feature identification, Similarity analysis |
No, but tools mentioned PROUD, Proactive Reuse OpportUnity Discovery tool: PROUD. ANTARCTICA, Automatic characterizatioN of naTural lAnguage pRoCessing meThods for estimatIng semantiC similarity: Antarctica |
Natural language processing |
Case study used to check the results of requirements similarity approaches. |
5 |
N/A |
496 Requirements. 2483 for the 5 variants |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SensorNetwork |
Linsbauer et al. SSBSE 2014 |
|
The authors mention these links but this was not found link , link and link |
|
N/A |
Not found |
Variability model |
Feature model |
Feature model synthesis |
No |
Genetic algorithms |
|
1 |
|
27 features |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ShirtsMyWay web configurator |
Abbasi et al. CSMR/WCRE 2014 |
|
Broken link to data: link. ShirtsMyWay |
"A configurator that allows customers to design their shirts" |
Industrial |
Yes |
Source code |
Web |
Feature model synthesis |
No |
Crawling the web configuration and extracting data patterns in the websites |
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Siemens VAI MSS tool |
Dhungana et al. ASE 2011 |
Grünbacher et al. ASE 2009 |
|
MSS (Maintenance and Setup Systems) tool. An "Eclipse Rich-Client Platform used by developers and metallurgists to supervise and maintain the CC-L2 automation system." "Applying product line concepts in our tool development processes" |
Industrial |
No |
Components |
Eclipse plugins |
Feature identification, feature location, feature constraints discovery, variability model synthesis, reusable assets extraction |
No |
Manual analysis |
"Adapted to 20+ customer environments per year". The analysis only consisted at the level of plugins. |
1 |
|
More than 100 plugins with around 200 KLOC. 20 Eclipse features already defined. |
|
|
|
|
Not mentioned |
|
No, a partial view of the decision model in the paper and some names in the text |
Manual |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SIP Communicator |
Ali et al. ICSM 2011 |
|
Single system: link. Some data from the extraction: link |
A web-based communication system that wants to be decomposed in features to be used in mobile devices. They call it miniaturization of a given system. |
Open source |
Yes |
Source code |
Java |
Feature identification, feature constraints discovery, reusable assets extraction |
No, there are some information in the mentioned website but we were not able to find the feature names or download the traceability tool. |
Information retrieval for feature location |
|
1 |
N/A |
486966 LOC |
|
|
|
|
82 functional, 20 non-functional |
|
Not found |
Analysing pre-requirements of the customers and stakeholders |
|
|
|
|
|
|
44% correct feature traces, i.e., 63 traces |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Manual Time: We took ∼ 171 hours to recover the 830 feature traces for SIP. Automatic Time: It took us ∼ 30 hours to generate and to manually validate the feature traces and corresponding features for SIP. |
|
|
Smart Home |
Araújo et al. SAC 2013,
Alves et al. SPLC 2008,
Weston et al. SPLC 2009 |
Pohl et al. Book 2005 |
Ample project |
The Smart Home case study defines a SPL targeted to embedded systems, in the context of home automation. SPL for houses with devices and sensors interacting with its inhabitants in order to achieve comfort, safety, and security goals |
Industrial |
No |
Requirements |
UML + AOP |
Design process of SPLs. Discovery of FMs |
No |
Heuristics, Model transformation, Clustering |
Link |
|
|
|
|
|
|
|
Weston et al. SPLC 2009 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Softpedia Repository |
Hariri et al. TSE 2013,
Yu et al. Internetware 2013,
Bagheri et al. ASE 2012 |
Bagheri et al. ASE 2012 |
Softpedia |
Softpedia.com indexes hundreds of thousands of software products. |
Public Repository |
Yes |
Product descriptions |
Feature descriptors |
Features Recommendation |
|
Clustering, rule-based, k-means |
|
117,265 products |
|
493,347 feature descriptors were retrieved from 117,265 products, categorized under 21 categories and 159 sub categories. |
|
|
|
|
493,347 feature descriptors |
|
feature descriptions |
From products description |
Yes |
Yes |
Yes |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SPLOT Feature Models |
She et al. IST 2014,
Bécan TechReport 2013,
Bécan et al. TechReport 2013,
Haslinger et al. WCRE 2011,
Lopez-Herrejon et al. JSS 2015 |
Mendonca et al. OOPSLA 2009 |
SPLOT |
Online repository of feature models created by very diverse authors |
Public Repository |
Yes |
Variability model |
Feature model |
Feature model synthesis |
|
Very diverse, each author uses this repository in their own way. |
We cannot consider this as variants. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Statemachine metamodels |
Méndez-Acuña et al. ICSR 2016 |
Crane and Dingel SoSyM 2007 |
Github |
Variants of Statechart meta-models and its operational semantics used to extract Language modules. |
Open source |
Yes |
Models and Source Code |
Meta-models as Ecore models with operational semantics in Java |
Feature identification, Reusable assets construction |
Yes |
Overlap analysis |
They intentionally call Modules the extracted assets instead of Features. However, we put them as number of features. The tool for the analysis is available here: https://github.com/damenac/puzzle |
3 |
N/A |
|
|
|
|
|
5 |
|
No, they are just numbered Modules |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Sudoku |
Tang and Leung ICEIS 2015 |
Apel et al. ICSE 2009 |
Link, download superimpositionExamples |
The sudoku puzzle game |
Academic |
Yes |
Source code |
Java |
Feature identification, feature location, feature model synthesis, extraction of reusable assets |
JFeTkit (Java Feature Mining Tookit) not available |
Dependency graphs, information retrieval |
It is not clear if they use one variant or generated ones. Apparently 1. |
1 |
|
1975 LOC |
|
|
|
|
5 |
|
|
|
|
|
|
|
|
Yes |
Avg. precision of 40% and avg. recall close to 100% |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Suppliers offerings |
Acher et al. VaMoS 2012 |
Hartmann et al. SPLC 2009 |
VariCell |
|
Illustrative |
Yes |
Documentation |
Table |
Feature identification, feature model synthesis |
|
|
|
3 |
N/A |
|
|
|
|
|
9 synthetised with their approach |
|
Yes |
Using their heuristic |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Text Editing System SPL |
AL-Msie'Deen et al. JLDP 2012 |
|
Information: Link Variants: Link |
Variants of a text editing system. |
Academic |
Yes |
Source code |
Java |
Feature identification, feature location |
No |
Formal concept analysis and information retrieval (Latent Semantic Indexing) |
The feature model is presented with 72 possible configurations but 8 variants are provided. |
8 |
N/A |
372 LOC in the available variant |
|
|
Not mentioned, manual |
No |
22 |
11 |
Yes |
Manual |
Yes |
No |
No |
|
|
Yes |
|
Yes |
|
|
|
2 |
Yes |
Yes |
No |
No |
No |
Yes |
|
No |
|
|
|
|
|
|
|
|
|
TimelineJS |
Rodrigues Santos et al. SPLC 2016 |
Silva et al. SANER 2015 |
The original system: Qualitas.js Dataset The extracted SPLs: Github |
Some characteristic in the "features list" of the open-source (sometimes available in the project web site) were extracted from a single product and a feature model and SPL were created. The objective was to show RIPLE-HC capability to implement javascript SPLs. |
Open source |
Yes |
Source code |
Javascript |
Feature identification, Feature location, Feature Model Synthesis, Reusable assets construction |
No |
Manual feature identification and extraction. |
|
1 |
|
18237 LOC, 89 Modules |
|
|
|
|
15 |
|
Yes |
Manually from project descriptions |
|
|
|
|
|
Information in the manually extracted reusable assets |
|
Yes |
|
No |
|
2 |
No |
Yes |
Yes |
|
No |
Yes |
|
Yes |
Syntactically valid. Behavior was not checked. |
|
|
|
|
|
|
|
|
Traffic management systems |
Niu et al. IEEESystJ 2014 |
|
|
"A set of traffic management systems of a multidisciplinary organization offering services in many areas of practice, including transportation and systems. " |
Industrial |
No |
Requirements |
Text documents |
Similarity, feature identification, reusable assets construction |
No |
Information retrieval, natural language processing |
Requirements follows the IEEE-830 standard in a textual form. Extracted reusable assets are called "functional requirements profiles (FRPs)" |
4 |
N/A |
5884 kB file size |
|
|
|
|
Not mentioned |
|
No, some of them are named in an OVM variability model. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Yes, their approach was compared with manual analysis. |
|
|
Trek Bikes catalog |
Acher et al. VaMoS 2012 |
SPLOT feature configuration |
VariCell SPLOT |
A catalog of Trek bikes with different characteristics |
Open source |
Yes |
Documentation |
CSV file |
Feature identification, feature model synthesis |
|
|
They conducted 3 experiments "to change the number of configurations and features" |
376 |
N/A |
|
|
|
Catalog |
|
549 |
|
Yes |
Using their heuristic |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
uClibc |
Nadi et al. TSE 2015 |
|
uClibc |
"uClibc is an alternative, resource-optimized C library for embedded systems", Customizable C code, KConfig variability model |
Open source |
Yes |
Source code |
C |
Feature constraints discovery |
Yes, link |
Dependency analysis |
|
1 |
|
1,628 Files |
|
|
|
|
367 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Yes, Kconfig model |
|
|
|
|
|
|
|
|
|
|
|
Vending Machine |
Martinez et al. ECMFA 2014,
Martinez et al. SPLC 2016 |
Istoan et al. VaMoS 2011 |
BUT4Reuse examples |
Variants of statechart models of vending machines. Illustrative example. |
Illustrative |
Yes |
Model |
Yakindu SCT models |
Feature identification, feature naming |
Yes |
Overlap analysis |
|
6 |
N/A |
20 classes, 19 attributes, 17 references |
18 classes, 17 attributes, 15 references |
23 classes, 22 attributes, 20 references |
Manual |
No |
7 |
6 |
Yes |
Manual |
Yes |
No |
No |
100% |
|
Yes |
|
No constraints apart from requires to the core feature. |
|
|
|
|
No |
No |
No |
No |
No |
No |
|
No |
|
|
|
|
|
|
|
|
|
Video On Demand |
Linsbauer et al. SPLC 2013,
Fischer et al. ICSME 2014 |
|
Broken link: link |
Linsbauer et al. "Simple video streaming applications" |
Academic |
No |
Source code |
Java |
Feature location |
No |
Overlap analysis, graph analysis |
"We generated all possible products and used them for evaluation." |
N/A |
32 |
|
4.7 KLOC |
5.2 KLOC |
Generated from an SPL |
No |
11 |
5 |
Not found |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
video.js |
Rodrigues Santos et al. SPLC 2016 |
Silva et al. SANER 2015 |
The original system: Qualitas.js Dataset The extracted SPLs: Github |
Some characteristic in the "features list" of the open-source (sometimes available in the project web site) were extracted from a single product and a feature model and SPL were created. The objective was to show RIPLE-HC capability to implement javascript SPLs. |
Open source |
Yes |
Source code |
Javascript |
Feature identification, Feature location, Feature Model Synthesis, Reusable assets construction |
No |
Manual feature identification and extraction. |
|
1 |
|
7939 LOC, 38 Modules |
|
|
|
|
13 |
|
Yes |
Manually from project descriptions |
|
|
|
|
|
Information in the manually extracted reusable assets |
|
Yes |
|
No |
|
2 |
No |
Yes |
No |
|
No |
Yes |
|
Yes |
Syntactically valid. Behavior was not checked. |
|
|
|
|
|
|
|
|
Warehouse |
Rubin and Chechik ESEC/FSE 2013 |
Rad and Jabbari Master thesis 2012 |
Not mentioned |
16 variants of a Warehouse system, modeled as UML class diagrams. The system is designed to handle orders, track their status, provide computer support for warehousing workers, keep track of inventory levels in the warehouse, etc. |
Industrial |
No |
Models |
UML class diagrams |
Model merging |
No |
Heuristic algorithm |
|
16 |
|
24.25 classes, 388 elements in total |
15 classes |
44 classes |
Created manually |
Views of different stakeholders |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Washing Machine |
Rubin and Chechik SPLC (MAPLE) 2010 ,
Rubin PhD Thesis 2014 |
Rubin and Chechik SPLC (MAPLE) 2010 |
|
Washing Machine which has several Wash programs. |
Illustrative |
Yes, in the thesis |
Model |
UML class diagram |
Detection, Analysis, Transformation |
No |
Structural Similarity, Set Theory |
|
3 |
|
6 classes each product |
|
|
|
|
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
WebStore |
Rodrigues Santos et al. SAC 2013 |
Ferreira et al. SCP 2011 |
Link |
|
Academic |
Not found |
Source code |
Java |
Feature location |
|
Test-based feature location. Location of feature seed. Use cases and requirements analysis. |
The authors said that the source code is available but it was not found. The feature model is shown in the paper. |
1 |
N/A |
1 KLOC |
|
|
|
|
11 |
4 |
Yes |
Manually by domain experts |
|
|
|
|
|
|
|
No constraints |
|
|
|
|
|
|
|
|
|
|
|
|
|
Yes |
|
|
|
Yes, UML use cases and requirements |
|
|
|
Wget |
Linsbauer et al. SSBSE 2014 |
|
The authors mention these links but this was not found link, link and link |
GNU Wget |
Open source |
Not found |
Variability model |
Feature model |
Feature model synthesis |
|
Genetic algorithms |
|
1 |
N/A |
17 features |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Wiki engines |
Acher et al. VaMoS 2012 |
|
Wikimatrix, link, VariCell |
Information about wiki engines "Each wiki engine describes several characteristics classified in 16 categories (General, Media and Files, Usability, etc.)" |
Open source |
Yes |
Documentation |
XML file |
Feature identification, feature model synthesis |
|
|
They conducted 3 experiments "to change the number of configurations and features" |
154 |
N/A |
|
|
|
Catalog |
|
22 synthetised with their approach |
|
Yes |
Using their heuristic |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Wingsoft Financial Management System |
Xue et al. WCRE 2010,
Xue PhD Thesis 2012 |
Ye et al. ICSR 2009 |
|
A system for students to pay their University fees. |
Industrial |
No |
Variability model and Source code |
Feature model (FM of each product, like a configuration with the relations between the features) and Source code |
Feature model synthesis, Feature lcoation, reusable assets extraction |
No |
Lexical and structural analysis, similarity analysis, feature model merging |
|
4 (they were actually 26 but they took only 4 because they were minor changes) |
|
30 features and 50KLOC |
|
|
"Developers copy-pasted and modified existing product variants when building a new product variant." |
|
54 (shown in a figure) |
33 |
Yes, and small description of each feature |
Domain experts |
Yes |
|
|
|
|
|
|
|
|
|
|
|
Yes |
Yes |
|
|
|
Yes |
|
|
|
|
|
|
|
|
|
|
|
WV CCHIT Health |
Lohar et al. ESEC/FSE 2013 |
|
Broken link: coest.org -> This works: TraceLab but not found. Wayback machine: not possible to download without registering in their system |
This is a set of regulatory standard codes and how they are mapped to a set of requirements. |
Industrial |
No, authors include reference but not available anymore |
Regulatory standards and requirements |
|
Software traceability in general (related to feature location) |
No |
Genetic algorithm evolving traceability algorithms, fitness function based on known correct traces |
Check references in the paper to find more info or try to locate the artifact |
|
|
453 Reg. codes (regulatory standard codes) linked to 958 requirements |
|
|
|
|
|
|
|
|
|
|
|
|
|
Yes |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x264 Library |
Linsbauer et al. SSBSE 2014 |
|
The authors mention these links but this was not found link, link and link |
Video streams encoder |
Open source |
Not found |
Variability model |
Feature model |
Feature model synthesis |
|
Genetic algorithms |
|
1 |
N/A |
17 features |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Xfig System |
Eisenbarth et al. CSMR 2001 |
|
Xfig, Link, Link |
"Xfig is a menu-driven tool that allows the user to draw and manipulate objects interactively under the X Window System" |
Open source |
Yes |
Source code |
C |
Feature location |
No |
Formal concept analysis |
|
1 |
|
76 KLOC |
|
|
|
|
Not mentioned |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ZipMe |
Linsbauer et al. SSBSE 2014, Fischer et al. ICSME 2014 |
|
Link and download the superImposition examples |
|
Academic |
Yes |
Source code |
Java |
Feature location, feature model synthesis |
Yes for Fischer et al. ICSME 2014 |
Overlap analysis, genetic algorithms |
|
N/A |
32 |
|
5 KLOC |
6.2 KLOC |
Generated |
No |
7 |
|
Yes |
|
Yes |
No |
No |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Siemens VAI Steel Plant Automation Software (CC-L2) |
Dhungana et al. ASE 2011 |
Dhungana et al. JSS 2010 |
|
Siemens VAI Metals Technologies CC-L2 (Continous Casting Level 2) product line of steel plant continuous casting automation software including process supervision, optimization, material tracking etc. "Understanding variability is relevant as it is frequently configured to match the needs of different customers" |
Industrial |
No |
Source code |
Java, Spring Framework |
Feature identification, feature location, feature constraints discovery, reusable assets extraction |
No |
Variability mining from Spring XML files, checking feature constraints consistency with a tool, and manual analysis (unstructured interviews, workshops, tutorials and joint modeling sessions, observations and think aloud protocols, archival data, questionnaires) |
|
1 |
N/A |
1.6 MLOC |
|
|
|
|
6 decision models, avg. size of 16 decisions. |
The same as the number of features as it is a decision model with no mandatory features. |
An excerpt of the decision model is shown in a figure |
"a Spring Importer for mining the variability in existing component descriptions files" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
An excerpt of the decision model is shown in a figure |
|
|
97 assets. Components based on Spring, Java properties. Selection and parameterization of components. |
|
|
|
|
|
4 years of case study |
|
|
IEC 61499 Industrial Automation System |
Dhungana et al. ASE 2011 |
Froschauer et al. SEAA 2008 |
|
Architecture for industrial automation systems consisting of multiple physically and logically distributed components. Runtime variability of installed function blocks to support runtime reconfiguration. |
Industrial |
No |
Source code |
IEC 61499 function blocks, Java, C++ |
Feature identification, feature location, feature constraints discovery, reusable assets extraction |
No |
Manual analysis (unstructured interviews, tutorials and joint modeling sessions, observations and think aloud protocols, archival data, questionnaires) |
|
1 |
N/A |
200 Function Blocks |
|
|
|
|
17 decision models, avg. size of 10 decisions. The publication shows data of the energy management application and the bottle sorting plant. |
The same as the number of features as it is a decision model with no mandatory features. |
An excerpt is shown in an screenshot of the ControlKing tool and another figure shows a decision model |
Manually |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
An excerpt is shown in an screenshot of the ControlKing tool and another figure shows a decision model |
|
|
65 assets. Components based on Function Blocks using 4DIAC, IEC 61499 for rewiring and runtime reconfiguration. |
|
|
|
|
|
2.5 years of case study |
|
|
BMD .NET-based Business Software |
Dhungana et al. ASE 2011 |
Rabiser et al. HICSS 2009 |
BMD |
Variability of business applications in terms of user-visible features. They focus on a subsystem called BMDCRM. |
Industrial |
No |
Components |
Plugins, .NET Libraries |
Feature identification, feature location, feature constraints discovery, reusable assets extraction |
No |
Manual analysis (unstructured interviews, tutorials and joint modeling sessions, archival data, questionnaires) |
|
1 |
N/A |
20 plugins and 28 components for the core system (890 KLOC of C# in total) |
|
|
|
|
16 decisions. |
The same as the number of features as it is a decision model with no mandatory features. |
An excerpt of the decision model is shown in a figure |
Manually |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
An excerpt of the decision model is shown in a figure |
|
|
32 assets. Components based on .NET assemblies for their selection and on-the-fly activation of .NET libraries |
|
|
|
|
|
1.5 years of case study |
|
|
ApoGames |
Krüger et al. SPLC (REVE) 2017,
Fenske et al. SANER 2017 |
|
ApoGames |
Five Android games: Dice, Clock, MonoDroid, Snake and MyTreasure. |
Open source |
Partly, On request: Dirk Aporius (developer) - dirk.aporius@googlemail.com University of Madgeburg - Databases and Software Engineering Working Group |
Source code |
Android, Java |
Feature identification, feature location |
|
Clone detection |
|
5 |
|
4168 LOC |
2504 LOC |
6483 LOC |
Different cloned games from the same developer |
Yes |
13 |
4 |
Yes |
Manual feature location |
Yes |
No |
Yes |
|
|
|
|
|
|
|
|
|
Yes, 5 |
|
Yes, 1 |
|
|
|
|
|
Yes |
|
|
|
|
|
|
|
|
Robocode |
Martinez et al. SPLC 2018 |
|
Robocode,
Robowiki,
Example of variants repository,
Example of bot architecture,
Robocode SPL
|
An SPL created using available feature information, code snippets and variants from the Robocode community. It is intended to be used mainly for teaching SPL adoption. In Martinez et al. SPLC 2018, the effort was predefined to be 3 months for 6 Master students. |
Academic |
No, only upon request. This is to prevent students to get a solution of the extracted SPL. |
Source code |
Java |
Feature identification, feature location, feature model synthesis, reusable assets construction, SPL implementation |
Yes, material is available to be used as a teaching activity |
Manual |
|
Thousands of available bot implementations from the Robocode community. |
|
|
|
|
Manually by each developer in the Robocode community |
Yes, however they share snippets in the wiki or they can reuse code from open source bots. |
115 features were the result of the extraction |
93 optional behavioral features |
|
Manually, based on the names given by the Robocode community. The Robowiki was the main source of information for this. |
Only for those variants that contained this information in the Robowiki. |
Yes |
Yes |
|
|
No |
|
No |
|
Yes |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The effort was predefined to be 3 months for 6 Master students. |
|
Yes, the architecture was imposed. The Module Framework for Robocode bots. |
ArgoUML SPL JVM Bytecode |
Ziadi and Messan Hillah ICECCS 2018 |
Vinicius Couto CSMR 2011 |
Info and variants |
The variants of ArgoUML SPL as Java Virtual Machine bytecode. |
Academic |
Yes |
Source code |
JVM Bytecode |
Feature identification, feature location, feature model synthesis |
Yes, dataset and instructions are provided |
Interdependent elements for block identification, VariClouds for feature identification, Alternatives before hierarchy for feature model synthesis |
|
8 |
|
25717 atomic bytecode elements |
24282 atomic bytecode elements |
26289 atomic bytecode elements |
Variants are created with the ArgoUML SPL and then JVM bytecode was created from the Java source code. |
|
8 |
7 |
Yes |
|
|
|
|
|
|
|
|
|
|
Yes |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Industrial Pascal Modules |
Rosiak et al. SPLC (VariVolution) 2019 |
|
|
7 variants of Pascal Modules |
Industrial |
No |
Source Code |
Pascal |
Feature identification |
|
Pair-wise comparisons with tailored similarity metric specific for Pascal source code |
|
7 |
|
13271 LoC |
|
|
Each module variant was developed for a specific project with different requirements. 25 years of industrial legacy software which was evolving. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CPPS 3D-printed Truck |
Meixner et al. SPLC (REVE WEESR) 2021 |
Meixner et al. SPLC (REVE WEESR) 2021 |
CPPS Variability Case Studies: Github |
Case study of a simple 3D-printed truck product line manufactured on an academic production system |
Industrial |
Yes |
Documentation, Industrial Artifacts (PPR DSL), Feature Models |
|
Feature identification |
Yes |
Extraction of variants from the case study data to an industrial domain-specific language supporting variants and transformation to feature models |
|
4 |
|
|
|
|
Each variant was extracted from interviews and the case documentation to an industrial domain-specific language |
|
13 |
8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
1 |
3 |
|
|
|
|
|
|
|
|
|
Yes |
|
|
|
|
CPPS Shift Fork |
Meixner et al. SPLC (REVE WEESR) 2021 |
Meixner et al. SPLC (REVE WEESR) 2021 |
CPPS Variability Case Studies: Github |
Case study for a shift fork product line manufactured on an industrial production system |
Industrial |
Yes |
Documentation, Industrial Artifacts (PPR DSL), Feature Models |
|
Feature identification |
Yes |
Extraction of variants from the case study data to an industrial domain-specific language supporting variants and transformation to feature models |
|
4 |
|
|
|
|
Each variant was extracted from interviews and the case documentation to an industrial domain-specific language |
|
25 |
18 |
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
1 |
5 |
|
|
|
|
|
|
|
|
|
Yes |
|
|
|
|
CPPS Water Filter |
Meixner et al. SPLC (REVE WEESR) 2021 |
Meixner et al. SPLC (REVE WEESR) 2021 |
CPPS Variability Case Studies: Github |
Case study for a water filter product line manufactured for a development project |
Industrial |
Yes |
Documentation, Industrial Artifacts (PPR DSL), Feature Models |
|
Feature identification |
Yes |
Extraction of variants from the case study data to an industrial domain-specific language supporting variants and transformation to feature models |
|
8 |
|
|
|
|
Each variant was extracted from interviews and the case documentation to an industrial domain-specific language |
|
55 |
33 |
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
1 |
9 |
|
|
|
|
|
|
|
|
|
Yes |
|
|
|
|
CPPS Rocker Switch |
Meixner et al. SPLC (REVE WEESR) 2021 |
Meixner et al. SPLC (REVE WEESR) 2021 |
CPPS Variability Case Studies: Github |
Case study for a rocker switch product line manufactured for an industrial production system |
Industrial |
Yes |
Documentation, Industrial Artifacts (PPR DSL), Feature Models |
|
Feature identification |
Yes |
Extraction of variants from the case study data to an industrial domain-specific language supporting variants and transformation to feature models |
|
12 |
|
|
|
|
Each variant was extracted from interviews and the case documentation to an industrial domain-specific language |
|
55 |
24 |
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
1 |
15 |
|
|
|
|
|
|
|
|
|
Yes |
|
|
|
|
Phaser CE |
|
Moreira et al. EMSE 2022 |
Phaser-CE, First information about Phaser-CE v2.3.0 custom builds |
Phaser CE (Community Edition) is a game development engine. v2.3.0 introduced the ability of deriving the engine through custom builds, enabling game developers to select the features to use, mainly to improve the performance when loading the game. The single system modularity was improved and variability management was introduced, as well as evolved in the next versions. |
Open source |
Yes |
Source code |
Javascript |
SPL implementation |
|
Manual, reengineering |
|
1 |
|
|
|
|
|
|
|
21 (in v2.3.0), 31 (in v2.5.0) |
Yes |
Manually |
|
|
|
|
|
No, but the information can be extracted. |
|
|
|
|
|
2 |
It is a flat list of features |
1 |
|
|
|
|
|
|
|
|
|
|
Yes |
|
Yes, the original paper analyzed number of commits, time etc. |
|
No |
LGIS Elevator Control Software |
|
Lee et al. SPLC 2000 |
|
Elevator control software initially created with clone-and-own until a product line was adopted to avoid errors |
Industrial |
No |
Requirements, architecture, source code |
|
Reengineering |
|
"Domain analysis, Separation of behavior, function, and implementation or environment. Architecture based software composition and generation" |
The source code is created through code generation techniques (ASADAL specifications). |
|
|
"The core part of ECS in LGIS was composed of 51 modules with 603 functions." After the reengineering, "We have reduced the size and complexity of the software to 48 modules (i.e., components) with 295 functions" |
|
|
|
|
490 features (157 capability, 22 operating environment, 291 domain technology, and 20 implementation technique features) |
|
An excerpt is shown in a figure. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Feature modeling: About 3 months, 8 domain experts, 2 methodologists and 1 moderator. Advice on clarifying the domain boundaries and standardizing domain terminology before feature modeling. |
|
Some architecture diagrams (excerpts) available. |
Weather InSights Environment System (WISE) |
|
Segura et al. ICSE (PLEASE) 2015 |
|
"WISE (Weather InSights Environment) system serves as a central place to gather and present weather related information for decision makers." An extractive approach was followed to create "WISE-SPL enabling the derivation of products for each client and also the deployment on Cloud infrastructure." |
Industrial |
No |
Source code |
JSP, Javascript, Java |
Reenginering |
|
Feature-Architecture Mapping (FArM) method |
|
Not explicit but at least 3 examples are given (WISE for Brazil, China, and Canada) |
|
8000 LoC |
|
|
|
|
48 |
33 |
An excerpt of the feature model is shown |
|
|
|
|
|
|
|
|
|
|
|
|
|
Yes |
Yes |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Testo portable measurement devices |
Kolb et al. SPLC 2006 |
Schmid et al. ICSE 2005 |
|
Testo AG portable measurement devices (e.g., temperature, pressure, humidity, flow rate, and gas concentration) for industry and emission business. "Testo developed their products mostly independently in two different departments – mostly from scratch and partially with some opportunistic reuse." Then they created an SPL. |
Industrial |
No |
Components, Source code |
C |
Reengineering |
|
Scoping, feature location, reengineering to Product Lines. Fraunhofer PuLSE (Product Line Software and System Engineering) |
|
|
|
|
|
|
|
|
"50 decision variables [...] introduced about 100 variation points" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Yes |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Biometric facial and fingerprint recognition devices |
|
Rincón et al. CLEI 2016 |
|
Acople Tecnológico SAS provides biometric facial and fingerprint recognition devices with functional overlaps. |
Industrial |
No |
Source code |
Java |
Feature identification, constraints discovery, feature model synthesis, reengineering |
|
Domain analysis, architecture definition, variability implementation |
|
3 |
|
|
|
|
|
|
30 |
17 |
Yes |
Manually, domain analysis |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Yes |
Pick and Place Unit (PPU) |
Holthusen et al. SPLC (REVE) 2014 |
Vogel-Heuser et al. TechReport 2014, Legat et al. IECON 2013 |
Github with the models and information |
The evolution history of PPU models that can be considered function block diagrams. |
Academic |
Yes |
Models |
SysML |
Family mining (creation of 150\% model and a family model) |
|
Comparison, match, and merge. |
|
15 evolutions (versions), but publications using it did not use all. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Wikon measurement devices |
|
Beyer et al. ICSR 2008 |
|
XENON series of measurement devices. "XENON variants can be distinguished by the measurement sensor, the underlying hardware, the measurement protocol (when and how often are values measured and transmitted), and the GSM message format." The creation of an architecture-centric platform for systematic reuse (previous version of the platform was not very systematic). |
Industrial |
No |
Components, Source code |
C |
Architecture creation, variability implementation |
|
Fraunhofer PuLSE |
|
|
|
41 KLoC is the size of one variant. Other size and complexity metrics available. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A team of 3 persons. They mention that they started the process in 2006 and that it was almost finished at the time of the publication (2008). Once the platform was ready, develpment effort per variant 6 person-months. Testing effort per variant 1.5 or 1 person-months. |
They compare the savings (in person-months) with the previous platform that was based mainly in ad-hoc reuse. |
|
Dialect Solutions: Internet payment gateway infrastructures |
|
Staples and Hill APSEC 2004 |
|
The extractive adoption of a product line with variability at file-level. |
Industrial |
No |
Source code |
|
|
|
|
An illustrative example uses Java but unclear if the system is in Java. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Pocket Code |
|
Kumar Luhana ICIRD 2018 |
Github |
Pocket Code is an IDE to create mobile apps for the block-based visual programming language Catrobat. Different variants existed and a derivation mechanism for variants based on Gradle and Jenkins was implemented. |
Open source |
Yes |
Source code |
Java |
|
|
|
|
At least 5 are mentioned as examples. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Microservice-based webshops |
Benni et al. SPLC 2020,
Setyautami et al. SPLC 2020,
Mendonça et al. CEC 2020
|
Assunção et al. SPLC 2020 |
SPLC variability challenge website, Github with the variants and information. |
Six selected variants of microservice-based webshops. |
Open source |
Yes |
Source code |
Diverse technologies per variant (e.g., Java, Node.js, Docker etc.) |
Feature identification, feature location, feature model synthesis, PLA architecture definition, SPL reengineering |
|
Genetic algorithms for feature model synthesis. UML-Delta-Oriented Programming profile to abstract microservice variability in SPLE. Dependency analysis to reason on interchangeability. |
|
6 |
|
8 microservices |
7 microservices |
11 microservices |
|
Yes |
|
|
|
|
|
Yes |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Yes |
|
|
|
|
Salion’s Revenue Acquisition Management Systems |
|
Clements and Northrop TechReport 2002,
Buhrdorf et al. PFE 2003
|
SPLC hall of fame |
A startup adopting an SPL from a single system. Extractive but mainly reactive. Gears tool used to implement variability. |
Industrial |
No |
Source code |
JavaServer Pages (JSP), Java, CORBA, EJB, SQL |
Variability implementation |
|
|
|
1 |
|
40 modules, 150 KLoC |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 person-months to start adding variability |
|
|
Operational flight program of the A-7E (OFP) |
|
Bass et al. Book 1998 (This is the reference in the SPLC hall of fame, but unclear where to find information)
|
SPLC hall of fame |
"Software that assists the pilot of the Navy’s A-7E aircraft." "The OFP was redesigned [...] to show how to apply family-based software development principles in the development of a hard real-time system. Commonalities and variabilities were explicitly identified starting in the requirements specification for the family, and were a strong driving factor in the modular design of the OFP." |
Industrial |
No |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Emergency response missions with UAVs |
|
Cleland-Huang et al. SPLC 2020
|
Use cases of UAVs |
"Different missions share many common tasks but also exhibit unique characteristics." Part of the DroneResponse project. |
Academic |
Yes |
Documentation |
Use case descriptions |
Feature model extraction, SPL activity diagrams creation |
|
Inidividual modelling of features and activity diagrams for the different use cases and then merging them. |
|
7 use cases |
|
|
|
|
|
|
Excerpt shows more than 40 |
|
Yes |
Merging the features of all use cases' feature models |
Yes |
|
|
|
|
|
|
|
|
|
|
|
Yes |
Yes |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
KfW retail loans |
|
Fritsch et al. SPLC 2020
|
|
"We start from use case descriptions created in conjunction with stakeholders, transform them into mission-specific FMs and activity diagrams, which we then merge into PL-level models." |
Industrial |
No |
Documentation |
Use case descriptions |
Feature model creation |
|
|
|
|
|
|
|
|
|
|
940 |
|
Excerpt of feature model is shown (in German) |
|
|
|
|
|
|
|
|
|
|
|
|
|
Yes |
Yes |
|
|
|
|
|
|
|
|
|
|
|
|
"After one week, the feature tree presented about 60 % of the features of the KfW programs systematically and redundancy-free." |
|
|
Barbados Car Crash Crisis Management System SPL (bCMS-SPL) |
Reuling et al. JOT 2019, Schultheiß et al. SPLC 2020 |
Capozucca et al. MODELS (CAM) 2011, Capozucca et al. TechReport 2011 |
|
System to manage crisis situations between police and fire departments. The SPL was created from scratch but derived variants were used for model matching and merging research. |
Academic |
Yes |
Models |
Object-oriented implementation models |
N-way model matching and merging |
|
|
|
15 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|