Faculty of Computer Science Workgroup Databases & Software Engineering

PROFilE: Personalized RecOmmender Feature-based systEm

PROFilE provides visual support for personalized recommendations of features to ease the product configuration process.


In today's competitive market, mass production has given way to mass personalization, which means to satisfy particular needs of each specific customer. In product-line literature, mass personalization of products is known as product configuration process. However, the actual process of configuration of large product lines with complex feature dependencies is still challenge.

We identify the following main challenges faced by industries when using configurator tools:

  • Industry product lines often contains too many options and complex relationships
  • Decision makers are usually unsure about users needs when confronted with a big set of choices
  • It is difficult to define a valid configuration since often users specify requirements that are inconsistent with the feature model's constraints, and also features of no interest need to fulfill the feature model's dependencies

To address these challenges, we propose a a personalized recommender system IDE that support users in the product-configuration process.

Our IDE, called PROFilE (Personalized RecOmmender Feature-based systEm), is an extension of the Eclipse plug-in FeatureIDE to dynamically support the product configuration process. PROFilE benefits from a simplified view of a feature model to dynamically generate recommendations that are used to support the users selecting features.

PROFilE implements the following features:

  • Full Eclipse and FeatureIDE Integration
  • Focused and Highlighting View
  • Feature-Based Personalized Recommender System
  • Recommendation Algorithms
    • Average Similarity (AS)
    • Neighbourhood-Based Collaborative Filtering (kNN-CF)
    • Biased Regularized Incremental Simultaneous Matrix Factorization (BRISMF)
    • Collaborative Filtering Hoeffding (CF-Hoeffding)
    • Collaborative Filtering Shrinkage (CF-shrinkage)
    • Collaborative Filtering Significance Weighting (CF-sig.)
    • Context-Aware Multi-Dimensional Tensor Factorization (TF) - "in progress"
  • PROFilE is under constant development...


In the following, we report selected publications with the main aim to demonstrate or describe the PROFilE's functionality.

*Please, when using our datasets of configurations make a reference to the corresponding work.


Source Code

The source code is available on PROFilE Tool Support.

If you do not have Eclipse and FeatureIDE installed, you might choose the current version of both tools.


In order to demonstrate the performance of our recommendation approaches, we have used two real case studies derived from business experience and two case studies derived from the product line literature. Before using these datasets, please review the README file for the usage license and other details.


    54 configurations from a pool of 135 features, 5 context dimensions, and billion of possible different valid product variants.

  • README.txt
  • Feature Model
  • Dataset of Configurations
  • Experiment Results
  • To obtain the dataset of configurations, we conducted an a priori experiment with 27 product line experts. The students were asked to solve a given configuration task, consisting of three subtasks: (i) analyze the "Library Feature Model"; (ii) configure two real-world libraries based on the model; and (iii) briefly describe the requirements specification for the created configurations.

Related Tools

  • FeatureIDE: An Eclipse plug-in for Feature-Oriented Software Development.
  • VariaMos: Provides a collection of recommendation heuristics for improving the product line configuration process.
  • INVAR: Supports distributed product configuration by integrating heterogeneous variability modeling approaches.
  • AUFM: Dynamic decision models for staged software product line configuration.
  • FRoGs: A Visualisation Paradigm for Feature Constraints in Software Product Lines.


PROFilE is developed at the University of Magdeburg, Germany. It is open source, to acquire the source code download it above. For information about the project, technical questions and bug reports: please contact the PROFilE development team.

PROFilE project members: