Skip to content

EmilianoSanchez/Feature-Model-Framework

Repository files navigation

Feature-Model-Framework

A JAVA library for building and optimizing feature models (FMs).

The library includes:

  • Utils for building FMs.
  • An original algorithm called Configuration Selection Algorithm (CSA) for solving the FM optimization problem.
  • A set of experiments for comparing CSA variants with alternative approaches, using synthetic and real models.

Running the experiments

This chapter describes the steps to get started and run the experiments.

  1. Install the Java Development Kit 8 or higher.
  2. Download the project from Github.
$ git clone git://github.com/EmilianoSanchez/Feature-Model-Framework.git
  1. Unzip files at Models subfolder:
    • Models/SPLOT-models/SPLOT-models.zip
    • Models/Thor-attributes-Sample1/Thor-attributes-Sample1.zip
    • Models/Thor-attributes-Sample2/Thor-attributes-Sample2.zip
  2. Delete the zip files.
  3. Run the experiments from the Eclipse IDE or console. The experiments are described below:
    • edu.isistan.fmframework.evaluation.Experiment_1.java: this experiment evaluates the response time and optimality degree of the CSA algorithm variants using randomly generated features models.
    • edu.isistan.fmframework.evaluation.Experiment_2.java: this experiment evaluates the response time, optimality degree, and completeness of the CSA approximate variants with other approximate approaches. It uses real models from the SPLOT repository.
    • edu.isistan.fmframework.evaluation.Experiment_3.java: this experiment evaluates the response time of the CSA exact variants with other exact approaches. It uses real models from the SPLOT repository.
    • edu.isistan.fmframework.evaluation.Experiment_4.java: this experiment evaluates the response time and optimality degree of the CSA variants with problem instances that involves feature interactions. It uses real models from the SPLOT repository, enriched with attributes generated by the Thor tool.
  4. Output results are stored in Results subfolder.

About

A JAVA library for building and optimizing feature models

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages