ESPLA Catalog

Current number of case studies:
How to use: Sort and filter the different columns to find the case studies that fit your needs.
How to add or modify: Create an ESPLA issue describing the change, or create a Pull request with the modification.
Do you want to know more? Go back to the main website of the ESPLA catalog or read this paper.
Export current data to:
Name Publications using it Original publication of the system Websites Brief description Origin Available Type of artefact Detailed type of artefact Used in which activities Easy to reproduce Strategies used to tackle the problem Free comments Number of variants Max. number of variants in the case of generation Average size Min. size Max. size How the variants are generated Are the variants created independently? Number of features Number of optional features List of feature names available How these features were identified and named? Information of which features are implemented in each variant? Feature implemented independently in different variants Feature with modifications from one variant to another 2-wise coverage of the features in the variants Feature-based jaccard index (similarity) Ground-truth for feature location Precision and recall reported for feature location Ground-truth for feature constraints discovery Reported results for feature constraints discovery Features with cross-cutting behavior Semantic feature constraints (not only structural) Constraints degree? Requires or excludes (degree 2) Group of features, Alternative Group of features, Or Abstract features Derivative features due to feature interactions or feature negation Stakeholders views of the var model Ground-truth for feature model synthesis Reported results for feature model synthesis Ground-truth for reusable assets extraction Reported results for reusable assets extraction Testing assets Execution traces Domain ontology Version control history Documentation Human effort mentioned Costs or cost model mentioned PLA Reference Architecture available?
Name Publications using it Original publication of the system Websites Brief description Origin Available Type of artefact Detailed type of artefact Used in which activities Easy to reproduce Strategies used to tackle the problem Free comments Number of variants Max. number of variants in the case of generation Average size Min. size Max. size How the variants are generated Are the variants created independently? Number of features Number of optional features List of feature names available How these features were identified and named? Information of which features are implemented in each variant? Feature implemented independently in different variants Feature with modifications from one variant to another 2-wise coverage of the features in the variants Feature-based jaccard index (similarity) Ground-truth for feature location Precision and recall reported for feature location Ground-truth for feature constraints discovery Reported results for feature constraints discovery Features with cross-cutting behavior Semantic feature constraints (not only structural) Constraints degree? Requires or excludes (degree 2) Group of features, Alternative Group of features, Or Abstract features Derivative features due to feature interactions or feature negations Stakeholders views of the var model mentioned Ground-truth for feature model synthesis Reported results for feature model synthesis RGround-truth for reusable assets extraction Reported results for reusable assets extraction Testing assets Execution traces Domain ontology Version control history Documentation Human effort mentioned Costs or cost model mentioned PLA Reference Architecture available?
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